Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ressource:logiciel:manipulation_pdf:start [2025/01/16 18:02]
emoc
ressource:logiciel:manipulation_pdf:start [2025/02/10 21:14] (Version actuelle)
emoc [Optimiser un pdf pour réduire la taille du fichier (avec ghostscript)]
Ligne 3: Ligne 3:
 Page créée le 29 mars 2023 Page créée le 29 mars 2023
  
-En ligne de commande ​avec pdfseparatepdfunite, pdftk, pdfjam+Manipulation de fichiers pdf en ligne de commande, ​par exemple pour des traitements par lots. Il existe de nombreux utilitaires sous linux dont les fonctions sont parfois identiques. Cette page présente différents exemples d'​utilisation qui nous ont été utiles au fil du temps!
  
 Le paquet [[https://​manpages.debian.org/​bookworm/​poppler-utils/​index.html|poppler-utils]] comprend plusieurs utilitaires dont **pdfseparate,​ pdffonts, pdfattach, pdfunite**, etc. \\ Le paquet [[https://​manpages.debian.org/​bookworm/​poppler-utils/​index.html|poppler-utils]] comprend plusieurs utilitaires dont **pdfseparate,​ pdffonts, pdfattach, pdfunite**, etc. \\
Ligne 12: Ligne 12:
  
   pdfjam --help   pdfjam --help
 +  ​
 +**ghostscript**\\
 +  * https://​manpages.debian.org/​bookworm/​ghostscript/​gs.1.en.html
 +
 +**Autres logiciels utiles**
 +  * PDFtk (basé sur java) https://​www.pdflabs.com/​tools/​pdftk-the-pdf-toolkit/​
 +  * PDFsam (basé sur java) https://​pdfsam.org/​ (interface graphique, payant)
 +  * PSPDFUtils (basé sur python) https://​pypi.org/​project/​pspdfutils/​
 +  * masterpdfeditor https://​code-industry.net/​free-pdf-editor/​
 ===== Extraire des feuillets d'un document pdf ===== ===== Extraire des feuillets d'un document pdf =====
  
Ligne 24: Ligne 33:
 ===== Divers ===== ===== Divers =====
  
-**Ajouter un fond perdu**\\+====Ajouter un fond perdu==== 
 En anglais, fond perdu = //bleed// \\ En anglais, fond perdu = //bleed// \\
 La commande suivante ajoute un fond perdu de 3mm sur chaque côté d'une page A5 (148x210mm),​ un cadre entoure la page originale (''​--frame true''​),​ les fichiers //​embedded//​ sont conservés. La commande suivante ajoute un fond perdu de 3mm sur chaque côté d'une page A5 (148x210mm),​ un cadre entoure la page originale (''​--frame true''​),​ les fichiers //​embedded//​ sont conservés.
Ligne 30: Ligne 40:
 **--frame true** : cadre noir autour de la page originale **--frame true** : cadre noir autour de la page originale
  
-**Infos sur les polices d'un document**+==== Convertir au format de papier A4 ==== 
 + 
 +  pdfjam --outfile out.pdf --paper a4paper in.pdf 
 + 
 +====Ajouter des pages vides ==== 
 + 
 +  pdfjam document.pdf '​1-111,​{}'​ -o document_complet.pdf 
 + 
 +Ici, une page vide est ajoutée après la page 111 du document original, on peut moduler (par ex. '​1,​{},​3-4,​{},​5-'​ ) cf. https://​equa.space/​notes/​pdfjam/​ 
 +====Infos sur les polices d'un document==== 
   pdffonts document.pdf   pdffonts document.pdf
 Ces infos permettent de savoir si le fichier de fonte est intégré (//​embedded//​) dans le fichier pdf, son type, etc. cf. doc [[https://​manpages.debian.org/​testing/​poppler-utils/​pdffonts.1.en.html|pdffonts]] ​ Ces infos permettent de savoir si le fichier de fonte est intégré (//​embedded//​) dans le fichier pdf, son type, etc. cf. doc [[https://​manpages.debian.org/​testing/​poppler-utils/​pdffonts.1.en.html|pdffonts]] ​
  
-**Optimiser un pdf pour réduire la taille du fichier** +====Optimiser un pdf pour réduire la taille du fichier ​(avec ghostscript)==== 
-  gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH -sOutputFile=optimized.pdf document.pdf+ 
 +  gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 ​-dEncodeColorImages=false ​-dNOPAUSE -dQUIET -dBATCH -sOutputFile=optimized.pdf document.pdf 
 +**-dEncodeColorImages=false** : ne pas réencoder les images JPEG \\ 
 +Si on souhaite qu'​aucune modification ne soit appliquée aux images on peut ajouter ([[https://​superuser.com/​a/​373740|source]]) :  
 +<​code>​ 
 +  -dColorConversionStrategy=/​LeaveColorUnchanged \ 
 +  -dEncodeColorImages=false \ 
 +  -dEncodeGrayImages=false \ 
 +  -dEncodeMonoImages=false \ 
 +</​code>​ 
 + 
 +[[ressource:​logiciel:​imagemagick:​start#​petits_trucs_pratiques|Autre solution avec imagemagick]] 
 +==== Lister toutes les images d'un pdf ==== 
 + 
 +Avec leurs caractéristiques (colorspace,​ width, height, x-ppi, y-ppi, etc.) 
 +  pdfimages -list document.pdf 
 + 
 +==== Extraire toutes les images d'un pdf ==== 
 + 
 +  pdfimages -all document.pdf /​chemin/​absolu/​racine 
 +**-all** : conserver les formats d'​origine  
 + 
 +Il faut __absolument__ indiquer un chemin absolu valide! 
 + 
 +==== Conversion de profil de couleur ==== 
 + 
 +(KO par abandon)  
 + 
 +On dirait bien que c'est un sujet complexe... Avec imagemagick on peut obtenir des informations sur le profil icc utilisé : 
 +  identify -format '​%[colorspace]'​ document.pdf 
 +Mais d'​autres lectures indiquent que chaque élément d'un pdf peuvent avoir des profils associés différents.\\ 
 +Pour une conversion en CMJN, je fais un essai avec 
 +  gs -o document_cmjn.pdf -sDEVICE=pdfwrite -sProcessColorModel=DeviceCMYK -sColorConversionStrategy=CMYK -sColorConversionStrategyForImages=CMYK document.pdf  
 +Mais identify le détecte toujours comme du sRGB ... \\ 
 +En revanche avec ''​pdfimages -list document_cmjn.pdf''​ on peut voir que les images sont bien reconnues comme étant en CMJN 
 + 
 +Test avec ghostscript et un profil ICC 
 +  gs -o test_fogra.pdf -sDEVICE=pdfwrite -dOverrideICC=true -sOutputICCProfile=Coated_Fogra39L_VIGC_300.icc -sColorConversionStrategy=CMYK -sColorConversionStrategyForImages=CMYK -dProcessColorModel=/​DeviceCMYK -dRenderIntent=3 -dDeviceGrayToK=true document.pdf 
 + 
 +Mais ghostscript transforme toutes les images en JPEG... \\ 
 +nb : un pdf ne peut pas contenir d'​iamges au format PNG. 
 + 
 +Je laisse tomber pour cette fois 
 +===== Ressources ===== 
 + 
 +Télécharger des profils de couleur (dont Fogra39) : https://​www.color.org/​registry/​index.xalter
  • ressource/logiciel/manipulation_pdf/start.1737046930.txt.gz
  • Dernière modification: 2025/01/16 18:02
  • par emoc