Estoy tratando de imprimir un PDF con Python, sin abrir la aplicación del visor de PDF (Adobe, Foxit, etc.). También necesito saber cuándo finalizó la impresión (para eliminar el archivo).Impresión silenciosa de un PDF en Python
Here yo encontramos este aplicación:
import win32ui, dde, os.path, time
from win32api import FindExecutable
from os import spawnl, P_NOWAIT
...
pd = "C:\\temp\\test.pdf"
pdbits = os.path.split(pd)
readerexe = FindExecutable(pdbits[1],pdbits[0])
spawnl(P_NOWAIT,readerexe[1],"DUMMY") #I added "DUMMY" to avoid a weird error
time.sleep(2)
s = dde.CreateServer()
s.Create('')
c = dde.CreateConversation(s)
c.ConnectTo('acroview', 'control')
c.Exec('[FilePrintSilent("%s")]' % (pd,))
s.Destroy()
Pero tiros esta excepción en la línea de ConnectTo
:
dde.error: ConnectTo failed
Alguien sabe cómo solucionarlo? ¿O tiene una solución diferente para la impresión silenciosa? O en la lista puede dar un enlace a una referencia para ConnectTo
? No pudo encontrar nada en la web al respecto.
Trabajar con: Python 2.7, Windows 7, Acrobat Reader 10.0
¡EXCELENTE! Resolví este problema que me atormentó durante días. Agregué que es necesario instalar GhostScript ("back-end", descargable de http://pages.cs.wisc.edu/~ghost/) y GSView ("front-end", que incluye GSView y GSPrint, descargables del primer enlace de codeape) – bluish
Sí - la herramienta de Ghostscript es el camino a seguir aquí. Vale la pena señalar que casi todas las soluciones de impresión para Linux y otros Unix utilizan hoy en día los programas GS de una forma u otra. – jsbueno
Gracias por esto. Imprimí mi archivo txt con secuencias esc en la impresora pcl made, lo convertí al pdf e imprimí silenciosamente con ghostscript a una impresora que no era PCL :) –