【发布时间】:2020-12-13 23:35:28
【问题描述】:
我是 python 新手,一直在做一个项目来制作一个带有突出显示文本的新 pdf。我正在使用 pymupdf 来获取文本并存储文本、字体大小和文本的索引。
我找到了一种突出显示文本的方法,但它会搜索并突出显示所有出现的字符串(文本)。
import fitz
### READ IN PDF
doc = fitz.open("input.pdf")
page = doc[0]
### SEARCH
text = "Sample text"
text_instances = page.searchFor(text)
### HIGHLIGHT
for inst in text_instances:
highlight = page.addHighlightAnnot(inst)
### OUTPUT
doc.save("output.pdf", garbage=4, deflate=True, clean=True)
我需要一种方法来突出显示任何特定的行/单词(不是全部)或者如何存储每行的矩形坐标。
一个用法示例是,如果有一个名为“摘要”的标题,并且在该标题的文本中出现“摘要”,我只想突出显示标题(或段落中的文本)。
【问题讨论】:
-
如果我能够在提取文本时存储它们的坐标,那么它也可以解决问题。后来我可以做
page.addHighlightAnnot(coordinates)并获得亮点。但我不知道如何获得这些坐标。
标签: python string pdf text pymupdf