首页 > 解决方案 > 在 Python 中从 PDF 文件中提取文本并保留原始布局

问题描述

我想从 PDF 文件中提取文本,但应保持 PDF 中文本的布局,如下图所示。图像显示来自[github.com/JonathanLink/PDFLayoutTextStripper]的结果。 PDFLayoutTextStripper 的结果 我尝试了下面的代码,但它不维护布局。我希望通过使用任何 Python 库(如 PyPDF2、PDFPlumber、PDFminer 等)以与图像中显示的方式完全相同的方式获得结果。我尝试了所有这些库,但没有得到想要的结果。在从 PDF 文件中提取文本时,我需要帮助,如图所示。

from pdfminer.high_level import extract_text`
text = extract_text('test.pdf')
print(text)

标签: pythonpdftext

解决方案


您可以使用 PDFtotext 包保留布局/缩进。

import pdftotext

with open("target_file.pdf", "rb") as f:
    pdf = pdftotext.PDF(f)

# All pages
for text in pdf:
    print(text)

推荐阅读