Python 使用pymupdf进行加密
我想使用Python和pymupdf在pdf文档中标记几个关键字 代码如下所示(源代码:): 但是,文本仅在一页上标记。我试着按照pymupdf()文档中的描述修改代码,使其覆盖所有页面Python 使用pymupdf进行加密,python,pdf,pymupdf,Python,Pdf,Pymupdf,我想使用Python和pymupdf在pdf文档中标记几个关键字 代码如下所示(源代码:): 但是,文本仅在一页上标记。我试着按照pymupdf()文档中的描述修改代码,使其覆盖所有页面 import fitz doc = fitz.open("test.pdf") for page in doc.pages(1, 3, 1): pass text = "result" text_instances = page.searchFor(text
import fitz
doc = fitz.open("test.pdf")
for page in doc.pages(1, 3, 1):
pass
text = "result"
text_instances = page.searchFor(text)
for inst in text_instances:
highlight = page.addHighlightAnnot(inst)
highlight.setColors(colors='Red')
highlight.update()
doc.save("output.pdf")
不幸的是,它仍然只在一个页面上标记关键字。我需要更改什么,以便在所有页面上标记关键字?您的代码有两个主要问题:
for page in doc.pages(1, 3, 1):
pass
如果要在页面上循环,则需要将突出显示代码放在页面循环中。此外,您从第2页开始,而不是从第1页开始,因为第1页由索引0表示
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import fitz
doc = fitz.open("test.pdf")
text = "result"
# page = doc[0]
# for page in doc.pages(start, stop, step):
for page in doc.pages(0, 3, 1):
text_instances = page.searchFor(text)
for inst in text_instances:
highlight = page.addHighlightAnnot(inst)
highlight.setColors(colors='Red')
highlight.update()
doc.save("output.pdf")
你的缩进是错误的。此时,保存发生在循环过程中。这意味着最后一个循环将覆盖output.pdf。@Alan我更改了
pass
的缩进,因为这个缩进是错误的。你是指这个缩进还是我在缩进时又犯了一个错误?doc.save(“output.pdf”)是inst
loop@Alan你说得对,我上传问题时也错过了那个。然而,它仍然不能正常工作。
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import fitz
doc = fitz.open("test.pdf")
text = "result"
# page = doc[0]
# for page in doc.pages(start, stop, step):
for page in doc.pages(0, 3, 1):
text_instances = page.searchFor(text)
for inst in text_instances:
highlight = page.addHighlightAnnot(inst)
highlight.setColors(colors='Red')
highlight.update()
doc.save("output.pdf")