有没有办法提取PDF文档的页眉、页脚和标题页?

2024-05-23 19:52:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否有任何软件包可以检测并从PDF文档中提取页眉和页脚或标题页?我是使用python进行文本挖掘的新手,我想知道例如pdfminer.layout能帮你在PDF中找到任何文本块吗?在


Tags: 文档文本标题pdfpdfminer页脚layout新手
2条回答

apachetika还执行元数据提取。您还可以提取名称、标题/多个标题、日期、页数、修改日期等。在

import tika
from tika import parser

filename = "your file name here"
parsedPDF = parser.from_file(file_name)
print(parsedPDF['content'])
print(parsedPDF['metadata']) # its in a dictionary format. 

我使用此实用程序函数从PDF中提取所有文本元素:

from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LAParams, LTTextBox, LTTextLine
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfinterp import PDFPageInterpreter, PDFResourceManager
from pdfminer.pdfpage import PDFPage, PDFTextExtractionNotAllowed
from pdfminer.pdfparser import PDFParser


def pdf2text(stream):
    parser = PDFParser(stream)
    document = PDFDocument(parser)
    if not document.is_extractable:
        raise PDFTextExtractionNotAllowed

    resmgr = PDFResourceManager()
    laparams = LAParams()
    device = PDFPageAggregator(resmgr, laparams=laparams)
    interpreter = PDFPageInterpreter(resmgr, device)
    for page in PDFPage.create_pages(document):
        interpreter.process_page(page)
        for obj in device.get_result():
            if isinstance(obj, (LTTextBox, LTTextLine)):
                yield obj.get_text()

stream参数是一个类似文件的对象(例如,为读取而打开的文件或io.BytesIO的实例或类似对象)。在

这个例子基本上遵循official example。在

相关问题 更多 >