Imprimir pdf desde aplicación

Imprimir pdf desde aplicación

Postby surGom » Sun Jun 15, 2008 10:43 am

Hola foro, lo que necesito es que al imprimr un remito (impresora matricial) me imprima en segundo plano en una impresora laser, archivos que estan en pdf y que previamente guarde en una dbf como maestro\archivos\analisis.pdf, necesito que se ejecute sin necesidad de visualizar el pdf, por que se tiran muchos remitos seguidos y así se agiliza la operatoria.

Gracias a todos


Luis
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Postby Manuel Aranda » Sun Jun 15, 2008 3:30 pm

Hola Luís:

Puedes mirarte pdftk, que tiene muchas posibilidades, entre ellas poder fusionar varios pdf,s en uno solo. Luego podrías imprimirlo.
Es sólo una idea.
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 604
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Postby surGom » Mon Jun 16, 2008 11:36 am

Gracias Manuel lo estoy bajando. Pero lo que yo quiero es algo así:

Cuando acepto el remito imprimir el remito y que se dispare la impresión con algo como esto

For z = 1 to len cantidad de pdf

imprimir pdf[z] // sería con shellexecute??

next

No sé bien como implementarlo y si se puede


Luis
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Postby Manuel Aranda » Mon Jun 16, 2008 12:56 pm

Hola Luis:

Desconozco que se pueda imprimir directamente un fichero PDF sin antes visualizarlo. Lo que te comentaba en el post anterior es que con pdftk puedes fusionar todos los pdf,s en una solo, después visualizarlo y enviarlo a imprimir. Así por ejemplo:
//fusionas todos lo pdf,s de la carpeta en uno solo
WaitRun("pdftk.exe *.pdf cat output todos.pdf",0 )
//después lo visualizas y lo mandas a imprimir
ShellExecute( ,"open", "todos.pdf",,,1 )

Espero te sirva.
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 604
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Postby Carlos Mora » Mon Jun 16, 2008 3:11 pm

Hola amigos,

se puede imprimir directamente si se cambia el "open" por el "print" en el shellexecute()

Un saludo,

Carlos.
Carlos Mora
 
Posts: 989
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Postby Manuel Aranda » Mon Jun 16, 2008 4:17 pm

Gracias Carlos. Efectivamente, así es. Con esto, quizá nuestro amigo Luis haya encontrado lo que busca.
Por cierto, doblemente gracias por ponerme sobre la pista de pdftk :wink: , está excelente. Ya he logrado fusionar un pdf con datos utilizándolo. Estoy dándole los últimos toques y subiré un ejemplo sencillo al foro por si alguien lo quiere utilizar.
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 604
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Postby surGom » Mon Jun 16, 2008 6:46 pm

Gracias, eso es lo que quería saber ya que estoy en mi casa y no tenfo impresoras, para probar, mañana lo pruebo en la oficina que tengo las dos impresoras para probarlo.

Gracias a ambos

Luis
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm

Postby surGom » Mon Jun 30, 2008 5:57 pm

Bueno lo pude hacer y funcionó perfecto... en mi oficina, ya que en la empresa, no me imprime el pdf.
La impresora está conectada a la red individualmente, hay que poner algún parámetro para que la identifique?, está declarada como predeterminada.


STATIC FUNCTION impdf( aAfile )

for z = 1 to len( aAfile )
ShellExecute( ,"print", (oApp:dirpdf + aAfile[z,1]),,,1 )
next
return nil

Si cambio print por open lo abre perfecto.

Gracias
surGom
 
Posts: 640
Joined: Wed Oct 19, 2005 12:03 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 58 guests