En présentant pdftk-java, j'ai expliqué comment j'utilise le pdftk-java
commande pour apporter des modifications rapides, souvent scriptées, aux fichiers PDF.
Cependant, l'une des choses pdftk-java
est le plus utile lorsque j'ai téléchargé un gros fichier PDF, parfois avec des centaines de pages de texte de référence, et que j'ai découvert que le créateur du PDF n'incluait pas de table des matières. Je ne parle pas d'une table des matières imprimée dans la première partie du livre ; Je veux dire la table des matières que vous obtenez sur le côté de votre lecteur PDF, que le format PDF appelle officiellement "signets".
Sans signets, trouver le chapitre auquel vous devez faire référence est fastidieux et implique soit de nombreux défilements, soit des recherches frustrantes de mots que vous pensez avoir vus dans la zone générale.
Un autre inconvénient mineur de nombreux fichiers PDF est le manque de métadonnées, telles qu'un titre et un auteur appropriés dans les propriétés PDF. Si vous avez déjà ouvert un PDF et vu quelque chose de générique comme "Microsoft Word - 04_Classics_Revisited.docx" dans la barre de titre de la fenêtre, vous connaissez ce problème.
Je n'ai plus à gérer ce problème car j'ai pdftk-java
, ce qui me permet de créer mes propres signets.
Installer pdftk-java sur Linux
Plus de ressources Linux
- Aide-mémoire des commandes Linux
- Aide-mémoire des commandes Linux avancées
- Cours en ligne gratuit :Présentation technique de RHEL
- Aide-mémoire sur le réseau Linux
- Aide-mémoire SELinux
- Aide-mémoire sur les commandes courantes de Linux
- Que sont les conteneurs Linux ?
- Nos derniers articles Linux
Comme son nom l'indique, pdftk-java est écrit en Java, il fonctionne donc sur tous les principaux systèmes d'exploitation tant que Java est installé.
Les utilisateurs Linux et macOS peuvent installer Linux depuis AdoptOpenJDK.net.
Les utilisateurs Windows peuvent installer la version Windows d'OpenJDK de Red Hat.
Pour installer pdftk-java sous Linux :
- Téléchargez la version pdftk-all.jar depuis son dépôt Gitlab et enregistrez-la dans
~/.local/bin/
ou à un autre emplacement sur votre chemin. - Ouvrir
~/.bashrc
dans votre éditeur de texte préféré et ajoutez-y cette ligne :alias pdftk='java -jar $HOME/.local/bin/pdftk-all.jar'
- Chargez vos nouveaux paramètres Bash :
source ~/.bashrc
Dump de données
La première étape de la correction des métadonnées d'un PDF consiste à extraire le fichier de données que contient actuellement le PDF.
Il n'y a probablement pas grand-chose dans le fichier de données (c'est le problème !), mais cela vous donne un bon point de départ.
$ pdftk mybigfile.pdf \
data_dump \
output bookmarks.txt
Cela produit un fichier appelé bookmarks.txt
, et il contient toutes les métadonnées attribuées au fichier d'entrée (dans cet exemple, mybigfile.pdf
), plus beaucoup de ballonnement.
Modification des métadonnées
Pour modifier les métadonnées du PDF, ouvrez votre bookmarks.txt
fichier dans votre éditeur de texte préféré, tel que Atom ou Gedit.
Le format est principalement intuitif et les données qu'il contient sont, comme on pouvait s'y attendre, négligées :
InfoBegin
InfoKey: Creator
InfoValue: Word
InfoBegin
InfoKey: ModDate
InfoValue: D:20151221203353Z00'00'
InfoBegin
InfoKey: CreationDate
InfoValue: D:20151221203353Z00'00'
InfoBegin
InfoKey: Producer
InfoValue: Mac OS X 10.10.4 Quartz PDFContext
InfoBegin
InfoKey: Title
InfoValue: Microsoft Word - 04_UA_Classics_Revisited.docx
PdfID0: f049e63eaf3b4061ddad16b455ca780f
PdfID1: f049e63eaf3b4061ddad16b455ca780f
NumberOfPages: 42
PageMediaBegin
PageMediaNumber: 1
PageMediaRotation: 0
PageMediaRect: 0 0 612 792
PageMediaDimensions: 612 792
[...]
Vous pouvez modifier les champs InfoValue pour contenir des données pertinentes pour le PDF que vous réparez. Par exemple, au lieu de définir la clé Creator sur la valeur Word, vous pouvez la définir sur le nom de l'auteur réel ou sur la maison d'édition qui publie le fichier PDF. Plutôt que de donner au document la chaîne d'exportation par défaut de l'application qui l'a produit, donnez-lui le titre réel du livre.
Il y a aussi des travaux de nettoyage que vous pouvez faire. Tout en dessous du NumberOfPages
ligne est également inutile, alors supprimez ces lignes.
Ajouter des signets
Les signets PDF suivent ce format :
BookmarkBegin
BookmarkTitle: My first bookmark
BookmarkLevel: 1
BookmarkPageNumber: 2
BookmarkBegin
indique que vous créez un nouveau marque-page.BookmarkTitle
contient le texte visible dans le visualiseur PDF.BookmarkLevel
définit le niveau d'héritage de ce signet. Si vous définissez un BookmarkLevel sur 2, il apparaît dans un triangle d'affichage du signet précédent. Si vous définissez un BookmarkLevel sur 3, il apparaît dans un triangle d'affichage du signet précédent, tant que le signet précédent est défini sur 2. Ce paramètre vous permet de mettre en signet, par exemple, un titre de chapitre ainsi que des en-têtes de section. dans ce chapitre.BookmarkPageNumber
détermine vers quelle page PDF l'utilisateur est redirigé lorsqu'il clique sur le signet.
Créez des signets pour chaque section du livre que vous jugez importante, puis enregistrez le fichier.
Mettre à jour les informations sur les favoris
Maintenant que vous avez défini vos métadonnées et vos signets, vous pouvez les appliquer à votre PDF. En fait, vous les appliquerez à un nouveau PDF contenant le même contenu que l'ancien PDF :
$ pdftk mybigfile.pdf \
update_info bookmarks.txt \
output mynewfile.pdf
Cela produit un fichier appelé mynewfile.pdf
, contenant toutes vos métadonnées et favoris.
Édition professionnelle
La différence entre un PDF avec des métadonnées génériques et aucun signet et un PDF avec des valeurs de métadonnées personnalisées et des signets utiles ne va probablement pas faire ou défaire une vente.
Cependant, prêter attention aux petits détails comme les métadonnées montre que vous appréciez l'assurance qualité, et fournir des signets à vos utilisateurs est utile et tire parti de la technologie disponible.
Utilisez pdftk-java
pour faciliter ce processus, et vos utilisateurs vous remercieront.