问题描述
我非常惊讶地发现Evince 2.32.0允许在PDF上进行注释。令我沮丧的是,我发现没有办法删除注释(没有按钮,没有菜单,没有right-click-menu,nada)。我该如何删除注释呢?
最佳解决思路
那是因为at the moment you can not remove them。开发人员正在为将来的版本规划此功能。
次佳解决思路
Right-click注释图标,“Remove annotation”
只需右键单击注释,然后从上下文菜单中选择“Remove annotation”。根据Evince bug追踪器我有Evince 3.14这个问题在2014年夏天解决了
下面是较旧的Evince版本的黑客攻击。
确定的是有一个黑客。
在一个简单的文本编辑器中打开pdf(它不应该尝试“fix”它)。我用过nano。
一直滚动到底部(按住Page Down)。
注释在PDF的最末端采用non-binary格式(因此相对可读)。在带有两个注释的PDF中,最后一部分如下所示:
%%EOF
4 0 obj <</Type /Page /Contents 5 0 R /Resources 3 0 R /MediaBox [0 0 595.276 841.89 ] /Parent 15 0 R /Annots 67 0 R >> endobj
65 0 obj <</Type /Annot /Rect [179.8028910464 509.6564724919 203.8028910464 533.6564724919 ] /Subtype /Text /M (D:20141219111205) /C [1 1 0 ] /Popup 66 0 R /T (\FE\FF\00N\00a\00m\00e\00 \00o\00f\00 \00a\00u\00t\00h\00o\00r) /P 4 0 R /Contents (\FE\FF\00T\00h\00i\00s\00 \00i\00s\00 \00a\00 \00t\00e\00s\00t\00 \00a\00n\00n\00o\00t\00a\00t\00i\00o\00n\00 \00I\00 \00h\00a\00v\00e\00 \00n\00a\00m\00e\00d\00 \00i\00t\00 \00n\00u\00m\00b\00e\00r\00 \001\00.) >> endobj
66 0 obj <</Type /Annot /Rect [203.8028910464 359.6564724919 403.8028910464 509.6564724919 ] /Subtype /Popup /M (D:20141219111148) /Parent 65 0 R >> endobj
67 0 obj [65 0 R 68 0 R ] endobj
68 0 obj <</Type /Annot /Rect [385.2919093851 365.8141596548 409.2919093851 389.8141596548 ] /Subtype /Text /M (D:20141219111217) /C [1 1 0 ] /Popup 69 0 R /T (\FE\FF\00N\00a\00m\00e\00 \00o\00f\00 \00a\00u\00t\00h\00o\00r) /P 4 0 R /Contents (\FE\FF\00T\00h\00i\00s\00 \00i\00s\00 \00a\00 \00t\00e\00s\00t\00 \00a\00n\00n\00o\00t\00a\00t\00i\00o\00n\00:\00 \00I\00 \00h\00a\00v\00e\00 \00n\00a\00m\00e\00d\00 \00i\00t\00 \00n\00u\00m\00b\00e\00r\00 \002\00.) >> endobj
69 0 obj <</Type /Annot /Rect [409.2919093851 215.8141596548 609.2919093851 365.8141596548 ] /Subtype /Popup /M (D:20141219111206) /Parent 68 0 R >> endobj
xref
0 1
0000000001 65535 f
4 1
0000162703 00000 n
65 5
0000162831 00000 n
0000163168 00000 n
0000163325 00000 n
0000163359 00000 n
0000163698 00000 n
trailer
<</Size 70 /ID [(J]\C3\F8\A9ApV\92\B7\96\AB\A6\B2) (\FDWڸG\BA'8\)\E4\CE\B7) ] /Root 63 0 R /Prev 161245 /Info 64 0 R >>
startxref
163855
%%EOF
<----HERE IS THE ACTUAL END OF FILE (note this was added by me, not part of the PDF)
我设法通过删除正确的行删除特定的注释,但它可能需要一些试验和错误。在开始搞乱之前,请始终创建备份。
删除行时,还必须删除所有使用/Parent引用它的行。该数字引用您删除的行开头的数字。
注意:可以完全删除上部%% EOF之后的部分以删除所有注释。这似乎相当安全。
第三种解决思路
这对我有用:
gvfs-set-attribute /path/to/file.pdf metadata::evince::bookmarks ''
(evince 3.4.0,Ubuntu 12.04)
第四种思路
这实际上是poppler库的限制,它不支持删除注释(参见this bug report)。
现在已经为qt4和glib前端(目前在git master中)删除了poppler中的注释。希望不会花太长时间才能解决问题。
第五种思路
如果您希望从pdf文件中删除所有注释,这应该有效:
sudo apt-get install libcam-pdf-perl
rewritepdf -C /path_to_annotated_file/input.pdf /path_to_output_file/clean.pdf