簡體   English   中英

如何使用 fitz 刪除文本層?

[英]how to delete a text layer using fitz?

這是一個非常直接的問題。 我使用page.insert_text()添加了一個不可見的文本層。

保存修改后的 pdf 后,我可以使用page.get_text()來檢索創建的文本圖層。

我希望能夠消除那層,買了找不到 function 來做。

我想出的解決方案是將頁面作為圖像並創建一個新的 pdf。 但這似乎是一個非常低效的解決方案。

我希望能夠在不使用 fitz 以外的其他庫的情況下解決這個問題,並且感覺它應該是 fitz 中的解決方案,考慮到page.get_text()可以訪問我試圖消除的確切信息

如果您確定頁面上文本的下落(我知道您是),只需使用 PDF 編輯:

page.add_redact_annot(rect1)  # remove text inside this rectangle
page.add_redact_annot(rect2)
...
page.apply_redactions(images=fitz.PDF_REDACT_IMAGE_NONE)
# the above removes everything intersecting any of the rects,
# but leaves images untouched

顯然,您可以通過將page.rect作為編輯矩形來刪除頁面上的所有文本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM