Annotations de texte et ajout d'images au fichier PDF à l'aide d'un logiciel gratuit

17

Je souhaite surtout annoter un fichier PDF avec du texte à une position prédéterminée. Les interfaces graphiques et les utilitaires de ligne de commande sont tous deux corrects, mais uniquement des solutions logicielles gratuites, s'il vous plaît. Cependant, j'ai inclus des ajouts d'images pour être complet.

Pour être clair, les annotations doivent faire partie du fichier PDF, sinon ce n'est pas utile.

Il y a deux questions similaires sur Ask Ubuntu , mais elles ont toutes deux deux ans. Voici comment puis-je ajouter du texte et des images (par exemple, une signature) à un PDF? et Comment puis-je modifier une image dans un fichier PDF existant?

J'ai essayé Xournal , qui fonctionne. Cependant, je pense qu'un petit tutoriel sur la façon de le faire serait bien, donc vous voulez ajouter un petit tutoriel sur la façon d'utiliser Xournal pour accomplir ces tâches, veuillez ajouter une réponse.

J'ai également essayé updf, qui n'a pas fonctionné pour moi, bien que cette réponse et celle-ci, par exemple, le disent. J'ai reconstruit le paquet (qui est pur Python) sur Debian Wheezy, en utilisant les sources du PPA updf . Cela semble assez primitif et la boîte de dialogue "Enregistrer sous" n'avait même pas de bouton d'enregistrement. Si d'autres personnes ont eu des expériences différentes, veuillez poster.

Pour chaque réponse, veuillez fournir un bref didacticiel avec des captures d'écran, le cas échéant, sur la façon dont vous avez accompli cette tâche.

Faheem Mitha
la source
Quel était le problème avec libreoffice?
goldilocks
@goldilocks Je ne l'ai pas utilisé. Si cela fonctionne pour vous, écrivez une réponse.
Faheem Mitha
Libreoffice 3.5.4 essaie d'ouvrir un fichier PDF en tant que texte ici. Peut-être que je fais quelque chose de mal.
Faheem Mitha
J'ai réussi à éditer un PDF pour ajouter des couleurs à différents états dans un diagramme d'état ab / w dans certains documents à l'aide de libreoffice et j'ai été gravement impressionné par le résultat (il était presque impossible de remarquer une différence autre que l'épaisseur de la ligne était légèrement différente a peu d'endroits).
hlovdal
@hlovdal Pouvez-vous donner des détails sur la façon dont vous avez fait cela?
Faheem Mitha

Réponses:

12

Les fichiers PDF semblent s'ouvrir dans LibreOffice Draw. Je n'ai rien fait d'autre que d'ouvrir le fichier comme ceci:

$ libreoffice carcut_01.pdf

Une fois dans LibreOffice Draw, j'ai simplement annoté le PDF comme s'il s'agissait d'un document / d'une image normal. Une fois terminé, j'ai cliqué sur l'icône PDF dans la barre d'outils de Draw pour exporter le fichier en tant que nouveau fichier PDF.

    tirage au sort

C'était le résultat de mes efforts.

    ss de xpdf

Mais LibreOffice ne fonctionne pas pour moi?

Si vous rencontrez un problème avec Draw ne pouvant pas le faire (j'utilisais la version de LibreOffice):

  • Version: 4.1.4.2
  • ID de version: 4.1.4.2-4.fc19

** REMARQUE: * Il se peut que ce package qui fait partie de LibreOffice vous manque:

$ rpm -aq|grep "libre.*pdf"
libreoffice-pdfimport-4.1.4.2-4.fc19.x86_64

Voici à quoi ressemble le package sur les distributions basées sur Red Hat telles que Fedora. Je suppose que sur Debian / Ubuntu, il y a probablement un paquet du même nom libreoffice-pdfimport.

Des alternatives?

Vous pouvez essayer Okular .

Okular vous permet de revoir et d'annoter vos documents. Les annotations créées dans Okular sont automatiquement enregistrées dans le dossier de données local interne pour chaque utilisateur. Okular ne modifie implicitement aucun document qu'il ouvre.

capture d'écran

   ss d'okular

Quoi d'autre?

Comme le montre la réponse de @ Terdon , vous pouvez également utiliser GIMP, ainsi qu'une multitude d'autres outils. @Terdon a également eu la gentillesse de publier ce lien dans notre salon de discussion, qui contient une liste d'autres outils pour annoter les PDF et les visualiser.

slm
la source
1
Notes spécifiques à Debian: je suis sur Wheezy mais j'utilise actuellement le backport libreoffice 1:4.1.4-2. J'ai installé libreoffice, mais j'ai dû ajouter libreoffice-pdfimport, car cela n'est pas tiré par libreoffice. Sans cela, cela ne fonctionne pas. Cliquez sur le T dans la barre inférieure pour insérer du texte. La tentative de remplacement du PDF existant échoue ici. De plus, la sortie résultante semble assez médiocre par rapport à l'original - un PDF généré à partir de la sortie LaTeX. Cela peut (et fonctionne probablement) avec le wheezy Libreoffice. Je n'ai pas pris la peine de vérifier.
Faheem Mitha
J'ai essayé l'option d'édition Okular. Il s'agit de l'option Review sous Tools. Cependant, il ne s'affiche avec aucun visualiseur PDF et ne fait donc clairement pas partie du PDF, ce qui le rend inutile.
Faheem Mitha
J'ai pu ouvrir un PDF dans LibreOffice Draw, dessiner un rectangle et exporter de nouveau au format PDF. Cependant, le PDF (produit à l'origine à partir de Docbook) avait une table des matières cliquable - la mise en page de celui-ci a été légèrement gâchée et les éléments ne peuvent plus être cliqués pour sauter.
Oskar Berggren
8

Étant donné que vous souhaitez simplement superposer du texte à une position prédéterminée, vous pouvez utiliser pdftkpour cela.

Vous avez besoin de deux fichiers PDF. L'un est le fichier PDF que vous souhaitez tamponner avec le texte. L'autre fichier PDF est le texte que vous souhaitez tamponner. Le second doit avoir un fond transparent. Vous pouvez facilement le faire avec, disons, LibreOffice Draw, et imprimer au format pdf en utilisant cups-pdf. L'exportation au format PDF, même si vous ne sélectionnez pas PDF1 / A, crée un arrière-plan opaque.

Ensuite, vous faites:

pdftk input.pdf stamp overlay.pdf output stamped.pdf

Si vous voulez des superpositions différentes sur différentes pages, créez une superposition de plusieurs pages.pdf (la page de superposition va sur la page d'entrée 1, la page de superposition 2 sur la page d'entrée 2, etc.), puis:

pdftk input.pdf multistamp overlay.pdf output stamped.pdf

Étant donné que les captures d'écran sont populaires, voici à quoi ressemblent les entrées et les résultats. Le fichier input.pdf a bien sûr été créé à l'aide de l'outil très important de Smileys de LibreOffice:

Capture d'écran


Comment créer un PDF avec CUPS-PDF

CUPS-PDF est un pilote d'impression pour CUPS qui crée des fichiers PDF à partir de travaux d'impression. Pour l'utiliser, vous devez utiliser CUPS. Installez le cups-pdfpaquet (requis au moins dans Debian). Visitez l'interface d'administration CUPS à http://localhost:631/adminet cliquez sur «Ajouter une imprimante». Vous devriez voir "CUPS-PDF (Virtual PDF Printer)" en option. Sélectionnez-le, appuyez sur Continuer. Remplissez les noms de file d'attente, etc. et continuez à nouveau. Si on demande un PPD, il est sous générique.

Une fois que vous avez ajouté cette imprimante, elle peut être entièrement configurée dans /etc/cups/cups-pdf.conf.

Pour l'utiliser, imprimez comme d'habitude, mais sélectionnez-le comme imprimante, au lieu de votre imprimante normale. Le fichier PDF sera récupéré $HOME/PDFpar défaut.

derobert
la source
CUPS peut demander l'authentification lors de l'ajout d'une imprimante, l'utilisateur doit être ajouté au groupe requis ( syspar défaut)
aksh1618
6

Okular peut faire des annotations sur les PDF, à partir de la version de Debian 8 (Jessie). Voici la version:

okular --version
Qt: 4.8.6
KDE Development Platform: 4.14.2
Okular: 0.20.2

Voici comment cela fonctionne:

Pour plus de détails, voir la page de référence Annotation du manuel Okular .

Pour citer cette page:

Depuis Okular 0.15, vous pouvez également enregistrer des annotations directement dans des fichiers PDF. Cette fonctionnalité n'est disponible que si Okular a été construit avec la version 0.20 ou une version ultérieure de la bibliothèque de rendu Poppler.

Tout d'abord, vous devez annoter le PDF. Vous pouvez le faire via le menu ou via une touche. Vous pouvez trouver les outils sous Tools->Reviewou via la touche F6.

Cela fera apparaître un menu sur la gauche, avec une variété d'options.

entrez la description de l'image ici

La meilleure option pour les annotations en ligne est probablement la "Note en ligne". Suivez les instructions du lien pour enregistrer la note. Comme indiqué dans le lien, la couleur d'arrière-plan, la police et d'autres fonctionnalités de la note peuvent être personnalisées. Voir aussi Modifier et enregistrer le paramètre d'annotation PDF dans Okular? .

Par défaut, les informations d'annotation sont stockées dans des fichiers xml situés dans

~/.kde/share/apps/okular/docdata

ou plus généralement, à l'emplacement

$(kde4-config --localprefix)/share/apps/okular/docdata/

Pour enregistrer l'annotation dans le fichier PDF, comme cela est souhaitable, vous devez enregistrer les annotations dans le fichier à l'aide Save As.

L'annotation est vue par xpdf et evince (qui lance l'avertissement "AVERTISSEMENT **: annotation non implémentée: POPPLER_ANNOT_FREE_TEXT. C'est un problème connu et il pourrait être implémenté à l'avenir." Mais affiche toujours l'annotation), mais pas par acroread(9.5 .5) ou le plugin PDF de Chromium(45.0.2454.85). Il imprime également Ok à l'aide d' gtklpun frontend CUPS.


Quelques conseils supplémentaires:

  • La fonction de révision peut être ajoutée à la barre d'outils: Paramètres - Configurer les barres d'outils - modifier sous Barre d'outils: Barre d'outils principale okular_part - filtrer les actions disponibles en recherchant "Vérifier" et l'ajouter aux actions en cours à droite.

entrez la description de l'image ici

  • Les options d'annotations peuvent être éditées, de nouvelles variantes peuvent être ajoutées: faites un clic droit sur les boutons Review et sélectionnez "Configure Annotations"

entrez la description de l'image ici

Faheem Mitha
la source
3

Vous pouvez également utiliser gimp:

$ gimp foo.pdf

                                                      entrez la description de l'image ici

Cliquez sur "Importer":

                                          entrez la description de l'image ici

Joue avec:

                                           entrez la description de l'image ici

Sauvegarde le:

   !entrez la description de l'image ici

terdon
la source
… Mais vous perdez toutes les informations vectorielles.
wchargin
2

Un bon choix pour l'annotation est TeX, en particulier LaTeX en conjonction avec le package LaTeX pdfpageset le package de dessin TikZ.

Un exemple de script suit. Il s'agit de la superposition du document de deux pages text.pdf. La commande \includepdfdu pdfpagespackage est invoquée avec l' pagecommandoption d'inclure la première page du pdf, avec du texte superposé utilisant TikZ. Ensuite, la deuxième page est incluse en utilisant \includepdf, mais sans aucune annotation.

Il s'agit d'une méthode extrêmement puissante, mais simple, car elle utilise toute la puissance de TeX et TikZ.

Si vous n'êtes pas familier avec TeX / LaTeX, vous pouvez le tester en copiant ce script, en l'appelant (disons) example.tex, en changeant text.pdfen n'importe quel PDF de 2 pages que vous avez. Ensuite, lancez

pdflatex example.tex

en s'assurant que example.texet text.pdfsont au même niveau de répertoire.

Si vous souhaitez générer un fichier PDF de 2 pages pour les tests, une méthode simple consiste à invoquer groff.

echo .bp | groff -T pdf > text.pdf

.bpsignifie page de rupture et crée un PDF vierge de deux pages. Cette commande est une gracieuseté de James Lowden .

\documentclass[a4paper]{article}
\usepackage{pdfpages}
\usepackage{tikz}
\usepackage{tikzpagenodes}
\begin{document}

\includepdf[pagecommand=
{\begin{tikzpicture}[remember picture, overlay]
    \node at (2,2.0){\large{\textbf{PLEASE WRITE EMAIL ADDRESS:}}};
    \draw[thick,latex-] (current page footer area.south east) -- +(-3.4cm,-2.2cm)
    node[pos=1,anchor=east] (a) {\large\textbf{{CONTINUED ON NEXT PAGE}}};
  \end{tikzpicture}}
,pages=1]{text.pdf}
\includepdf[pages=2]{text.pdf}

\end{document}

Il est utile de poser une grille de coordonnées sur la page lorsque vous effectuez cette opération, afin de faciliter le positionnement. Voir, par exemple, les recettes données dans les réponses à la grille avec des coordonnées de tous les côtés? et la réponse originale de Loop Space liée dans la question.

Voici une image du résultat:

Exemple de page

Faheem Mitha
la source