合并两个文件的 PDF 注释

合并两个文件的 PDF 注释

我有同一份 PDF 文档的两个版本。一个版本包含我在笔记本电脑上阅读时所做的注释,另一个版本包含我在平板电脑上所做的注释。现在我想将这些注释合并到同一个文件中。

我知道 Adob​​e Acrobat 允许我执行此操作(例如,请参阅Ask Different 上的这个答案)。是否有任何可以在 Ubuntu 中使用的软件可以让我做到这一点?

不管怎样,我在平板电脑上使用 Xodo。

答案1

至少okular将评论存储为的对象/Type/Annot,请参阅以下示例了解语法:

17 0 obj
<<
/Type/Annot
/Rect[67.023 756.168 85.203 774.333]
/Subtype/Text
/M(D:20170828091301)
/T(■ somebody)
/Contents(■ text)
/NM(okular-{8ff65cc1-7b89-45c6-8adf-1aa6cec06cd0})
/F 4
/C[1 1 0]
/CA 0.5
/Border[0 0 1]
/P 20 0 R
>>
endobj

18 0 obj
<<
/Type/Annot
/Rect[37.7 597.841 236.675 615.979]
/Subtype/FreeText
/DA(/Invalid_font 10 Tf)
/M(D:20170828091316)
/T(■ somebody)
/Contents(■ text)
/NM(okular-{50420111-1c05-4e07-8db5-08deffb0ec7e})
/F 20
/C[1 1 0]
/CA 0.5
/Border[0 0 1]
/Q 0
/IT/FreeText
/P 20 0 R
>>
endobj

这些对象使用类似命令链接到页面/Annots 14 0 R,这就是这个脚本删除给定pdf文件中的所有注释,它只是删除所有/Annots行:

pdftk original.pdf output uncompressed.pdf uncompress
LANG=C sed -n '/^\/Annots/!p' uncompressed.pdf > stripped.pdf
pdftk stripped.pdf output final.pdf compress

如果您深入研究特定pdf文档的结构(只需使用文本编辑器打开它们),您可能能够了解正在发生的事情,并设法使用例如来操作文档sed,但是我非常怀疑是否存在适合每种文档类型的解决方案。值得一提的是,(至少对于我的测试文件而言)以下一行程序会在终端中pdf为您提供注释:input.pdf

pdftk input.pdf output - uncompress | sed '/^\/Contents (/!d'

添加>> comments到该行的末尾以将输出存储在名为的文件中comments

相关内容