使用Python打印PDF文件

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (922)

我正在尝试打开pdf文件,打印文件,并在Python 2.7中关闭Adobe Acrobat。

import os

fd = os.startfile("temp.pdf", "print")
os.close(fd)

运行代码后,我os.close(fd)在行上收到以下错误:

TypeError: an integer is required
提问于
用户回答回答于

这是我提出的解决方案:

    os.startfile("temp.pdf", "print")
    sleep(5)
    for p in psutil.process_iter(): #Close Acrobat after printing the PDF
        if 'AcroRd' in str(p):
            p.kill()
用户回答回答于

正如其他人在评论中所说,os.startfile(file)只需打开与之关联的应用程序file,它就不会返回任何内容。当应用程序打开,fd等于Noneos.close(fd)能接收对应于任何打开的文件的整数os.open()pipe(),这就是为什么你收到TypeError: an integer is required

startfile没有选项等待应用程序关闭,也无法检索应用程序的退出状态。如果您要求关闭该应用程序,请尝试使用subprocess@ 9000所述的方法。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励