我真的不知道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上。