Joseph Tux
script : reduirepdf

Scanner un texte, et après ?

Niveau : utilisateur, débutant
mardi 3 janvier 2012

Pour alléger un fichier, dans un but d’économie de stockage, de transfert ( courriels, sauvegardes ), il vaut mieux des fichiers légers.

Mais sans perdre de qualité si possible !

Avertissement :

La solution la plus efficace mais aussi la plus longue, consisterait à transformer l’image en texte avec un OCR ( logiciel de reconnaissance de caractères ), pour en faire un fichier pdf très léger.

C’est un travail beaucoup plus long, qui nécessite parfois beaucoup de corrections, supprime la mise an page etc..
Cette méthode n’est pas abordée ici

1 Scan d’un texte avec Xsane : 300ppm en « trait » est largement suffisant pour des textes imprimés habituels ( revues ).

2 Le format peut être png ou tout autre format image, mais il faut mieux éviter les formats ps/eps ou pdf directement si l’image scannée doit être modifiée ( découpage, correction de rotation ou distorsion faible, etc.. )

3 Retouches éventuelles ( par exemple avec the Gimp )

4 Conversion du fichier en ligne de commande :

convert fichier.jpeg -page A4 fichier.pdf

5 Réduction du fichier pdf {}

reduirepdf fichier.pdf

EXEMPLE

scan à 300ppm  (trait) d'1 page A4:
-rw-r--r-- 2 eric eric 1849083  3 janv. 16:34 fichier.png

Corrections mineures sous GIMP ( rotation, recadrage ):
-rw-r--r-- 2 eric eric  448354  3 janv. 16:35 fichier.jpeg

$convert fichier.png -page A4 fichier.pdf
-rw-r--r-- 2 eric eric  455401  3 janv. 16:38 fichier.pdf

$reduirepdf fichier.pdf
-rw-r--r-- 1 eric eric  162832  3 janv. 17:07 fichier_reduit.pdf

Ici, réduction d’un facteur 11 !

script bash
reduirepdf

 Note 1

Le script affiche le bilan de son action, ce qui permet de vérifier simplement si l’opération est rentable ou non ; il arrive que la réduction soit minime, voire nulle et même parfois négative ( accroissement au lieu de réduction ). J’ai posé 3 limites arbitraires pour qualifier la réduction :

  • « gagnée » = gain supérieur à 30% ( fond bleu )
  • « acceptable » = gain de 10% à 30% ( fond orange )
  • « faible » = gain de moins de 10% ( fond rouge )
  • « Opération perdante » = accroissement au lieu d’ une réduction ( fond rouge )
    Exemples d’affichage des résultats

 Note 2

Le script prévoyait initialement de réduire les marges, avec pdfcrop, ce qui peut faire gagner beaucoup de place quand elles sont larges ; mais un pdf imprimé sans marge n’est pas agréable à lire, et il n’est pas raisonnable de compter sur le réglage de l’imprimante pour subvenir à ce manque.

après avoir écrit le script reduirepdf, je suis tombé par hasard sur pdfopt, qui fait à peu près la même chose.

J’ai donc intégré en commentaire la ligne de commande utilisée par pdfopt, pour comparaison avec celle que j’avais bricolée, ainsi que les différences que j’ai cru percevoir.

Attention mon script est un script bash, pdfopt est un script sh, conforme POSIX, interprété sur ma Debian 6 (squeeze) par dash.


4 avril 2013
Autres solutions :


Accueil | Contact | Plan du site | | Statistiques du site | Visiteurs : 79 / 57688

Suivre la vie du site fr  Suivre la vie du site GNU, LINUX, BSD, LL  Suivre la vie du site AIDES GNU/LINUX   ?

Site réalisé avec SPIP 3.1.6 + AHUNTSIC

Creative Commons License