【问题标题】:How to Highlight a specific line/text in a pdf using Python如何使用 Python 突出显示 pdf 中的特定行/文本
【发布时间】: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


【解决方案1】:

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

要查找文本的位置,请查看this

【讨论】:

  • 是的,但问题是它给出了所有出现的位置。示例: text_instances 将具有所有“摘要”的位置,但我只想在标题上。我想要的是一种通过索引号突出显示文本的方法,而不是文本本身
猜你喜欢
  • 1970-01-01
  • 2019-11-13
  • 2019-06-04
  • 2017-03-10
  • 2014-08-15
  • 2014-03-01
  • 2018-02-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多