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

27

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

Вениамин
источник
Новым посетителям см. Ответ RHertel: sudo apt-get install libcam-pdf-perlзатемrewritepdf -C annotated.pdf clean.pdf
Орион,

Ответы:

10

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

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

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

Есть взлом для решительных.

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

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

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

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

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

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

Hallfaer
источник
На самом деле, я просто все это выяснил, и потом заметил, что Эвинс был исправлен. Просто щелкните правой кнопкой мыши и выберите «Удалить аннотацию»
Hallfaer
ОП заявил, что у него версия 2.32.0, что означает, что такого меню нет (очевидно, поскольку ОП, вероятно, пытался вызвать контекстное меню, но я подозреваю, что безуспешно, поскольку для старых версий Evince такого не существует). ).
rbaleksandar
8

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

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

(версия 3.4.0, Ubuntu 12.04)

eik3
источник
Я могу подтвердить , что это работает для удаления аннотаций: gvfs-set-attribute /path/to/file.pdf metadata::evince::annotations ''. Evince 3.6.0 / Ubuntu 12.10.
джон
6

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

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

aroque
источник
Да. Интересно, зачем использовать библиотеку Попплера? Они могут просто отображаться в виде виджетов в столбце рядом со страницей PDF.
Бенджамин
Я не знаю. В любом случае, эта ошибка должна была быть исправлена ​​в poppler 0.20.
арок
6

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

sudo apt-get install libcam-pdf-perl
rewritepdf -C /path_to_annotated_file/input.pdf /path_to_output_file/clean.pdf
RHertel
источник