如何在 Evince 中删除注释?

ney*_*rec 28 evince

我惊讶地发现 Evince 2.32.0 允许在 PDF 上添加注释。然而,令我沮丧的是,我没有找到删除注释的方法(没有按钮、没有菜单、没有右键单击菜单、nada)。那么如何删除注释呢?

Pan*_*her 22

那是因为目前您无法删除它们。开发人员正在为将来的版本计划此功能。

  • 为什么?为什么他们会添加 _add_ 注释的能力而不是 _remove_ 注释的能力? (7认同)
  • [在较新版本的 Evince 中是可能的](https://askubuntu.com/questions/95042/how-to-delete-an-annotation-in-evince/563276#563276)。 (3认同)

Hal*_*aer 12

右键单击注释图标,“删除注释”

只需右键单击注释并从上下文菜单中选择“删除注释”。根据 Evince 错误跟踪器,我有 Evince 3.14 问题已于 2014 年夏季解决

以下是针对较旧 Evince 版本的 hack。

有决心的黑客。

在简单的文本编辑器中打开 pdf(它不应该尝试“修复”它)。我用过纳米。

一直滚动到底部(按住 Page Down)。

注释在 PDF 的最后采用非二进制格式(因此相对可读)。在带有两个注释的 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)
Run Code Online (Sandbox Code Playgroud)

我设法通过删除正确的行来删除特定的注释,但这可能需要反复试验。在开始处理这个之前,请务必创建一个备份。

当您删除一行时,您还必须删除所有使用 /Parent 引用它的行 该数字引用了您删除的行开头的数字。

注意:可以完全删除上面的 %%EOF 之后的部分以删除所有注释。这似乎相当安全。


小智 8

这对我有用:

gvfs-set-attribute /path/to/file.pdf metadata::evince::bookmarks ''
Run Code Online (Sandbox Code Playgroud)

(证明 3.4.0,Ubuntu 12.04)


aro*_*que 6

这实际上是poppler库的一个限制,它不支持删除注释(请参阅此错误报告)。

现在已经为 qt4 和 glib 前端(目前在 git master 中)实现了在 poppler 中删除注释。希望在 evince 问题解决之前不会花太长时间。


小智 6

如果您希望从 pdf 文件中删除所有注释,这应该有效:

sudo apt-get install libcam-pdf-perl
rewritepdf -C /path_to_annotated_file/input.pdf /path_to_output_file/clean.pdf
Run Code Online (Sandbox Code Playgroud)