Différences
Ci-dessous, les différences entre deux révisions de la page.
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:14] emoc [Manipulations de fichiers PDF] |
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 20: | Ligne 20: | ||
* PDFsam (basé sur java) https://pdfsam.org/ (interface graphique, payant) | * PDFsam (basé sur java) https://pdfsam.org/ (interface graphique, payant) | ||
* PSPDFUtils (basé sur python) https://pypi.org/project/pspdfutils/ | * 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 32: | 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 38: | 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 (avec ghostscript)** | + | ====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 |