我正在寻找一种方法来导出 PDF 的注释层并将其合并回另一个 PDF 中。 我尝试过使用 poppler 和 PyPDF2 等库,但到目前为止没有任何效果。 有没有开源库可以实现我想要的功能?
免责声明:我是本示例中使用的库
borb
的作者。
borb
将 PDF 文档转换为嵌套列表、字典和基元的内部类似 JSON 的表示形式。这意味着您的问题归结为将字典从一个 JSON 对象复制到另一个。应该很容易。
您需要阅读第一个文档:
doc_in_a = None
with open("input_a.pdf", "rb") as in_file_handle:
doc_in_a = PDF.loads(in_file_handle)
那么你需要阅读第二个文档:
doc_in_b = None
with open("input_b.pdf", "rb") as in_file_handle:
doc_in_b = PDF.loads(in_file_handle)
然后添加从a到b的所有注释:
annots = doc_in_a.get_page(0).get_annotations()
doc_in_b.get_page(0)[Name("Annots")] = List()
for a in annots:
doc_in_b.get_page(0)["Annots"].append(a)
最后,写pdf b:
with open("output.pdf", "wb") as out_file_handle:
PDF.dumps(out_file_handle, doc_in_b)