python静默打印pdf,在Python中静默打印PDF

我正在尝试使用Python打印PDF,而无需打开PDF查看器应用程序(Adobe,Foxit等)。 我还需要知道何时打印完成(删除文件)。

在这里我find了这个实现 :

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行引发这个exception:

dde.error: ConnectTo failed

有人知道如何解决它? 或者有一个不同的静音打印解决scheme ? 或者在列表中可以给出ConnectTo的参考链接? 在网上找不到关于它的东西。

使用:Python 2.7,Windows 7,Acrobat Reader 10.0

我建议你安装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

我已经在一个工业标签打印解决方案中使用这个,效果很好。

当gsprint.exe程序退出(即在communicate ),您可以删除PDF文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值