【问题标题】:How to open and close a PDF file from within python如何从 python 中打开和关闭 PDF 文件
【发布时间】:2017-01-21 23:23:44
【问题描述】:

我可以使用 subprocess.Popen() 从 Python 中打开 PDF 文件,但在关闭 PDF 文件时遇到问题。如何使用 Python 关闭打开的 PDF 文件。我的代码是:

# open the PDF file
plot = subprocess.Popen('open %s' % filename, shell=True)

# user inputs a comment (will subsequently be saved in a file)
comment = raw_input('COMMENT: ')

# close the PDF file
#psutil.Process(plot.pid).get_children()[0].kill()
plot.kill()

编辑:我可以在打开 PDF 后立即关闭它(使用 plot.kill()),但如果在打开 PDF 和“杀死”它之间有另一个命令,这将不起作用。任何帮助都会很棒 - 在此先感谢。

【问题讨论】:

标签: python pdf


【解决方案1】:

对我来说,这个很好用(灵感来自this)。也许,您可以使用 PDF 阅读器的直接命令,而不是使用“打开”?像“打开”这样的命令往往会创建一个新进程,然后立即关闭。我不知道你的环境或任何东西,但对我来说,在 Linux 上,这很有效:

import subprocess
import signal
import os

filename="test.pdf"
plot = subprocess.Popen("evince '%s'" % filename, stdout=subprocess.PIPE,
                    shell=True, preexec_fn=os.setsid)

input("test")
os.killpg(os.getpgid(plot.pid), signal.SIGTERM)

在 windows/mac 上,如果您将 'evince' 更改为 pdf 阅读器的可执行文件的路径,这可能会起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 2013-07-01
    • 1970-01-01
    • 2012-07-27
    • 2020-03-15
    • 1970-01-01
    • 2013-01-06
    • 2018-09-14
    相关资源
    最近更新 更多