可以使用 PyMuPDF 在 PDF 中逐块搜索文本吗?

拉夫·梅塔
page.getTextBlocks()

输出

[(42.5, 86.45002746582031, 523.260009765625, 100.22002410888672, TEXT, 0, 0),
(65.75, 103.4000244140625, 266.780029296875, 159.59010314941406, TEXT, 1, 0),
(48.5, 86.123456, 438.292048492, 100.92920404974, TEXT, 0, 0)]

(x0, y0, x1, y1, "块中的行", block_type, block_no)

我的主要目标是:

搜索 PDF 中的文本并突出显示它 必须搜索的文本可以在页面中出现 n 次。使用tp.search(text,hit_max=1)它可以限制出现的最大次数,但它不会解决问题,因为它会选择文本的第一次出现,但对我来说可能是第二次或第三次出现很重要。

我的想法是:

getTextBlocks 如上所述提取文本,使用此信息特别是 block_no,我想page.searchFor为该特定块执行功能。从逻辑上讲它应该是可能的,但实际上我需要关于如何做到这一点的帮助。

我将不胜感激任何有关实现主要目标的意见。

谢谢

乔吉·麦基

作为前言,让我说您的问题将使我的存储库的问题页面受益。

Page.searchFor()搜索页面上的任意数字文本项。限制是点击次数,您必须在调用中指定该限制。但是您可以在此处使用任何数字(例如 100)。此方法不提取文本,忽略字符大小写,还支持非水平文本或跨多行文本。其输出可直接用于创建文本标记注释等。

您当然可以通过使用 的变体来自由提取文本Page.getText(option),然后运用您的技巧在输出中找到您想要的内容。option可以是“text”、“words”、“blocks”、“dict”、“rawdict”、“html”、“xhtml”或“xml”。每种输出显然都有其优缺点。许多变体都带有文本位置信息或字体信息,包括文本颜色等。但正如所说:如何定位内容取决于您。让我再次建议我们在 Github 存储库问题页面上继续这个对话,在那里我可以更好地指向其他资源。或者随时使用我的私人电子邮件。

如果您的问题是 (1) 定位文本出现,然后 (2) 将每个出现链接到文本块编号,那么只需列出块矩形并检查每个出现是否包含在块矩形中:

for j, rect in enumerate(page.searchFor(text,...)):
    for i, bbox in enumerate(block_rectangles):
        if rect in bbox:
            print("occurrence %i is contained in block %i" % (j, i))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 PyMuPDF 将文本部分加粗

如何在 PyQt5 中使用 pymupdf 读取 pdf 文件?

创建一个pdf文件,将其写入并使用PyMuPDF返回其字节流

(如何)我可以使用Apache Tika在.DOC或.PDF或.JAVA等文件中搜索短语吗?

我们可以使用 Java 中的 Tabula 在 PDF 中的表格之间提取文本吗?

可以使用CSS文件生成PDF输出吗?

可以使用预定义的打印框架打印 pdf 吗?

PyMUPDF - 如何将 PDF 转换为图像,使用图像大小的原始文档设置并设置为 300dpi?

PyMuPDF-读/写文本框

我可以使用“ Microsoft Office”数字ID /证书在Adobe Acrobat中对PDF进行签名吗?

我可以使用 awk 修改 PDF 中的 FitH 值吗?

是否可以使用 AWS Textract 捕获 PDF 文本的特定部分?

我可以使用dompdf将发布的图像文件注入PDF吗?

我们可以使用Magnific Popup插件查看.pdf文件吗?

我可以使用iText在PDF中找到字段的边框颜色吗?

Perl可以使用CSS将图像打印成PDF吗?

我可以使用Slack的files.upload方法获取“ thumb_pdf”吗?

我可以使用window.print()自动将页面导出为PDF吗?

可以使用XPath搜索<script>块吗?

如何在PDF中获得插入符号的位置,以便可以使用AutoHotKey突出显示文本?

可以使用AMP HTML搜索吗?

我可以使用初始化方法将 prawn 生成的 pdf 文件保存到 profect 文件夹吗?

无法单击PDF中的签名字段,但是在Adobe Acrobat Reader&Saving中打开后可以使用

我可以使用CMD在Windows中搜索文件吗?

PDF文件在浏览器中的下载错误,但可以使用wget或NodeJS / Express进行卷曲

是否可以使用iText或其他一些API将PDF中的可填充字段定位到坐标?

我可以使用ghostscript将pdf转换为小尺寸pdf而不会丢失确切的颜色配置文件吗

我可以使用“this”从按钮中获取文本吗?

在iOS 7中可以使用吗?