提取多列(?)python 中的 PDF

Extract multicolumn(?) PDFs in python

提问人:user760900 提问时间:9/14/2023 更新时间:9/14/2023 访问量:115

问:

我正在尝试编写一个程序来将多页 PDF 批量转换为纯文本(想想许多页面教科书)。如果我运行它,我会发现一个问题,如果特定页面有 2 列,它会读错。PyPDF2

我发现的最好的解决方案是使用 OCRmyPDF 将扫描的 PDF 转换为文本 PDF,并在 R 中使用(通过这个解决方案,它是 tabula PDF 的 R 包装器,它有一个 python 包装器,但这个函数基于 Apache PDFBox,它没有当前的 python 包装器)。我能找到的唯一 python 解决方案是同时使用 1 列和 2 列选项运行,并选择具有更多语义信息的选项,但这非常慢。tabulizer::extract_text()tesseract

python pdf ocr pdfbox 文本挖掘

评论


答:

0赞 M. Page 9/14/2023 #1

通常,从多列 PDF 中提取文本是一项具有挑战性的任务。如果要提取纯文本,可能需要在 linux 下使用命令:https://manpages.ubuntu.com/manpages/trusty/man1/pdftohtml.1.htmlpdftohml

它在提取多列文本方面做得不错。

此实用程序存在适用于 Windows 的端口。

如果您对结果感到满意,则可以从 python 自动执行 shell 命令。

评论

0赞 Jorj McKie 9/14/2023
对于体面的 PDF,这个使用 PyMuPDF 的脚本也旨在解决此任务:github.com/pymupdf/PyMuPDF-Utilities/blob/master/...