2010-12-09 56 views
4

我正在寻找一个非常快速,轻量级的Python库来读取PDF元数据。我不需要任何写入功能。如果仅加载元数据信息,而不是整个文件,则会更好。快速Python PDF元数据阅读器

我意识到像Python这样的解释性语言并不是速度的最佳选择,但是由于这个解决方案需要跨平台并且与现有的Python应用程序一起工作,所以似乎没有多少选择。

我检出了pyPdf和其他一些库,但理想情况是寻找更轻更快的东西,适合一次处理数以万计的文件。

谢谢。

+0

什么,如果有的话,使pyPdf太重?如果您只需要编写,请不要导入PdfWriter。 – bdd 2010-12-09 23:05:25

+0

lib本身很轻,但它读取整个文件。这意味着处理较大的PDF需要更长的时间,对于像手册这样的巨大文件来说,它非常缓慢。 – 2010-12-10 09:14:04

回答

0

你见过this对类似问题的回答?它建议使用fopen并手动解析元数据。如果元数据是你需要的,你可以自己解析它,并尽可能快地完成。

0

这是一个有点生,不过这应该让你的元数据

f = open('file.pdf', 'r') 
pdfdata=f.read() 
metas=re.findall('<</Metadata(.*?)>>',pdfdata) 
1

pdfrw可以读取的元数据,而不 阅读 解析整个文件。 (免责声明:我是pdfrw的作者。)例如:

>>> from pdfrw import PdfReader 
>>> PdfReader('pdf_reference_1-7.pdf').Info 
{'/Title': '(PDF Reference, version 1.7)', 
'/CreationDate': '(D:20061017081020Z)', 
'/Producer': '(Acrobat Distiller 7.0.5 \\(Windows\\))', 
'/Creator': '(FrameMaker 7.2)', 
'/ModDate': "(D:20061118211043-02'30')", 
'/Author': '(Adobe Systems Incorporated)', 
'/Subject': '(Adobe Portable Document Format \\(PDF\\))'}