Comment réduire la taille d'un fichier pdf?

52

Je cherche un moyen de réduire la taille d'un pdf dans Ubuntu (en réduisant la qualité des images).

Je sais que cela peut être fait dans Ghostscript en tapant la commande suivante dans terminal:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf

Le problème est que je ne peux pas spécifier la qualité avec précision. Le paramètre -dPDFSETTINGS=/screenest celui qui décide de la qualité. mais les alternatives sont assez rigides (par exemple, il est possible de faire -dPDFSETTINGS=/ebookpour une qualité légèrement meilleure).

Je cherche un moyen de réduire la taille d'un fichier pdf de manière à pouvoir spécifier numériquement la qualité souhaitée.

Nicole
la source
Vous pouvez vérifier ce Q & A sur.
Glutanimate
C'est en effet un duplicata!
hectorpal

Réponses:

58

J'ai pu faire une légère variation de votre commande avec succès en utilisant l'option -r300 de @drN. L'option -r vous permet de définir la résolution de sortie dans le fichier pdf ainsi que dans le fichier png.

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
    -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages \
    -dCompressFonts=true -r150 -sOutputFile=output.pdf input.pdf
Tully
la source
7
Cette commande a transformé un PDF de 25 Mo en 4 pages en un fichier de qualité presque identique, mais 2 Mo. À votre santé!
Yanick Rochon
Cela fonctionne avec la plupart des fichiers. Cependant, dans certains cas, la taille du fichier augmente. Il semble que l' -roption soit ignorée dans ces cas.
Luís de Sousa
Cette commande a utilisé toute ma mémoire vive (8 Go) et a gelé mon ordinateur portable avec un fichier pdf de 1000 pages.
A faire le
12

Ces deux publications que j'ai postées sur Stackoverflow devraient vous aider. J'essayais de réduire la taille des fichiers PDF tout en m'assurant qu'ils respectaient un certain dpi ou ppi pour ma thèse.

Réduire la taille de pdf avec ghostscript

Changer le pdf image dpi en utilisant gs

Avez-vous essayé de jouer avec convertLinux?

Modifier:

gs \
  -o out300.png \
  -sDEVICE=pngalpha \
  -r300 \
   input.pdf

Si je me souviens bien, r300est la sortie dpimais vous voudrez peut-être vérifier. Cela convertit un pdf en png, cependant.

OU

convert -units PixelsPerInch myPic.pdf -density 300 fileout.pdf

Tiens nous au courant de comment ça se passe! Ceci est pour un pdf ou tout autre format à tout autre format. Je viens d'utiliser un fichier d'entrée de myPic.pdf et un fichier de sortie de fileout.pdf

cher
la source
Hmm ... j'ai regardé les questions que vous avez liées. Ils sont intéressants, mais il est difficile d’obtenir un ordre concret que je devrais utiliser. Je cherche une commande avec une valeur numérique que je peux utiliser pour déterminer la qualité. Pouvez-vous effectuer une telle commande? Peut-on le faire en utilisant convert?
Nicole
J'ai édité ma réponse pour inclure des options plus simples. Jetez un coup d'oeil et laissez-nous savoir! :)
Cher
1
Le convert augmente ma taille de pdf, même si j'utilise un 100 dpi. Peut-être que le meilleur choix est de convertir en png en utilisant "gs" puis "convertir" pour aller en pdf?
Nicole
@Nicole Il y a toujours eu des problèmes avec les conversions de pdf. Pourquoi proposez-vous d'utiliser le pdf?
DearN
@Nicole, j'ai remarqué que pour obtenir le meilleur résultat possible pour les fichiers pdfs / eps, je devais revenir au programme qui avait créé le pdf en premier lieu et modifier mes options de sauvegarde pour enregistrer dans le dpi / ppi que je souhaitais. J'espère que cela aide et, oui, cela peut être un peu pénible pour le dos.
Cher
12

Le moyen le plus simple que j'ai trouvé est d'ouvrir le fichier PDF source avec LibreOffice Draw, puis de l'exporter au format PDF avec les DPI prévus. La boîte de dialogue Exporter de Draw vous permet de spécifier le DPI et d’autres options pour le PDF exporté.

Serrega
la source
1
J'ai essayé toutes les autres choses en ligne de commande, mais au final, cela m'a permis d'augmenter suffisamment la compression pour mes besoins.
C.Rogers
1
La manière graphique, avec encore beaucoup de contrôle.
Agmenor
J'ai découvert que LibreOffice Draw est meilleur pour imprimer / exporter un fichier pdf que n'importe quoi d'autre, donc +1.
Yoric
1
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=myNewFile.pdf myOldFile.pdf

C’est le moyen le plus simple de réduire la taille à 50 +/- kb. Sur votre terminal, accédez au répertoire du fichier: exemple

cd ~/document/files

Puis tapez le code ci-dessus où:

myNewFile.pdf

est le nouveau nom du fichier et

myOldFile.pdf

est le nom du fichier.

ConnelBLAZE
la source