在python中从可执行pdfinfo打印信息

时间:2018-07-17 01:50:45

标签: python subprocess pdftotext

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命令提取数据?该函数不返回错误。 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)

1 个答案:

答案 0 :(得分:1)

如果您听说过PyPdf,则可能有一个可靠的选择。

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

这应该可以满足您的需求