首页 > 解决方案 > 如何使用 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)

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

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

标签: pythonstringpdftextpymupdf

解决方案


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

为了找到文本的位置,请查看这个


推荐阅读