4

我正在寻找一种方法来导出 PDF 的注释层并将其合并回另一个 PDF。我尝试过使用 poppler 和 PyPDF2 之类的库,但到目前为止没有任何效果。有没有可以做我想做的任何开源库?

4

1 回答 1

0

免责声明:我是本示例中使用的库 pText 的作者。

pText 将 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)

您可以在GitHub 上获取 pText ,或者使用PyPi 有更多示例,查看它们以了解有关使用图像的更多信息。

于 2021-02-21T12:43:42.767 回答