Respondida Imprimir pdf automaticamente

  • martes, 21 de agosto de 2007 7:22
     
     
    Muy buenas
    ¿existe alguna manera de poder imprimir un archivo pdf automaticamente desde un enlace sin necesidad de abrirlo primero?
    Gracias de antemano

Todas las respuestas

  • martes, 21 de agosto de 2007 12:11
     
     Respondida

    Bueno, pues ya he encontrado la manera de hacerlo:

    Ahi dejo el codigo por si le puede valer a alguien o si alguien lo puede mejorar

     

    Code Snippet

    <html>
    <head>
    <title>Imprimir PDF</title>
    </head>
    <body>
    <script language="VBScript">

      sub Imprimir_PDF()
        dim i, ruta(3)

        i= 0
        ruta(0)= "c:\1.pdf"
        ruta(1)= "c:\2.pdf"
        ruta(2)= "c:\3.pdf"
      
        for i= 0 to 2
          fnShellExecuteVB ruta(i)
        next
      end sub
     
      function fnShellExecuteVB(druta)
        dim objShell
        set objShell = CreateObject("Shell.Application")
        objShell.ShellExecute druta, "", "", "print", 1
        set objShell = nothing
                
      end function

    </script>
    <label onclick="Imprimir_PDF">Imprimir PDF</label>
    </body>
    </html>

     

     

     

  • martes, 16 de octubre de 2007 8:34
     
     

    He probado el codigo y me da error, necesito tener algo instalado en el puesto? es un Windows XP Professional

     

    Gracias.

  • martes, 16 de octubre de 2007 10:49
     
     

    Hola,

     

    ¿Has probado a poner en esto objShell.ShellExecute(druta, "", "", "print", 1)? En vez de este otro:

     objShell.ShellExecute druta, "", "", "print", 1

     

    Un Saludo

     

  • martes, 16 de octubre de 2007 14:36
     
     

    Lo he probado y sigo igual, el error que me da es :

    linea:30

    car:1

    Error: No coinciden los tipos: 'Imprimir_PDF'

    Codigo:0

     

    Gracias

  • martes, 16 de octubre de 2007 15:14
     
     

    Hola de nuevo,

     

    ¿Has probado que el nombre de la funcion Imprimir_PDF se igual al de la etiqueta donde la llamas(<label onclick="Imprimir_PDF">Imprimir PDF</label>)?

     

    Si son distintos es normal que te falle, ¿entiendes?

     

    Un Saludo

     

  • martes, 16 de octubre de 2007 16:41
     
     

    Cambiando el nombre de la etiqueta me da otro error. El código que ahora ejecuto es el siguiente:

     

    <html>
    <head>
    <title>Imprimir_PDF</title>
    </head>
    <body>
    <script language="VBScript">

      sub Imprimir_PDF()
        dim i, ruta(3)

        i= 0
        ruta(0)= "c:\1.pdf"
        ruta(1)= "c:\2.pdf"
        ruta(2)= "c:\3.pdf"
     
        for i= 0 to 2
          fnShellExecuteVB ruta(i)
        next
      end sub
     
      function fnShellExecuteVB (druta)
        dim objShell
        set objShell = CreateObject("Shell.Application")
        objShell.ShellExecute druta, "", "", "print", 1
        set objShell = nothing
               
      end function

    </script>
    <label onclick="Imprimir_PDF">Imprimir_PDF</label>
    </body>
    </html>

     

    El error es

    Linea:24

    Car:5

    Error: Permiso denegado

     

    Gracias y un saludo

     

  • martes, 16 de octubre de 2007 18:52
     
     

    Hola,

     

    ¿Tienes permiso para escribir en ese directorio?

     

    Un Saludo

     

  • miércoles, 17 de octubre de 2007 8:16
     
     

    Ya he conseguido que funcione. Estaba ejecutando el código desde una unidad de red conectada a un servidor, lo he copiado a C: y ya me funciona.

     

    Muchas Gracias y un saludo

     

     

  • miércoles, 17 de octubre de 2007 8:19
     
     
    Me alegro, todo sale tarde o temprano

     

    Un Saludo

  • viernes, 11 de enero de 2008 10:20
     
     
    A mi me sale el error que dice el compañero y tengo todo en c:

     

  • lunes, 21 de enero de 2008 6:31
     
     

    Hola,

     

    ¿Qué código estás poniendo?

     

    Un Saludo

     

  • martes, 13 de enero de 2009 19:01
     
     

     

    también me marca el error del permiso, pero lo tengo en C...

     el código que uso es este:

     

    <html xmlns="http://www.w3.org/1999/xhtml" >

    <head runat="server">

    <title>Untitled Page</title>

    </head>

    <script language="VBScript">

    sub Imprimir_PDF()

    dim i, ruta(3)

    i= 0

    ruta(0)= "c:\prueba.pdf"

    ruta(1)= "c:\prueba2.pdf"

    ruta(2)= "c:\prueba3.pdf"

    for i= 0 to 2

    fnShellExecuteVB ruta(i)

    next

    end sub

    function fnShellExecuteVB (druta)

    dim objShell

    set objShell = CreateObject("Shell.Application")

    objShell.ShellExecute druta, "", "", "print", 1

    set objShell = nothing

    end function

    </script>

     

     

    <body>

    <form id="form1" runat="server">

    <div>

    <label onclick="Imprimir_PDF">Imprimir_PDF</label>

    </div>

    </form>

    </body>

    </html>

     

    que esta fallando???  Tongue Tied

  • sábado, 02 de mayo de 2009 0:54
     
     

    Necesito algo parecido tengo 100 pdf y solo selecciono uno coloco toda su ruta pero donde le doy la opcion que elija la impresora.
     

    sub Imprimir_PDF()

    dim i, ruta(3)

    i= 0

    ruta(0)= "c:\prueba.pdf"

    ruta(1)= "c:\prueba2.pdf"

    ruta(2)= "c:\prueba3.pdf"

     

    for i= 0 to 2

    fnShellExecuteVB ruta(i)

    next

    end sub

     

    function fnShellExecuteVB (druta)

    dim objShell

    set objShell = CreateObject("Shell.Application")

    objShell.ShellExecute druta, "", "", "print", 1

    set objShell = nothing

     

    end functio

    En que lado configuro la impresora por ejemplo \\servidor\impresora1  esto es variable ya que el usuario podria elegir otra impresora \\servidor\impresora2 esto es un dolor de cabeza si alguien me podria ayudar se le agradeceria.


    conocuica
  • lunes, 04 de mayo de 2009 18:00
     
     

    Yo he intentado varias formas y me dice lo mismo acceso denegado, tanto creando el codigo en mi Pc y/o en el Servidor y en cualquier carpeta,
    Tambien eh probado con objShell.ShellExecute druta(, "", "", "print", 1) me dice que no se puede utilizar parentesis en un SUB.

    Este es el codigo que utilice y en c:\ coloque los 3 pdf con los nombres correspondientes
    Alguien que me pueda ayudar de favor en pasarme la solucion se le agradecera.
    <html>
    <head>
    <title>Imprimir PDF</title>
    </head>
    <body>
    <script language="VBScript">

      sub Imprimir_PDF()
        dim i, ruta(3)

        i= 0

        ruta(0)= "c:\1.pdf"
        ruta(1)= "c:\2.pdf"
        ruta(2)= "c:\3.pdf"

        for i= 0 to 2
          fnShellExecuteVB ruta(i)
        next
      end sub
     
      function fnShellExecuteVB(druta)
        dim objShell
        set objShell = CreateObject("Shell.Application")
        objShell.ShellExecute druta, "", "", "print", 1
        set objShell = nothing
               
      end function

    </script>
    <label onClick="Imprimir_PDF" id="Imprimir_PDF">Imprimir PDF</label>
    </body>
    </html>

  • martes, 08 de noviembre de 2011 15:10
     
     

    SALUDOS Y MUY BUEN CODIGO

    quisiera saber donde va este codigo en un form, clase u otro , gracias.

  • viernes, 09 de diciembre de 2011 9:00
     
     
    Hola; Espero te sirva. Uso: JQuery: para chequear carga del documento pdf. Acrobat 7: Uso el printAll() JavaScript: Lenguaje Cliente. Ejemplo realizado en VS. NET 2005 aplicable a cualquier lenguaje. yo lo use en ASP basico este ejemplo es un asp (ImprimePdf.asp) <html> <head> <script language="javascript" type="text/javascript"> var d1 = new Date(); var t1 = (d1.getMinutes() * 60 * 1000) + (d1.getSeconds() * 1000) + d1.getMilliseconds(); //JQUERY Indica si el documento ha sido cargado $(document).ready(function () { var d2 = new Date(); var t2 = (d2.getMinutes() * 60 * 1000) + (d2.getSeconds() * 1000) + d2.getMilliseconds(); var t3 = 2000 + (t2 - t1); var a = document.getElementById('pdf1'); a.printAll(); setTimeout('siguientePDF()', t3); //para colocar el documento en cola de impresion }); </script>
    <object data=<%=pathpdf%> id=pdf1 style=width: 0px; height:0px></object>
    </head> </html> <script type="text/javascript"> function siguientePDF()() { if (siguiente == "s") { .... locate = a la misma pagina con el otro pathpdf } } </script>
    • Editado ancor68 viernes, 09 de diciembre de 2011 9:17
    •  
  • viernes, 09 de diciembre de 2011 9:21
     
     
    Hola; Espero te sirva. Uso: JQuery: para chequear carga del documento pdf. Acrobat 7: Uso el printAll() JavaScript: Lenguaje Cliente. Ejemplo realizado en VS. NET 2005 aplicable a cualquier lenguaje. yo lo use en ASP basico este ejemplo es un asp (ImprimePdf.asp) <html> <head> <script language="javascript" type="text/javascript"> var d1 = new Date(); var t1 = (d1.getMinutes() * 60 * 1000) + (d1.getSeconds() * 1000) + d1.getMilliseconds(); //JQUERY Indica si el documento ha sido cargado $(document).ready(function () { var d2 = new Date(); var t2 = (d2.getMinutes() * 60 * 1000) + (d2.getSeconds() * 1000) + d2.getMilliseconds(); var t3 = 2000 + (t2 - t1); var a = document.getElementById('pdf1'); a.printAll(); setTimeout('siguientePDF()', t3); //para colocar el documento en cola de impresion }); </script>
    <object data=<%=pathpdf%> id=pdf1 style=width: 0px; height:0px></object>
    </head> </html> <script type="text/javascript"> function siguientePDF()() { if (siguiente == "s") { .... locate = a la misma pagina con el otro pathpdf } } </script>
  • viernes, 24 de febrero de 2012 17:00
     
     
    Hola buenos dias a todos, tengo una pregunta espero sea el lugar correcto para plantearla; a mi correo outlook siempre me envian archivos adjuntos en pdf y me gustaria saber la forma de mandarlos a imprimir automaticamente, es posible? es decir, me llega el correo con el adjunto en pdf, luego que se abra el pdf automaticamente y salga a impresion. muy amable por su respuesta.
  • viernes, 24 de febrero de 2012 17:03
     
     
    hola estimado;  tengo una pregunta espero sea el lugar correcto para plantearla; a mi correo outlook siempre me envian archivos adjuntos en pdf y me gustaria saber la forma de mandarlos a imprimir automaticamente, es posible? es decir, me llega el correo con el adjunto en pdf, luego que se abra el pdf automaticamente y salga a impresion. muy amable por su respuesta.