Table des matières
Convertir en mode monochrome compressé un fichier PDF
Un fichier scanné en niveaux de gris (voire couleurs) de feuilles manuscrites génère un fichier PDF particulièrement gourmand en taille, avec souvent de l'ordre de 5 Mo par page ! Il est donc très intéressant d'archiver un tel document dans une version compressée monochrome.
Imagemagick, sous Linux, Windows et Mac OS X apporte une solution simple par la commande convert avec des arguments adéquats :
convert -density 300 -threshold 50% -type bilevel -compress fax in.pdf out.pdf
Les résultats peuvent être spectaculaires, avec un gain jusqu'à un facteur 100 (avec des pages finales d'environ 50 ko)
Remarques :
- En fonction de l'intensité de gris de l'écriture scannée, la valeur limite 50% sera parfois portée à une valeur plus grande. C'est souvent le cas lorsque le document d'origine était écrit avec un stylo-plume, ou un stylo-bille à encre trop claire.
- Si le pdf d'entrée n'est pas lisible par la commande convert, vous pouvez créer une version alternative via une impression intermédiaire vers un autre fichier pdf.
- compression couleur : cf. par exemple convert -compress jpeg -density 150 -quality 50 in.pdf out.pdf
- binarisation & compression d'une série d'images : convert -density 300 -threshold 50% -type bilevel -compress fax *.jpg out.pdf
Autres solutions équivalentes :
convert out50003.png -colors 2 +dither -type bilevel out50003bw.png
Conversion en batch avec remplacement (effectuer une sauvegarde et tester si nécessaire au préalable, voir ref) :
for img in $(find . -iname '*.png'); do echo -n "Converting $img"; convert -density 300 -threshold 50% -type bilevel $img $img && echo ' [Done]'; done
Avec mogrify
- mogrify : https://imagemagick.org/script/mogrify.php - Inline Image Modification
Exemples :
mogrify -threshold 40% *.png
...
Message d'erreur
“attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408”
- solution : https://askubuntu.com/questions/1127260/imagemagick-convert-not-allowed → permission none → read|write