我有一个PDF文件,想要从元数据中获取一些信息。为此,我按照以下步骤进行:
from PyPDF2 import PdfFileReader
mypath = "your_pdf_file.pdf"
pdf_toread = PdfFileReader(open(mypath, 'rb'))
pdf_info = pdf_toread.getDocumentInfo()
手头的文档输出为:
Out[230]:
{'/CrossmarkDomainExclusive': 'true',
'/CreationDate': "D:20181029074117+05'30'",
'/CrossMarkDomains#5B2#5D': 'elsevier.com',
'/Author': 'Nicola Gennaioli',
'/Creator': 'Elsevier',
'/ElsevierWebPDFSpecifications': '6.5',
'/Subject': 'Journal of Monetary Economics, 98 (2018) 98-113. doi:10.1016/j.jmoneco.2018.04.011',
'/CrossmarkMajorVersionDate': '2010-04-23',
'/CrossMarkDomains#5B1#5D': 'sciencedirect.com',
'/robots': 'noindex',
'/ModDate': "D:20181029074135+05'30'",
'/AuthoritativeDomain#5B1#5D': 'sciencedirect.com',
'/Keywords': 'Sovereign Risk; Sovereign Default; Government Bonds',
'/doi': '10.1016/j.jmoneco.2018.04.011',
'/Title': 'Banks, government Bonds, and Default: What do the data Say?',
'/AuthoritativeDomain#5B2#5D': 'elsevier.com',
'/Producer': 'Acrobat Distiller 10.1.10 (Windows)'}
然而,我发现PyPDF2库没有一个属性可以“访问”/Keywords
部分的信息。也就是说,这段输出:
'/Keywords': 'Sovereign Risk; Sovereign Default; Government Bonds',
所以,我想寻求关于如何获取元数据输出信息的帮助[在这个例子中: 主权风险; 主权违约; 政府债券
]。
为了重现输出结果,我分享了一个文档链接。
例如执行:
更新:
print(pdf_info.title)
Banks, government Bonds, and Default: What do the data Say?
print(pdf_info.subject)
Journal of Monetary Economics, 98 (2018) 98-113. doi:10.1016/j.jmoneco.2018.04.011
但是当我尝试对/Keywords
部分进行类似操作时,我遇到了以下属性错误:
pdf_info.keywords
Traceback (most recent call last):
File "<ipython-input-295-3852401ef983>", line 1, in <module>
pdf_info.keywords
AttributeError: 'DocumentInformation' object has no attribute 'keywords'
/Keywords
条目。 - Jongwarepdf_toread.title
,我可以获取标题,但是当我执行pdf_toread.keywords
时,会出现错误,提示该属性不存在。我查看了一下,PyPDF2 的作者确实没有编写代码来获取关键字,就像你可以获取标题或者主题信息一样。 - msh855pdf_info.title
获取标题的信息,但我无法获取关键字的信息——上面的输出(元数据)清楚地显示它存在。 - msh855