Я пытаюсь распечатать PDF-файл с помощью Python, не открывая приложение для просмотра PDF-файлов (Adobe, Foxit и т. Д.). Мне также нужно знать, когда печать закончилась (чтобы удалить файл).
Здесь я нашел эту реализацию:
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()
Но это исключение выдает в строке ConnectTo
:
dde.error: ConnectTo failed
Кто-нибудь знает, как это решить? Или есть другое решение для тихой печати? Или в списке можно дать ссылку на ссылку для ConnectTo
? Ничего не нашел в сети об этом.
Работает с: Python 2.7, Windows 7, Acrobat Reader 10.0