Optimiser les fichiers PDF (avec Ghostscript ou autres)
Ghostscript est la meilleure option si vous souhaitez optimiser un fichier PDF et de réduire la taille du fichier?
J'ai besoin de stocker beaucoup de fichiers PDF et donc j'ai besoin d'optimiser et de réduire la taille du fichier, autant que possible,
Quelqu'un a une expérience avec Ghostscript et/ou d'autres?
ligne de commande
exec('gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4
-dPDFSETTINGS=/screen -sOutputFile='.$file_new.' '.$file);
- Vous êtes à la recherche pour gratuit ou Logiciel Libre uniquement? Ou est la propriété de payer-ware également une option?
- Avez-vous une idée de ce qui objets en vos Pdf en fichiers utilisent le plus d'espace? Les polices? Salut-res images?
Vous devez vous connecter pour publier un commentaire.
Si vous à la recherche d'un Libre (comme dans 'libre') de Logiciels, Ghostscript est certainement votre meilleur choix. Cependant, il n'est pas toujours facile à utiliser-certaines de ses (très puissant) options de traitement ne sont pas faciles à trouver documenté.
Jetez un oeil à cette réponse, qui explique comment exécuter un contrôle plus détaillé sur la résolution de l'image sous-échantillonnage de ce que le générique
-dPDFSETTINGS=/screen
n' (qui définit quelques globale par défaut, ce qui vous souhaiterez peut-être modifier):Fondamentalement, il vous explique comment faire Ghostscript sous-échantillonner toutes les images à une résolution de 72 dpi (cette valeur est
-dPDFSETTINGS=/screen
utilise -- vous pouvez aller encore plus bas):Si vous voulez essayer si Ghostscript est en mesure également de "nations unies-intégrer" les polices utilisées (parfois ça marche, parfois non, selon la complexité de la police intégrée, et aussi sur le type de police utilisé), vous pouvez essayer d'ajouter les éléments suivants à votre gs commande:
Remarque: Être conscient que le sous-échantillonnage résolution de l'image sera sûrement une réduction de la qualité (irréversible), et dis-incorporation des polices font qu'il est difficile ou impossible d'afficher et d'imprimer les fichiers Pdf, à moins que ces polices sont installées sur la machine....
Mise à jour
Une option que j'avais oublié dans ma réponse originale à cette question est d'ajouter
à la ligne de commande. Ce paramètre conduit Ghostscript pour essayer de détecter toutes les images qui sont incorporés dans le document PDF à plusieurs reprises. Cela peut se produire si vous utilisez une image comme un logo ou du fond de la page, et si le fichier PDF des logiciels de génération n'est pas optimisé pour cette situation. Cette habitude d'être le cas avec les anciennes versions d'OpenOffice/LibreOffice (j'ai testé la dernière version de LibreOffice, v4.3.5.2, et il ne veut plus faire des choses stupides).
C'est également le cas si vous concaténer des fichiers PDF à l'aide de
pdftk
. Pour vous montrer l'effet, et comment vous pouvez la découvrir, regardons un exemple de fichier PDF:Les versions récentes de Poppler est
pdfimages
utilitaire avons ajouté le support pour un-list
paramètre, qui peut la liste de toutes les images incluses dans un fichier PDF:Cet exemple le format PDF est un 1-document d'une page, contenant une image, qui est compressée au format JPEG de compression, a une largeur de 423 pixels et une hauteur de 600 pixels et rend à une résolution de 52 PPI sur la page.
Si nous concaténons 3 copies de ce fichier à l'aide de
pdftk
comme suit:alors le résultat montre que ces propriétés de l'image via
pdfimages -list
:Cela montre qu'il y a 3 identiques objets PDF (avec l'Id de 4, 8 et 12) qui sont incorporés dans
p3.pdf
maintenant.p3.pdf
se compose de 3 pages:Optimiser PDF par le remplacement de la copie de l'image avec des références
Maintenant, nous pouvons appliquer le mentionnés ci-dessus de l'optimisation avec l'aide de Ghostscript
Vérification:
Il y a encore une image par page, mais le PDF ID de l'objet est toujours le même aujourd'hui: 10.
Comme vous pouvez le voir, le "stupide" de concaténation fait avec pdftk augmentation de la taille du fichier original à trois fois celui d'origine. L'optimisation par Ghostscript renversé par une quantité considérable.
Les plus récentes versions de Ghostscript peut même appliquer les
-dDetectDuplicateImages
par défaut. (AFAIR, v9.02, qui a introduit pour la première fois, ne pas l'utiliser par défaut.)72
manuellement la qualité est moindre lorsque le paramètre/screen
est définie et la taille du fichier est toujours inférieur avec/screen
🙂/screen
et la taille du fichier est inférieure compard à réglage manuel de la dpi à72
Vous pouvez obtenir de bons résultats par la conversion de PDF vers Postscript, puis de nouveau au format PDF en utilisant
La valeur de l'argument
-dPDFSETTINGS
définit la qualité des images dans le fichier PDF résultant. Les Options sont, de faible à haute qualité:/screen
,/default
,/ebook
,/printer
,/prepress
, voir http://milan.kupcevic.net/ghostscript-ps-pdf/ pour une référence.Le fichier Postscript peut devenir très grand, mais les résultats en valent la peine. Je suis passé de 60 MO PDF à 140 MO fichier Postscript, mais a terminé avec un 1.1 MB PDF optimisé.
gs
avec les réglages appropriés? En outre, cela va entraîner des problèmes dus par Postscript manque certaines fonctionnalités (par exemple, la transparence alpha, les dégradés, les profils ICC).- Je utiliser Ghostscript avec les options suivantes prises à partir de ici.
Vous pouvez trouver que
pdftocairo
(à partir de Poppler) peut faire de plus petits fichiers Pdf, mais méfiez-vous qu'il bande de certaines fonctions (telles que les liens hypertexte) à l'abri.pdftocairo
et puis grâce àpdfcrop
(à partir de Tex) d'en réduire la taille à 90K.Vous allez perdre en qualité, mais si ce n'est pas un problème, alors ImageMagick
convert
peuvent s'avère utile :Notez que cela ne fonctionne pas toujours : une fois, j'ai converti un 126 MO fichier dans un de 14 MB à l'aide de cette commande, mais une autre fois, elle a doublé la taille de 350 Ko fichier.
De toute façon, il vaut la peine de lui donner un essai...
Comme mentionné dans les commentaires, il n'y a pas de point dans l'application de cette commande sur une base de vecteurs PDF, il ne sera utile que sur des images pixellisées.
Voir aussi ce post pour les options connexes.
Ghostscript est livré avec deux utilitaires:
pdfopt
etps2pdf14
. Les deux peuvent être utilisées pour optimiser les fichier(s) PDF, mais dans certains cas la taille de "optimisé" fichier peut être plus grand que l'original.ps2pdf14 input.pdf output.pdf
fait commegs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
. Pour du texte pur contenu de la sortie.pdf est de 25% de la taille de l'entrée.fichierpdfopt
produit plus de sortieCela a fonctionné pour moi
Convertir vos PDF en PS (cela crée un fichier volumineux
Convertir le nouveau PS dos à un PDF
Source:
https://pandemoniumillusion.wordpress.com/2008/05/07/compress-a-pdf-with-pdftk/