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.
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.
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.
À 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.
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.
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.
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.
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.
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.
1 votes
Il semble seulement aider un peu la taille du fichier, mais
pdfopt
a une syntaxe simple et améliore la vitesse de chargement et de tournage de page à l'ère de l'iPad. :-)2 votes
PDF vers PS n'est pas efficace dans le cas d'un fichier PDF scanné, j'essaie de convertir un PDF de 56 Mo en fichier PS mais le fichier PS se convertit en 1,3 Go et à nouveau, ps2pdf est converti en un fichier de 45 Mo
0 votes
Veuillez consulter cette question-réponse connexe pour découvrir plusieurs interfaces graphiques pour ghostscript qui devraient faciliter le processus de réduction de la taille des fichiers PDF.
0 votes
Notez que l'OP semble avoir accidentellement marqué la mauvaise réponse comme acceptée. Son commentaire accompagnant remercie pour la solution ghostscript, qui a résolu le problème, mais ghostscript n'apparaît pas dans cette réponse mais dans une autre.