簡體   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