如何在Python中提取PDF的标题、作者、创建日期

问题描述 投票:0回答:2

我在本地管理论文,并以“creationdate_authors_title.pdf”的形式重命名每个PDF文件。因此,需要从 PDF 文件中自动提取每篇论文的标题、作者、创建日期。

我已经使用 pdfminer 包编写了一个 python 脚本来提取信息。但对于某些文件,使用 PDFDocument 解析后,保存到字典 doc.info[0] 中的文件信息可能不包含“Author”等某些键,或者这些键的值为空。

我想知道如何使用“extract_pages”等功能直接从 PDF 文件中找到所需的信息,例如论文标题。或者,更一般地说,我如何准确有效地提取我所需的信息?

任何提示将不胜感激!非常感谢。

python parsing pdf pdfminer
2个回答
1
投票

您可以使用此脚本使用 PyPDF2 库提取所有元数据

from PyPDF2 import PdfFileReader
def get_info(path):
    with open(path, 'rb') as f:
        pdf = PdfFileReader(f)
        info = pdf.getDocumentInfo()
        number_of_pages = pdf.getNumPages()
    
    print(info)
    author = info.author
    creator = info.creator
    producer = info.producer
    subject = info.subject
    title = info.title

if __name__ == '__main__':
    path = 'reportlab-sample.pdf'
    get_info(path)

正如您在

info
变量中看到的那样,您拥有所需的一切。检查此文档


0
投票

更新版本:

from PyPDF2 import PdfReader 
def get_info(path):
    with open(path, 'rb') as f:
        pdf = PdfReader(f)
        info = pdf.metadata
        number_of_pages = len(pdf.pages)
    
    print(info)
    author = info.author
    creator = info.creator
    producer = info.producer
    subject = info.subject
    title = info.title

if __name__ == '__main__':
    path = 'reportlab-sample.pdf'
    get_info(path)
© www.soinside.com 2019 - 2024. All rights reserved.