125 votes

Comment modifier les métadonnées d'un pdf à partir d'une ligne de commande ?

J'ai besoin d'un outil en ligne de commande pour modifier les métadonnées des fichiers PDF.

J'utilise une tablette Aiptek MyNote Premium pour écrire mes notes et comptes rendus sur cet appareil, les importer plus tard et les convertir en pdf automatiquement avec un simple script utilisant inkscape et ghostscript.

Existe-t-il un outil en ligne de commande pour ajouter des catégories aux métadonnées d'un pdf, afin que je puisse retrouver le pdf plus tard (par exemple avec gnome-do) par catégories ?

Mise à jour : j'ai essayé la solution avec pdftk et cela fonctionne, mais il semble que gnome-do ne s'occupe pas des métadonnées pdf. Y a-t-il un moyen de faire en sorte que gnome-do le fasse ?

148voto

Sabacon Points 36458

Essayez exiftool, il est disponible dans le paquet libimage-exiftool-perl dans les dépôts.

Par exemple, si vous avez un fichier pdf appelé drawing.pdf et que vous voulez mettre à jour ses métadonnées, utilisez l'utilitaire, exiftool, de cette façon :

exiftool -Title="This is the Title" -Author="Happy Man" -Subject="PDF Metadata" drawing.pdf

Pour une raison quelconque, le sujet saisi se retrouve dans le champ des mots-clés des métadonnées du fichier PDF. Ce n'est pas un problème dans certains cas, c'est même souhaitable, mais cela peut être problématique, evince et l'aperçu des métadonnées de nautilus ne le montrent pas mais les visionneuses Adobe Acrobat et PDF-XChange le font.

Le programme créera une sauvegarde du fichier original si vous n'utilisez pas la fonction ; -overwrite_original switch, cela signifie qu'un duplicata existera dans le dossier où se trouve le pdf mis à jour. Dans l'exemple ci-dessus, un fichier nommé ; drawing.pdf_original sera créé.

utilisez le commutateur d'écrasement à vos propres risques, ma suggestion est de ne pas l'utiliser et script quelque chose pour déplacer ce fichier vers un meilleur emplacement juste au cas où.

22voto

Olli Points 8476

Vous pouvez modifier les métadonnées en utilisant pdftk . Vérifier update_info (ou update_info_utf8 si vous avez besoin de caractères accentués). Quant au fichier de données, voici un exemple :

InfoKey: Title
InfoValue: Mt-Djing: multitouch DJ table
InfoKey: Subject
InfoValue: Dissertation for Master degree
InfoKey: Keywords
InfoValue: DJing, NUI, multitouch, user-centered design
InfoKey: Author
InfoValue: Pedro Lopes

( Source : )

11voto

Serge Stroobandt Points 3924

Utilisation de Ghostview

Installer ghostscript avec :

$ sudo apt install ghostscript

Créez un fichier nommé pdfmarks avec un contenu similaire :

[ /Title (Document title)
  /Author (Author name)
  /Subject (Subject description)
  /Keywords (comma, separated, keywords)
  /ModDate (D:20061204092842)
  /CreationDate (D:20061204092842)
  /Creator (application name or creator note)
  /Producer (PDF producer name or note)
  /DOCINFO pdfmark

puis combinez ceci pdfmarks avec un fichier d'entrée PDF, PS ou EPS :

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=output.pdf original.pdf pdfmarks

Source : http://milan.kupcevic.net/ghostscript-ps-pdf/

6voto

CPBL Points 551

Pour élaborer sur le pdftk qui est agréable parce qu'elle vous montre tout ce qui est en train d'être défini, tout en vous permettant de modifier ce que vous voulez, voici un script (pour votre .bashrc ou autre fichier d'alias) pour le faire avec une seule commande. Celle-ci crée une nouvelle version du fichier que vous voulez modifier, ouvre votre éditeur préféré avec le fichier de métadonnées, puis implémente vos changements et définit l'heure de création/modification du fichier PDF modifié pour qu'elle soit la même que celle de l'original. Pour l'utiliser, après avoir ressourcé votre .bashrc il suffit de taper

editPDFmetadata myfile.pdf

Voici l'alias :

editPDFmetadata() {
OUTPUT="${1}-new.pdf"
METADATA="tmp${1}-report.txt"
pdftk "${1}" dump_data output "$METADATA"
$EDITOR "$METADATA"
pdftk "${1}" update_info "$METADATA"  output "$OUTPUT"
touch -r "${1}" "${OUTPUT}"
}

Il suffit de placer la définition ci-dessus dans le .bashrc dans votre dossier personnel, puis ouvrez un nouveau terminal et il sera prêt à être utilisé.

4voto

Aristo T. Points 41

J'ai testé de manière approfondie les fonctionnalités de pdftk et exiftool. J'ai utilisé exiftool à la fois en ligne de commande et à travers une fenêtre graphique. Ils ont été testés pour des documents PDF de petite, moyenne et très grande taille et ont rencontré des problèmes avec les documents PDF les plus grands et les plus complexes. Dans mon expérience, le pdftk / exiftool ont la fonctionnalité supérieure seulement pour les petits et pour les documents PDF simples dans le formatage. Pour les documents PDF volumineux et complexes (par exemple plus de 80 pages avec des polices multiples), les images et/ou les caractères peuvent tomber des dernières pages après que les métadonnées aient été éditées. La solution réside peut-être dans l'utilisation de Ghostview, que je viens de voir. Nul doute que ces programmes s'amélioreront avec le temps.

Entre-temps, j'ai trouvé une solution en utilisant la forme actuelle de Wine dans Ubuntu avec un minuscule programme freeware à guichet unique, qui fonctionne également pour ces documents PDF volumineux et complexes : BeCyPDFMetaEdit (disponible par exemple dans les bibliothèques de freeware comme SoftPedia).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X