Como excluir uma anotação no Evince?

27

Descobri com grande surpresa que o Evince 2.32.0 permite anotações em um PDF. Para minha consternação, no entanto, não encontrei meios de excluir anotações (sem botão, sem menu, sem menu do botão direito, nada ). Como posso excluir uma anotação então?

Benjamin
fonte
Para novos visitantes, consulte a resposta de RHertel: sudo apt-get install libcam-pdf-perlthenrewritepdf -C annotated.pdf clean.pdf
Orion

Respostas:

10

Clique com o botão direito do mouse no ícone de anotação, "Remover anotação"

Simplesmente clique com o botão direito do mouse em uma anotação e selecione "Remover anotação" no menu de contexto. Eu tenho o Evince 3.14 de acordo com o rastreador de erros do Evince, o problema foi resolvido no verão de 2014

Abaixo está um hack para versões mais antigas do Evince.

Há um hack para o determinado.

Abra o pdf em um editor de texto simples (ele não deve tentar "corrigi-lo"). Eu usei nano.

Role até o fim (mantenha pressionada a tecla Page Down).

As anotações estão em um formato não binário (portanto, relativamente legível) no final do PDF. Em um PDF com duas anotações, a parte final fica assim:

%%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)

Consegui excluir anotações específicas removendo as linhas corretas, mas pode levar algumas tentativas e erros. Sempre crie um backup antes de começar a mexer com isso.

Ao remover uma linha, você também deve remover todas as linhas que a referenciam com um / Parent O número faz referência ao número no início da linha que você removeu.

NOTA: A parte após o %% EOF superior pode ser totalmente removida para remover todas as anotações. Isso parece bastante seguro.

Hallfaer
fonte
Na verdade, eu só descobri tudo isso, e então notei que Evince foi consertado. Apenas clique com o botão direito do mouse e selecione "Remover anotação"
Hallfaer
O OP declarou que ele possui a versão 2.32.0, o que significa que esse menu não está disponível (obviamente, já que o OP provavelmente tentou chamar o menu de contexto, mas sem sucesso, suspeito, pois não existe tal coisa para versões mais antigas do Evince )
precisa saber é o seguinte
8

Isso funciona para mim:

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

(evince 3.4.0, Ubuntu 12.04)

eik3
fonte
Posso confirmar isso funcionou para a remoção de anotações: gvfs-set-attribute /path/to/file.pdf metadata::evince::annotations ''. Evince 3.6.0 / Ubuntu 12.10.
quer
6

Na verdade, isso era uma limitação da biblioteca poppler , que não suportava a exclusão de anotações (consulte este relatório de bug ).

A remoção de anotações no poppler agora foi implementada para os frontends qt4 e glib (atualmente no git master). Espero que não demore muito até que o problema seja resolvido.

aroque
fonte
Sim. Eu me pergunto por que usar a biblioteca poppler. Eles podem simplesmente ser exibidos como widgets em uma coluna ao lado da página em pdf.
1111 Benjamin
Eu não sei. De qualquer forma, esse bug deveria ter sido corrigido no poppler 0.20.
Aroque 11/05/12
6

Se você deseja remover todas as anotações de um arquivo pdf, isso deve funcionar:

sudo apt-get install libcam-pdf-perl
rewritepdf -C /path_to_annotated_file/input.pdf /path_to_output_file/clean.pdf
RHertel
fonte