PDF - Métadonnées

Le manuel d'installation debian est pris comme exemple. Une version est disponible ici :

$ wget manuel.pdf

1 - Affichage rapide des métadonnées

1.1 En interface graphique

Le menu Option des fichiers de Evince présente une option Propriétés qui affiche certaines métadonnées :

propriétés evince

Il ne permet pas de les supprimer, ni de les modifier

1.2 En ligne de commande

pdfinfo affiche le même type d'informations :

$ pdfinfo manuel.pdf
Title:
Subject:
Keywords:
Author:
Creator: LaTeX with hyperref package
Producer: dvips + GPL Ghostscript 9.05
CreationDate: Wed Oct 9 15:14:22 2013
ModDate: Wed Oct 9 15:14:22 2013
Tagged: no
UserProperties: no
Suspects: no
Form: none
JavaScript: no
Pages: 151
Encrypted: no
Page size: 595 x 842 pts (A4)
Page rot: 0
File size: 1334211 bytes
Optimized: no
PDF version: 1.4

2 - Informations détaillées

Les métadonnées (Titre, dates, créateur, ....) se trouvent dans deux endroits

2.1 Métadonnées Info Dictionary

Les données Info Dictionary sont manipulables avec pdftk du paquet homonyme.

Pour afficher les données,

$ pdftk manuel.pdf dump_data_utf8 output meta.txt
$ cat meta.txt
InfoBegin
InfoKey: ModDate
InfoValue: D:20131009151422Z00'00'
InfoBegin
InfoKey: CreationDate
InfoValue: D:20131009151422Z00'00'
InfoBegin
InfoKey: Creator
InfoValue: LaTeX with hyperref package
InfoBegin
InfoKey: Producer
InfoValue: dvips + GPL Ghostscript 9.05
PdfID0: 79248410a40973ce77cdcbed6644743f
PdfID1: 79248410a40973ce77cdcbed6644743f
NumberOfPages: 151
BookmarkBegin
BookmarkTitle: Manuel d'installation pour la distribution Debian GNU/Linux
BookmarkLevel: 1
BookmarkPageNumber: 1
BookmarkBegin
.....

2.2 Métadonnées XMP

Les métadonnées XMP sont manipulables avec exiftool, installable à partir du paquet libimage-exiftool-perl ou du pseudo-paquet exiftool.

# apt install pdftk exiftool

Pour afficher les données :

$ exiftool -all:all manuel.pdf
ExifTool Version Number : 9.74
File Name : manuel.pdf
Directory : .
File Size : 1303 kB
File Modification Date/Time : 2016:02:25 12:27:21+01:00
File Access Date/Time : 2016:10:18 22:21:00+02:00
File Inode Change Date/Time : 2016:10:18 22:20:52+02:00
File Permissions : rw-r--r--
File Type : PDF
MIME Type : application/pdf
PDF Version : 1.4
Linearized : No
Page Count : 151
Page Mode : UseOutlines
XMP Toolkit : XMP toolkit 2.9.1-13, framework 1.6
About : uuid:06766144-6912-11ee-0000-c8d80b72c1af
Producer : dvips + GPL Ghostscript 9.05
Keywords : ()
Modify Date : 2013:10:09 15:14:22Z
Create Date : 2013:10:09 15:14:22Z
Creator Tool : LaTeX with hyperref package
Document ID : uuid:06766144-6912-11ee-0000-c8d80b72c1af
Format : application/pdf
Title : ()
Creator : ()
Description : ()
Producer : dvips + GPL Ghostscript 9.05
Create Date : 2013:10:09 15:14:22Z
Modify Date : 2013:10:09 15:14:22Z
Creator : LaTeX with hyperref package
Title :
Subject :
Author :

3 - Suppression des métadonnées

3.1 Suppression des métadonnées Info Dictionary

$ cat meta.txt
InfoBegin
InfoKey: ModDate
InfoValue:
InfoBegin
InfoKey: CreationDate
InfoValue:
InfoBegin
InfoKey: Creator
InfoValue:
InfoBegin
InfoKey: Producer
InfoValue:
PdfID0:
PdfID1:
NumberOfPages: 151
BookmarkBegin
BookmarkTitle: Manuel d'installation pour la distribution Debian GNU/Linux
BookmarkLevel: 1
BookmarkPageNumber: 1
BookmarkBegin
BookmarkTitle: Table des matières
BookmarkLevel: 1
BookmarkPageNumber: 3
.....
$ pdftk manuel.pdf update_info_utf8 meta.txt output manuel_modifié.pdf

3.2 Suppression des métadonnées XMP

La suppression s'effectue en deux temps, une première passe permet de supprimer les données affichées, une deuxième passe permet de supprimer le back-up interne des données

$ exiftool -all:all="" manuel_modifié.pdf
Warning: [minor] ExifTool PDF edits are reversible. Deleted tags may be recovered! - manuel_modifié.pdf
1 image files updated
# apt install qpdf

$ qpdf --linearize manuel_modifié.pdf manuel_modifié2
$ exiftool -all:all manuel_modifié2.pdf
ExifTool Version Number : 9.74
File Name : manuel_modifié2.pdf
Directory : .
File Size : 1318 kB
File Modification Date/Time : 2016:10:19 13:22:26+02:00
File Access Date/Time : 2016:10:19 13:22:31+02:00
File Inode Change Date/Time : 2016:10:19 13:22:26+02:00
File Permissions : rw-r--r--
File Type : PDF
MIME Type : application/pdf
PDF Version : 1.4
Linearized : Yes
Page Mode : UseOutlines
Page Count : 151

4 - Modification des métadonnées

Pour modifier le titre du document, le nom de l'auteur, le sujet du document :

$ exiftool -Title="Nom Document" -Author="Mon_Prénom Mon_Nom" -Subject="Exemple" manuel_modifié.pdf
1 image files updated

On peut vérifier la prise en compte par exemple avec pdfinfo :

$ pdfinfo manuel_modifié.pdf
Title: Nom Document
Subject: Exemple
Author: Mon_Prénom Mon_Nom
Tagged: no
UserProperties: no
Suspects: no
Form: none
JavaScript: no
Pages: 151
Encrypted: no
Page size: 595 x 842 pts (A4)
Page rot: 0
File size: 1339768 bytes
Optimized: no
PDF version: 1.4