2

我们有一个相当复杂的打印工作流程,其中控制是使用 Adob​​e Reader 或 Adob​​e Acrobat 为生成的 PDF 文档的草稿版本添加注释和注释。作为工作流程的一部分,应解析带有注释和注释的导入 PDF 文档,并且应将注释导入 CMS 系统(与 PDF 一起)。

问:是否有任何可靠的工具(首选 Python 或 Java)可以以干净可靠的方式将此类数据提取为 PDF 文件?

4

1 回答 1

3

这段代码应该可以完成这项工作。Parse annotations from a pdf问题的答案之一对让我编写下面的代码非常有帮助。它使用 poppler 库来解析注释。这是annotations.pdf的链接。

代码

import poppler, os.path

path = 'file://%s' % os.path.realpath('annotations.pdf')
doc = poppler.document_new_from_file(path, None)
pages = [doc.get_page(i) for i in range(doc.get_n_pages())]

for page_no, page in enumerate(pages):
    items = [i.annot.get_contents() for i in page.get_annot_mapping()]
    items = [i for i in items if i]
    print "page: %s comments: %s " % (page_no + 1, items)

输出

page: 1 comments: ['This is an annotation'] 
page: 2 comments: [' Please note ', ' Please note ', 'This is a comment in the text'] 

安装

在 Ubuntu 上安装如下。

apt-get install python-poppler
于 2012-12-06T17:16:29.277 回答