gpt4 book ai didi

python - 将边界框中的pdf文本直接提取到python中

转载 作者:太空宇宙 更新时间:2023-11-03 21:03:20 25 4
gpt4 key购买 nike

我正在尝试在给定的边界矩形内提取 pdf 的文本。据我所知,有一些用于 pdf 抓取的工具,例如 pdfminer、pypdf 和 pdftotext。我已经尝试了所有 3 个方法,到目前为止,我只获得了 pdftotext 的代码,用于从给定的边界框中提取文本。该代码看起来像这样:

s = "pdftotext -x %d -y %d -w %d -h %d"
s = s%(<various inputs into my function>)
cmd = [s, pdf_path,
text_out]
subprocess.call(cmd)

但是,这会输出/写入一个文本文件。我想立即使用该文本,这意味着我不想打开一个文本文件来检索该边界框中的任何单词,因为我将为 10,000 多个文档执行此操作,并打开那么多文件可能是一种痛苦。我基本上是从 python 脚本运行命令行提示符,所以我认为实际上没有办法解决这个问题,但我不确定。由于 pdfminer 和 pypdf 是实际的 python 包,我可以获取它们的文本,但它们似乎没有任何方法在给定的像素限制内提取文本。

作为进一步说明 - 我希望专门在 python 中执行此操作,因为我有大量针对同一个总体项目的其他代码。

最佳答案

PyMuPDF/Fitz 包适用于此。他们在以下位置提供脚本和文档: https://github.com/pymupdf/PyMuPDF-Utilities/tree/master/textbox-extraction

他们的脚本通过查找边界词来工作,您可以通过简单地执行 rect = fitz.Rect(x0, y0, x1, y1) 而不是他们的 rect = ~their stuff~ 将其替换为矩形。 pno 也是您要从中提取的页码(如果不清楚)。

关于python - 将边界框中的pdf文本直接提取到python中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55583510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com