当前位置: 首页>>技术教程>>正文


如何在Evince中删除注释?

,

问题描述

我非常惊讶地发现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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7001.html,未经允许,请勿转载。