Linux tools PDF
🧰 ghostscript
ghostscript est un outil pour compresser des fichiers pdf
gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -sOUTPUTFILE=fichier_outout.pdf -f input.pdf
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/prepress -dNOPAUSE -dQUIET -dBATCH -sOutputFile=fichier_outout_prepress.pdf input.pdf
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=fichier_outout_printer.pdf input.pdf
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=fichier_outout_ebook.pdf input.pdf
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=fichier_outout_screen.pdf input.pdf
🧰 img2pdf
sudo apt-get install img2pdf
img2pdf test.png -o outcome.pdf
🧰 pdftk
pdftk est un outil pour fusionner des fichiers pdf
🚀 Utilisation de base
sudo apt-get install pdftk
pdftk fichier1.pdf fichier2.pdf cat output fichier3.pdf
pdftk mon-document.pdf output mon-document.comprimé.pdf compress
source https://debian-facile.org/doc:editeurs:pdftk
🧰 pdftotext
pdftotext est un outil en ligne de commande issu de la suite **Poppler**
permettant d’extraire le texte brut contenu dans un fichier PDF.
Il est très utilisé pour l’analyse, l’indexation, la recherche ou le traitement
automatisé de documents PDF.
📦 Installation de pdftotext
sudo apt install poppler-utils
ℹ️ À noter
Le paquet poppler-utils fournit plusieurs outils PDF utiles, dont :
pdfinfo→ informations sur le PDF (pages, auteur, version…)pdftotext→ extraction du textepdfimages→ extraction des imagespdffonts→ liste des policespdfseparate/pdfunite
🚀 Utilisation de base
Extraire le texte vers un fichier :
pdftotext document.pdfExtraire le texte vers la sortie standard :
pdftotext document.pdf -
Lire le texte directement avec
less:pdftotext document.pdf - | less
🔧 Options courantes
| Option | Description |
|---|---|
-layout
|
Conserve la mise en page |
-raw
|
Extraction brute |
-f <n>
|
Page de début |
-l <n>
|
Page de fin |
-nopgbrk
|
Supprime les sauts de page |
-enc UTF-8
|
Force l’encodage |
-help
|
Aide complète |
💡 Exemples pratiques
Extraire uniquement les pages 2 à 5 :
pdftotext -f 2 -l 5 document.pdf
Conserver la mise en page :
pdftotext -layout document.pdf
Recherche rapide dans un PDF :
pdftotext document.pdf - | grep "mot"
📌 Pourquoi utiliser pdftotext ?
✅ Extraction rapide du texte ✅ Outil léger et scriptable ✅ Parfait pour OCR / indexation ✅ Intégration facile dans des pipelines shell
🧰 pdfinfo
(fournie par `poppler-utils`)
1️⃣ Informations de base sur un PDF
pdfinfo document.pdf
Exemple de sortie :
Title: Rapport annuel Author: ACME Corp Creator: LibreOffice Producer: LibreOffice CreationDate: Mon Jan 15 10:22:00 2024 ModDate: Tue Jan 16 09:10:00 2024 Pages: 42 Page size: 595 x 842 pts (A4) File size: 1234567 bytes PDF version: 1.7
2️⃣ Obtenir uniquement le nombre de pages
pdfinfo document.pdf | grep Pages
Utile pour :
- scripts
- validation avant traitement
- automatisation (batch PDF)
3️⃣ Connaître la taille et l’orientation des pages
pdfinfo document.pdf | grep "Page size"
Résultat typique :
Page size: 842 x 595 pts (A4)
➡️ paysage (landscape)
4️⃣ Vérifier si le PDF est protégé
pdfinfo document.pdf | grep Encrypted
Sortie possible :
Encrypted: yes
👉 Indique qu’un mot de passe est requis (à traiter ensuite avec qpdf)
5️⃣ Afficher les métadonnées complètes
pdfinfo -meta document.pdf
Affiche les métadonnées XMP (XML), très utile pour :
- audit
- conformité
- analyse forensique légère
6️⃣ Informations page par page
pdfinfo -box document.pdf
Montre :
- MediaBox
- CropBox
- BleedBox
- TrimBox
Utile en impression professionnelle.
7️⃣ Script shell : compter les pages
PAGES=$(pdfinfo document.pdf | awk '/Pages/ {print $2}')
echo "Nombre de pages : $PAGES"
8️⃣ Tester si un PDF contient du texte exploitable
pdfinfo document.pdf && pdftotext document.pdf -
➡️ si pdftotext ne sort rien → PDF scanné
9️⃣ Batch sur plusieurs fichiers
for f in *.pdf; do
echo "== $f =="
pdfinfo "$f" | grep Pages
done
⚠️ Notes importantes
pdfinfon’extrait pas le texte- il n’altère jamais le fichier
- fonctionne même sur PDF protégés (lecture des infos seulement)
🧠 Résumé rapide
| Besoin | Commande |
|---|---|
| Infos générales | pdfinfo file.pdf
|
| Pages | grep Pages
|
| Sécurité | grep Encrypted
|
| Métadonnées | pdfinfo -meta
|
| Mise en page | pdfinfo -box
|
🧰 qpdf
QPDF est un outil en ligne de commande permettant de manipuler,
inspecter et transformer des fichiers PDF.
Il est couramment utilisé pour le chiffrement, le déchiffrement,
la réparation et l’optimisation de PDF.
📦 Installation de qpdf
sudo apt install qpdf
🚀 Utilisation de base
Déchiffrer un PDF protégé par mot de passe :
qpdf --password=secret --decrypt input.pdf output.pdf
Fusionner des PDF :
qpdf --empty --pages a.pdf b.pdf -- output.pdf
Inspecter la structure d’un PDF :
qpdf --check document.pdf
🔧 Options courantes
| Option | Description |
|---|---|
--decrypt
|
Supprime la protection |
--encrypt
|
Chiffre un PDF |
--check
|
Vérifie l’intégrité |
--pages
|
Sélection de pages |
--linearize
|
Optimisation web |
--show-npages
|
Nombre de pages |
--help
|
Aide complète |
💡 Exemples pratiques
Extraire certaines pages :
qpdf input.pdf --pages input.pdf 1-5 -- output.pdf
Optimiser un PDF pour le web :
qpdf --linearize input.pdf output.pdf
Afficher le nombre de pages :
qpdf --show-npages document.pdf
📌 Pourquoi utiliser QPDF ?
✅ Manipulation PDF avancée ✅ Sécurisation et déchiffrement ✅ Très fiable pour l’automatisation ✅ Aucun rendu graphique nécessaire
🧰 ExifTool
voir ExifTool