如何快速匿名化evince中的所有注释?

如何快速匿名化evince中的所有注释?

在 Evince 中,我知道我可以右键单击注释 -> 注释属性... 并在属性窗口中清除作者。但是,对每个注释都这样做有点过头了。

有没有一种简单的方法可以匿名化 Evince 上的所有注释?

答案1

您无法在 evince 中执行此操作。您可以使用一个名为 pymupdf 的小型 Python 库来执行此操作。这是一个小脚本。

try:
    import fitz
except ImportError as e:
    import subprocess
    print('Trying to install pip install PyMuPDF')
    subprocess.call("pip install PyMuPDF".split())
    print('Try pip install PyMuPDF')
    raise
import sys
if len(sys.argv) < 2:
    raise ValueError("Please provide a pdf to anonymize")
if len(sys.argv) < 3:
    outfilename = filename.replace('.pdf', '.anon.pdf')
else:
    outfilename = sys.argv[2]
filename = sys.argv[1]
doc = fitz.open(filename)
metadata = doc.metadata
for k, v in metadata.items():
    if k not in ['format']: # retain some metadata
        metadata[k] = ''
doc.set_metadata(metadata)

for page in doc:
    for annot in page.annots():
        info = annot.info
        info['title'] = ''
        annot.set_info(info)
        annot.update()

doc.save(outfilename)

源码要点链接: https://gist.github.com/wecacuee/f1e92d421312b7c7c1907667f4f3a318

相关内容