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

18

J'ai un fichier pdf qui contient des images et je souhaite réduire sa taille afin de le télécharger sur un site avec une limite de taille.

Alors, comment puis-je réduire la taille d'un fichier pdf à partir de la ligne de commande?

Pandya
la source

Réponses:

26

Vous pouvez utiliser gs- GhostScript (interprète et prévisualisateur de langage PostScript et PDF) comme suit:

  • Définissez pdfwrite comme périphérique de sortie par-sDEVICE=pdfwrite
  • Utilisez le bon -dPDFSETTINGS.

    De la documentation :

    -dPDFSETTINGS = configuration Prédéfinit
    les "paramètres du distillateur" à l'un des quatre paramètres prédéfinis:

    • / screen sélectionne une sortie basse résolution similaire au paramètre "Screen Optimized" d'Acrobat Distiller.
    • / ebook sélectionne une sortie à résolution moyenne similaire au paramètre "eBook" d'Acrobat Distiller.
    • / l'imprimante sélectionne une sortie similaire au paramètre "Impression optimisée" d'Acrobat Distiller.
    • / prepress sélectionne une sortie similaire au paramètre "Prepress Optimized" d'Acrobat Distiller.
    • / default sélectionne la sortie destinée à être utile dans une grande variété d'utilisations, peut-être au détriment d'un fichier de sortie plus volumineux.
  • -oOption de fichier de sortie qui a également fixé -dNOPAUSEet -dBATCH(voir les paramètres liés Interaction- )

Exemple:

$ du -h file.pdf 
27M file.pdf

$ gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -q -o output.pdf file.pdf

$ du -h output.pdf 
900K    output.pdf

Ici, -qsupprimez les messages de démarrage normaux, et faites également l'équivalent de -dQUIETce qui supprime les commentaires d'informations de routine

Pandya
la source
Ça ne marche pas pour moi. Une sortie PDF consultable par tesseractreste complètement inchangée lorsque vous tentez de la réduire avec cette commande.
Gabriel Staples
3
ps2pdf input.pdf output.pdf

J'ai obtenu la réponse de demander ubuntu et cela a fonctionné pour moi. Il a en fait réduit 18,1 Mo à 1,0 Mo

Homme libre
la source
Ça ne marche pas pour moi. Une sortie PDF consultable par tesseractreste complètement inchangée lorsque vous tentez de la réduire avec cette commande.
Gabriel Staples
C'est extrêmement simple si vous ne vous souciez pas de choisir toutes les options dont GhostScript a besoin. Les pages de manuel disent que le script accepte les mêmes paramètres que gs, il donne cet exemple:ps2pdf -dPDFSETTINGS=/prepress figure.ps proof.pdf
Cris Luengo
0

Vous pouvez essayer ceci:

$ time pdftk myFile.pdf output myFile__SMALLER.pdf compress
GC Warning: Repeated allocation of very large block (appr. size 16764928):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 11837440):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 7254016):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 34041856):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.

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

Il est plus rapide que gsmais compresse jusqu'à 30% dans ce cas pour un fichier d'entrée de 107,5 Mo.

SebMa
la source
Ça ne marche pas pour moi. Une sortie PDF consultable par tesseractreste complètement inchangée lorsque vous tentez de la réduire avec cette commande.
Gabriel Staples