web-dev-qa-db-fra.com

Comment éditer les métadonnées pdf en ligne de commande?

J'ai besoin d'un outil de ligne de commande pour éditer les métadonnées de fichiers pdf.

J'utilise une tablette Aiptek MyNote Premium pour rédiger mes notes et mes minutes sur cet appareil, les importer plus tard et les convertir au format 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 du fichier PDF afin que je puisse retrouver le fichier PDF ultérieurement (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 gnome-do pour le faire?

81
bdr529

Essayez exiftool, il est disponible à partir du paquet libimage-exiftool-Perl dans les référentiels.

Par exemple, si vous avez un fichier pdf appelé drawing.pdf et que vous souhaitez mettre à jour ses métadonnées, utilisez l’utilitaire exiftool de la manière suivante:

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. pas un problème dans certains cas, même souhaitable, cependant, cela peut être problématique, et le prévisionneur de métadonnées Nautilus ne l’affiche pas, mais le visualiseur Adobe Acrobat et le visualiseur PDF-XChange l’affiche.

Le programme créera une sauvegarde du fichier d'origine si vous n'utilisez pas le fichier; -overwrite_original switch, cela signifie qu'un duplicata existera dans le dossier contenant le fichier PDF mis à jour. De l'exemple ci-dessus; un fichier nommé; dessin.pdf_original sera créé.

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

99
Sabacon

Vous pouvez modifier les métadonnées à l'aide de pdftkname__. Consultez le paramètre update_info. En ce qui concerne le 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 )

15
Olli

Utilisation de Ghostview

Créez un fichier nommé "pdfmarks" avec ce contenu:

[ /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 ce fichier pdfmarks avec un fichier d’entrée PDF, PS ou EPS:

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

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

6
Serge Stroobandt

Pour en savoir plus sur la méthode pdftk qui est agréable car elle affiche tout ce qui est défini, tout en vous permettant de modifier tout ce que vous voulez, voici un script (pour votre .bashrc ou un autre fichier de pseudonymes) pour le faire avec un commander. Cela crée une nouvelle version du fichier que vous souhaitez modifier, ouvre votre éditeur favori avec le fichier de métadonnées, puis implémente vos modifications et définit l'heure de création/modification du fichier sur le fichier modifié PDF de la même manière que l'original. Pour l’utiliser, après avoir utilisé votre fichier .bashrc, tapez simplement

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}
}

Placez simplement la définition ci-dessus dans le fichier .bashrc de votre dossier personnel, puis ouvrez un nouveau terminal et celui-ci sera prêt à être utilisé.

0
CPBL