如何解决使用pymupdf-page.searchFor选择完全匹配
根据文档page.searchFor(),page.searchFor(needle,hit_max=16,quads=False,flags=None).
在页面上搜索针头。大写/小写被忽略。该字符串可能包含空格。
首先,我要精确匹配的坐标。 其次,如果选择的单词是“ inter”,还将从文档中存在的单词内部化中提取“ inter”的坐标,这与我的任务相冲突。
有什么办法可以实现相同目标吗?
doc = fitz.open(document_name)
words = ["Midpoint","CORPORATE","internalization"]
for page in doc:
page._wrapContents()
for word in words:
text_instances = page.searchFor(word)
for rect_coordinates in text_instances:
page.addRedactAnnot(rect_coordinates,text_color = (0,0),fill = (0,0))
page.apply_redactions()
解决方法
您可以使用 page.getText("words")
获取页面上的字词及其位置。
对我有用的解决方法是使用 page.searchFor() 获取可能匹配的位置,并基于使用此位置的较大矩形在 getText 中传递剪辑参数。然后,我使用 re 检查了 getText 中的所有单词是否匹配。
但是,您可以使用 page.getText("words") 获取所有单词并迭代所有获得的单词,因为您只需要精确的单词匹配。您也可以传递用于处理连字符的标志。请参阅doc link
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。