从 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()
这应该能满足您的需求
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()
这应该能满足您的需求