web-dev-qa-db-fra.com

Comment supprimer une annotation dans Evince?

J'ai découvert avec une grande surprise qu'Evince 2.32.0 autorise les annotations sur un fichier PDF. À mon grand désarroi, toutefois, je n'ai trouvé aucun moyen de supprimer des annotations (pas de bouton, pas de menu, pas de menu contextuel, nada). Comment puis-je supprimer une annotation alors?

27
Benjamin

C'est parce que pour le moment, vous ne pouvez pas les supprimer . Les développeurs planifient cette fonctionnalité pour les versions futures.

22
Panther

Cliquez sur l'icône d'annotation, "Supprimer l'annotation".

Faites simplement un clic droit sur une annotation et sélectionnez "Supprimer une annotation" dans le menu contextuel. J'ai Evince 3.14 selon le bug tracker Evince le problème a été résolu l'été 2014

Vous trouverez ci-dessous un hack pour les anciennes versions d'Evince.

Il y a un bidouillage pour le déterminé.

Ouvrez le pdf dans un simple éditeur de texte (il ne faut pas essayer de le "réparer"). J'ai utilisé le nano.

Faites défiler tout le chemin vers le bas (maintenez la page enfoncée).

Les annotations sont dans un format non binaire (donc relativement lisible) à la toute fin du fichier PDF. Dans un PDF avec deux annotations, la dernière partie ressemble à ceci:

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

J'ai réussi à supprimer des annotations spécifiques en supprimant les lignes correctes, mais cela peut prendre quelques essais et erreurs. Toujours créer une sauvegarde avant de commencer à jouer avec cela.

Lorsque vous supprimez une ligne, vous devez également supprimer toutes les lignes qui la référencent avec un/Parent. Le numéro fait référence au numéro au début de la ligne que vous avez supprimée.

REMARQUE: La partie située après le %% EOF supérieur peut être entièrement supprimée pour supprimer toutes les annotations. Cela semble assez sûr.

10
Hallfaer

Cela fonctionne pour moi:

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

(voir 3.4.0, Ubuntu 12.04)

8
eik3

Si vous souhaitez supprimer les toutes annotations d'un fichier pdf, cela devrait fonctionner:

Sudo apt-get install libcam-pdf-Perl
rewritepdf -C /path_to_annotated_file/input.pdf /path_to_output_file/clean.pdf
6
RHertel

C'était en fait une limitation de la bibliothèque poppler , qui ne supportait pas la suppression d'annotations (voir ce rapport de bogue ).

La suppression des annotations dans poppler est maintenant implémentée pour les interfaces qt4 et glib (actuellement dans git master). Espérons que cela ne prendra pas longtemps avant que le problème ne soit résolu.

6
aroque