Как удалить аннотацию в Evince?

Я с большим удивлением обнаружил, что Evince 2.32.0 позволяет аннотации в PDF. Однако, к моему сожалению, я не нашел средств для удаления аннотаций (без кнопки, без меню, без щелчка правой кнопкой мыши, nada ). Как удалить аннотацию?

27
задан 13 January 2012 в 06:38

5 ответов

Это потому, что на данный момент вы не можете их удалить. Разработчики планируют эту функцию для будущих выпусков.

22
ответ дан 25 May 2018 в 15:14

Щелкните значок аннотации правой кнопкой мыши, «Удалить аннотацию»

Просто щелкните правой кнопкой мыши аннотацию и выберите «Удалить аннотацию» в контекстном меню. У меня Evince 3.14 в соответствии с ошибкой Evince, проблема была решена летом 2014 года.

Ниже приведен взлом для более старых версий Evince.

Существует хак для определенного. [!d3 ]

Откройте pdf в простом текстовом редакторе (он не должен пытаться «исправить» его). Я использовал nano.

Прокрутите до конца (удерживайте страницу вниз).

Аннотации находятся в не двоичном формате (поэтому относительно читабельны) в самом конце 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)

Мне удалось удалить определенные аннотации, удалив правильные строки, но это может занять несколько проб и ошибок. Всегда создавайте резервную копию, прежде чем приступать к ней.

Когда вы удаляете строку, вы также должны удалить все строки, ссылающиеся на нее с родителем. Число ссылается на номер в начале удаленной строки .

ПРИМЕЧАНИЕ. Часть после верхнего %% EOF может быть полностью удалена, чтобы удалить все аннотации. Это кажется довольно безопасным.

10
ответ дан 25 May 2018 в 15:14
  • 1
    На самом деле я только что понял все это, и тогда я заметил, что Эвинс исправлен. Просто щелкните правой кнопкой мыши и выберите " Удалить аннотацию " – Hallfaer 19 December 2014 в 15:34
  • 2
    OP заявила, что имеет версию 2.32.0, что означает, что такого меню нет (очевидно, поскольку OP, вероятно, пытался вызвать контекстное меню, но без каких-либо успехов я подозреваю, так как нет такой вещи для более старых версий Evince ). – rbaleksandar 11 January 2016 в 00:11

Это работает для меня:

gvfs-set-attribute /path/to/file.pdf metadata::evince::bookmarks ''

(evince 3.4.0, Ubuntu 12.04)

8
ответ дан 25 May 2018 в 15:14
  • 1
    Я могу подтвердить, что это сработало для удаления аннотаций: gvfs-set-attribute /path/to/file.pdf metadata::evince::annotations ''. Evince 3.6.0 / Ubuntu 12.10. – jon 8 August 2013 в 02:15

Это было фактически ограничение библиотеки poppler, которое не поддерживало удаление аннотаций (см. этот отчет об ошибке).

Удаление аннотаций в poppler теперь реализовано как для qt4, так и для glib-интерфейсов ( в настоящее время в git-сервере). Надеюсь, это не займет слишком много времени, пока проблема не будет устранена.

6
ответ дан 25 May 2018 в 15:14
  • 1
    Да. Интересно, зачем использовать библиотеку poppler. Они могут просто отображаться в виде виджетов в столбце рядом с pdf-страницей. – Benjamin 11 May 2012 в 11:14
  • 2
    Я не знаю. Во всяком случае, эта ошибка должна была быть исправлена ​​в poppler 0.20. – aroque 12 May 2012 в 02:04

Если вы хотите удалить все аннотации из файла pdf, это должно работать:

sudo apt-get install libcam-pdf-perl
rewritepdf -C /path_to_annotated_file/input.pdf /path_to_output_file/clean.pdf
5
ответ дан 25 May 2018 в 15:14

Другие вопросы по тегам:

Похожие вопросы: