Aller au contenu

Linux tools PDF

De Marmits Wiki

🧰 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 texte
  • pdfimages → extraction des images
  • pdffonts → liste des polices
  • pdfseparate / pdfunite



🚀 Utilisation de base

  1. Extraire le texte vers un fichier :

    pdftotext document.pdf
    
  2. Extraire le texte vers la sortie standard :

    pdftotext document.pdf -
    
  3. 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

  • pdfinfo n’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

  1. Déchiffrer un PDF protégé par mot de passe :

    qpdf --password=secret --decrypt input.pdf output.pdf
    
  2. Fusionner des PDF :

    qpdf --empty --pages a.pdf b.pdf -- output.pdf
    
  3. 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