繁体   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