【问题标题】:Extract text from PDF files and preserve the orginal layout, in Python在 Python 中从 PDF 文件中提取文本并保留原始布局
【发布时间】:2021-07-16 10:11:28
【问题描述】:

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

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

【问题讨论】:

  • 特别不鼓励在 SO 上提出征求意见或图书馆建议的问题。这就是你被否决的原因。
  • @TimRoberts 感谢您记住我的规则。下次我会小心的。
  • 如果您使用“文本”输出设备,我相信 GhostScript 可以做到这一点。

标签: python pdf text


【解决方案1】:

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

import pdftotext

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

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

【讨论】:

  • @AsifMarazi 保留/保留缩进在从 .pdf 文件中提取数据时很有用。