使用 Python 根据 PDF 中的部分提取文本

extracting text based on the sections in a pdf using python

提问人:humera nikhat 提问时间:11/14/2023 更新时间:11/14/2023 访问量:24

问:

我有一种方法可以根据标题和副标题从 pdf 中提取文本。我能够使用 pdf 管道工根据书签提取文本,但在其他用例中,书签不存在。

尝试了 PDF Plumber 和 PyPDF2 库以及 Report Lab

解析 PDF

评论


答:

-2赞 WillIAm 11/14/2023 #1

是的,您可以使用 pypdf 根据标题/副标题提取文本,这是一个示例

import PyPDF2

def extract_text_by_headings(pdf_path, heading):
    with open(pdf_path, 'rb') as file:
        pdf = PyPDF2.PdfFileReader(file)
        text = ''
        for page_num in range(pdf.numPages):
            page = pdf.getPage(page_num)
            page_text = page.extractText()
            if heading in page_text:
                text += page_text
        return text

pdf_path = 'path/to/your/pdf.pdf'
heading = 'Heading 1'
extracted_text = extract_text_by_headings(pdf_path, heading)
print(extracted_text)