none
Imprimir pdf automaticamente RRS feed

  • Pregunta

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

Respuestas

  • 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, 21 de agosto de 2007 12:11

Todas las respuestas

  • 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, 21 de agosto de 2007 12:11
  • 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 8:34
  • 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 10:49
  • 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 14:36
  • 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 15:14
  • 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 16:41
  • Hola,

     

    ¿Tienes permiso para escribir en ese directorio?

     

    Un Saludo

     

    martes, 16 de octubre de 2007 18:52
  • 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:16
  • Me alegro, todo sale tarde o temprano

     

    Un Saludo

    miércoles, 17 de octubre de 2007 8:19
  • A mi me sale el error que dice el compañero y tengo todo en c:

     

    viernes, 11 de enero de 2008 10:20
  • Hola,

     

    ¿Qué código estás poniendo?

     

    Un Saludo

     

    lunes, 21 de enero de 2008 6:31
  •  

    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

    martes, 13 de enero de 2009 19:01
  • 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
    sábado, 2 de mayo de 2009 0:54
  • 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>

    lunes, 4 de mayo de 2009 18:00
  • SALUDOS Y MUY BUEN CODIGO

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

    martes, 8 de noviembre de 2011 15:10
  • 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, 9 de diciembre de 2011 9:17
    viernes, 9 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>
    viernes, 9 de diciembre de 2011 9:21
  • 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:00
  • 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.
    viernes, 24 de febrero de 2012 17:03