我正在尝试从给定的边界矩形中提取pdf文本。我知道有一些pdf抓取工具,如pdfminer、pypdf和pdftotext。我已经尝试过这三种工具,到目前为止,我只能通过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)
然而,这个命令会输出/写入一个文本文件。我想立即使用该文本文件,也就是说,我不想去打开文本文件来检索那个 bounding box 中的任何单词,因为我将对 10,000 多个文档进行相同的操作,而打开那么多文件可能会很痛苦。基本上,我正在从我的 Python 脚本运行命令行提示符,所以我不认为有办法避免这种情况,但我不确定。由于 pdfminer 和 pypdf 是实际的 Python 包,因此我可以获取它们的文本,但它们似乎没有任何方法来提取给定像素限制内的文本。
进一步说明一下 - 我特别想在 Python 中完成这个任务,因为我有大量其他与该项目相关的代码。