628 votes

Comment puis-je réduire la taille du fichier d'un PDF scanné ?

J'ai un fichier PDF de 72,9 Mo que je dois réduire à moins de 500 Ko.

Le fichier était une image JPEG que j'avais scannée, puis convertie en PDF.

1 votes

Cela dépend de ce qui consomme l'espace...besoin de beaucoup plus d'informations. compresser l'espace des images pourrait aider, mais si vous essayez un grand tas de fichiers, cela ne fonctionnera pas. sérieusement besoin de plus d'infos.

1 votes

Convertissez-le en DjVu, plutôt que d'essayer de le réduire à une taille de PDF impossible (selon la source)

0 votes

Le fichier était une image jpeg que j'avais numérisée, puis convertie en pdf.

4voto

Kalpit Points 49

J'étais confronté au même problème et j'étais content de trouver ce fil de discussion. En particulier, j'avais un pdf généré à partir d'images numérisées, et je devais réduire sa taille en octets par un facteur de 6.

Malheureusement, aucune des solutions ci-dessus n'a fonctionné :(. Ensuite, j'ai réalisé que quelque part dans le processus scanner->jpeg->pdf la taille de la page avait été gonflée par un facteur d'approximativement 4. Les documents que j'avais numérisés étaient tous de format Lettre, mais le pdf avait une taille de

identify -verbose doc_orig.pdf | grep "Print size"
 Print size: 35.4167x48.7222

J'ai finalement obtenu les résultats souhaités avec une commande "convert" qui a effectué à la fois le redimensionnement et la compression en une seule étape :

convert -density 135x135 -quality 70 -compress jpeg -resize 22.588% doc_orig.pdf doc_lowres.pdf

Notez que doc_orig avait une densité de 72x72 dpi.

0 votes

Votre réponse est une vraie vie sauvegarde, Kalpit. J'étais confronté au même problème, et rien d'autre ne faisait même une égratignure sur la taille du fichier. En redimensionnant mes pages, je suis passé de 40 Mo à 2 Mo. Hourra!

4voto

scoobydoo Points 152

À la fin, j'ai écrit mon propre script bash pour résoudre cela, il utilise mogrify, convert et gs pour extraire des pages pdf en png, les redimensionner, les convertir en bmp 1 bit, puis les reconstruire en pdf. La réduction de la taille du fichier peut dépasser 90%. Disponible sur http://www.timedicer.co.uk/programs/help/pdf-compress.sh.php.

3voto

student Points 2222

Si la conversion en djvu est également possible et qu'aucune couleur n'est impliquée, vous pourriez essayer ce qui suit:

Convertissez le pdf en fichiers jpg en utilisant pdfimages -j

Si vous obtenez des fichiers pbm, vous devriez effectuer l'étape intermédiaire:

for FILENAME in $(ls *.pbm); do convert $FILENAME ${FILENAME%.*}.jpg ;done

La commande de conversion provient du package imagemagick.

Ensuite, utilisez scantailor pour créer des tif.

Enfin, allez dans le répertoire de sortie de scantailor (où se trouvent les tif) et appliquez djvubind à ce répertoire.

Cela devrait réduire considérablement la taille du fichier sans grande perte de qualité du texte. Si vous souhaitez avoir un contrôle plus fin sur le backend ocr, vous pouvez essayer djvubind --no-ocr et utiliser ocrodjvu pour ajouter la couche ocr par la suite.

Si votre document contient des couleurs, les choses deviennent un peu plus compliquées. Au lieu de djvubind, vous pourriez utiliser didjvu et dans scantailor vous devrez passer en mode mixte et parfois sélectionner manuellement les images en couleur.

2voto

ape Points 29

Charger une image ou même un fichier pdf dans Inkscape.

Depuis Inkscape: Enregistrer au format vectoriel (en tant que .svg natif).

Importer des fichiers vectoriels dans Scribus, modifier la mise en page et exporter/enregistrer en tant que .pdf depuis là

2voto

pavid Points 849

Vous pouvez essayer ceci :

$ time pdftk myFile.pdf output myFile__SMALLER.pdf compress
GC Warning: Allocation répétée d'un bloc très volumineux (taille approximative 16764928) :
    Peut entraîner une fuite de mémoire et de mauvaises performances.
Avertissement GC : Allocation répétée d'un bloc très volumineux (taille approximative 8384512) :
    Peut entraîner une fuite de mémoire et de mauvaises performances.
Avertissement GC : Allocation répétée d'un bloc très volumineux (taille approximative 11837440) :
    Peut entraîner une fuite de mémoire et de mauvaises performances.
Avertissement GC : Allocation répétée d'un bloc très volumineux (taille approximative 8384512) :
    Peut entraîner une fuite de mémoire et de mauvaises performances.
Avertissement GC : Allocation répétée d'un bloc très volumineux (taille approximative 33525760) :
    Peut entraîner une fuite de mémoire et de mauvaises performances.
Avertissement GC : Allocation répétée d'un bloc très volumineux (taille approximative 7254016) :
    Peut entraîner une fuite de mémoire et de mauvaises performances.
Avertissement GC : Allocation répétée d'un bloc très volumineux (taille approximative 34041856) :
    Peut entraîner une fuite de mémoire et de mauvaises performances.
Avertissement GC : Allocation répétée d'un bloc très volumineux (taille approximative 33525760) :
    Peut entraîner une fuite de mémoire et de mauvaises performances.

real    0m23.677s
user    0m23.142s
sys     0m0.540s
$ du myFile*.pdf
108M    myFile.pdf
74M     myFile__SMALLER.pdf

C'est plus rapide que gs mais compresse jusqu'à 30% dans ce cas pour un fichier d'entrée de 107,5 MiB.

0 votes

Pas de chance pour moi. Sur Ubuntu 20.04 sur un fichier PDF de sortie recherchable de mon programme pdf2searchablepdf, le fichier de sortie était identique en taille au fichier d'entrée.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X