从 python 中的可执行文件 pdfinfo 打印信息

Printing info from executable pdfinfo in python

path1 = "C:/Users/Gebruiker/PycharmProjects/pdf_processor/Files/pdf_files/"
pdffname = "testfile2.pdf"

file_info = subprocess.Popen(['pdfinfo', '-meta',
os.path.join(path1, pdffname)])

所以我需要找出这个pdf有多少页。如果我在 cmd 中调用该函数,它工作正常。但是如何从 -meta 命令中提取数据呢?函数returns没有错误。 file_info 变量的类型为 .

并且据说来自 -meta 命令的数据是 xml 格式。但是没有选项可以在任何地方提取 xml 文件。它甚至不打印任何东西:/。完全迷失在这里。

编辑:

我实际上是这样工作的:

pdf_info = subprocess.Popen(['pdfinfo', '-meta',
os.path.join(path1, pdfname)], stdout=subprocess.PIPE)

output = pdf_info.stdout.read()

with open(os.path.join(path3, 'pdf_info.xml'), 'wb') as file:
    file.write(output)

如果您听说过 PyPdf,您可能会有一个不错的选择。

import pyPdf
reader = pyPdf.PdfFileReader(open("foo.pdf"))
print reader.getNumPages() 

这应该能满足您的需求