我真的不知道pyPdf,但pdfrw有一些相似的功能,和(恕我直言,我是作者)一个更简单的接口。 pdfrw将PDF文件中的结构映射到Python结构中。以下是一个示例会话:
>>> from pdfrw import PdfReader
>>> x = pdfrw.PdfReader('some_random.pdf')
什么是x
?这是PDF文件,该文件被映射到(子类)Python字典的拖车词典:
>>> list(x)
['/Size', '/Info', '/Root']
要访问该字典的项目,你可以使用字典式的查找,但由于所有标准的Adobe名开始用斜杠和一个字母,pdfrw支持属性查找以及方便。它基本上是字典,并一直列出。信息只不过是另一种解释:
>>> x.Info
{'/ModDate': '(D:20130802052610)',
'/Producer': '(ImageMagick 6.6.0-1 2010-03-04 Q8 http://www.imagemagick.org)',
'/Title': '(US4441207.pdf)',
'/CreationDate': '(D:20130802052610)'}
所以,你可以拉出生产者以同样的方式:
>>> x.Info.Producer
'(ImageMagick 6.6.0-1 2010-03-04 Q8 http://www.imagemagick.org)'
生产者的值是一个字符串,PDF - 这就是括号是什么。
>>> x.Info.Producer.decode()
'ImageMagick 6.6.0-1 2010-03-04 Q8 http://www.imagemagick.org'
与CreationDate
同样的:你可以用decode()
方法剥夺他们
>>> x.Info.CreationDate.decode()
'D:20130802052610'
的pdfrw文档是不是真的很大,但也有很多在GitHub上的例子,在这里几在SO上。