blu*_*ish 14 python windows printing pdf silent
我正在尝试用Python打印PDF,而不打开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()
Run Code Online (Sandbox Code Playgroud)
但是它会抛出这个异常ConnectTo
:
dde.error: ConnectTo failed
Run Code Online (Sandbox Code Playgroud)
有人知道怎么解决吗?或者有一个不同的静音打印解决方案?或者在列表中可以给出参考ConnectTo
链接?在网上找不到任何关于它的内容.
使用:Python 2.7,Windows 7,Acrobat Reader 10.0
cod*_*ape 20
我建议你安装GSView和GSPrint并shell gsprint.exe
来打印pdf.
p = subprocess.Popen([r"p:\ath\to\gsprint.exe", "test.pdf"],
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = p.communicate()
print stdout
print stderr
Run Code Online (Sandbox Code Playgroud)
我在工业标签打印解决方案中使用过它,效果很好.
当gsprint.exe
程序退出(通话后即communicate
),您可以删除PDF文件.
归档时间: |
|
查看次数: |
9176 次 |
最近记录: |