繁体   English   中英

如何使用python中的fitz模块更改pdf中的突出显示颜色

[英]How to change the highlight color in pdf using fitz module in python

嗨,我正在尝试更改 pdf 中的突出显示颜色,但无法这样做。 默认的高亮颜色是黄色,但我想改变它以下是我的代码:

    import fitz

    doc = fitz.open(r"path\input.pdf")

    page=doc[0]
    text="some text"
    text_instances = page.searchFor(text)


    for inst in text_instances:
        highlight = page.addHighlightAnnot(inst)
        highlight.setColors(colors='Red')
        highlight.update()


    doc.save(r"path\output.pdf")    

另外我如何一起搜索整个 pdf 而不仅仅是一页

以及如何突出显示 pdf 中给出的图像上的文本

我认为setColors需要字典,请在此处查看文档

import fitz

doc = fitz.open("test.pdf")


page = doc[0]

text = "result"

text_instances = page.searchFor(text)

for inst in text_instances:
    highlight = page.addHighlightAnnot(inst)
    highlight.setColors({"stroke":(0, 0, 1), "fill":(0.75, 0.8, 0.95)})
    highlight.update()


doc.save("output.pdf")

在此处输入图片说明

我尝试了以下方法并且有效

import fitz

doc = fitz.open(r"path\to\pdf\file.pdf")
page = doc[6]
# highlighting a pre-determined coordinate
highlight = page.addHighlightAnnot((10, 628.9634743875279, 642.0, 640.9634743875279))
highlight.set_colors(stroke=[1, 0.8, 0.8]) # light red color (r, g, b)
highlight.update()

在此代码片段中,我只是尝试使用文本坐标进行注释,并且从外部代码中获取这些坐标。 我使用的更多颜色:

highlight.set_colors(stroke=[0.5, 1, 1]) # light aqua
highlight.set_colors(stroke=[0.5, 0, 0]) # dark brown

确定颜色的简单方法是将 255 乘以这些值中的每一个。

将 255 从每个值中除以其他方式(将 RGB 转换为这种表示法)

例子:

stroke=[0.5, 1, 1] # RGB(255*0.5, 255*1, 255*1) = RGB(127, 255, 255)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM