如何使用Python突出显示pdf中的特定行/文本

问题描述

我是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)

我需要一种方法来突出显示任何特定的行/单词(不是全部),或者也许如何存储每行的rect坐标。

用法一个示例是,如果有一个名为“摘要”的标题,并且在此标题的文本中出现了“摘要”,我只想突出显示标题(或段落中的文本)。

解决方法

您可以使用 PyPDF2.突出显示文本。

要找到文本的位置,请签出this