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.
Utilisez la commande ghostscript suivante :
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook \
-dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
Résumé de -dPDFSETTINGS
:
-dPDFSETTINGS=/screen
qualité inférieure, taille plus petite. (72 dpi)-dPDFSETTINGS=/ebook
pour une meilleure qualité, mais des fichiers pdf légèrement plus grands. (150 dpi)-dPDFSETTINGS=/prepress
sortie similaire au paramétrage "Optimisé pour la prépresse" d'Acrobat Distiller (300 dpi)-dPDFSETTINGS=/printer
sélectionne une sortie similaire au paramétrage "Optimisé pour l'impression" d'Acrobat Distiller (300 dpi)-dPDFSETTINGS=/default
sélectionne une sortie destinée à être utile pour une grande variété d'utilisations, éventuellement au détriment d'un fichier de sortie plus volumineuxRéférence : https://www.ghostscript.com/doc/current/VectorDevices.htm#PSPDF_IN:
Contrôles et fonctionnalités spécifiques à l'entrée PostScript et PDF
-dPDFSETTINGS=configuration
Prédéfinit les "paramètres de distillation" sur l'un des quatre réglages prédéfinis :
/screen
sélectionne une sortie à basse résolution similaire au paramétrage "Optimisé pour l'écran" d'Acrobat Distiller (jusqu'à la version X)./ebook
sélectionne une sortie à résolution moyenne similaire au paramétrage "eBook" d'Acrobat Distiller (jusqu'à la version X)./printer
sélectionne une sortie similaire au paramétrage "Optimisé pour l'impression" d'Acrobat Distiller (jusqu'à la version X)./prepress
sélectionne une sortie similaire au paramétrage "Optimisé pour la prépresse" d'Acrobat Distiller (jusqu'à la version X)./default
sélectionne une sortie destinée à être utile pour une grande variété d'utilisations, éventuellement au détriment d'un fichier de sortie plus volumineux.
Les paramètres exacts pour chacun d'eux, y compris leurs valeurs DPI, sont indiqués dans les dizaines d'options de ce tableau : https://www.ghostscript.com/doc/current/VectorDevices.htm#distillerparams.
On peut également créer un script Nautilus pour accéder à cette fonction pour chaque fichier.
Ceci devrait être la réponse acceptée. ghostscri est le implémentation de PDF, XPS et PS pour les unix et peut essentiellement tout faire en offrant la meilleure qualité...
@Sina: Il existe en fait un script Nautilus avec une interface graphique simple basée sur Zenity qui utilise cette commande gs avec toutes ses options de qualité: launchpad.net/compress-pdf
Ma façon préférée de faire cela est de convertir le PDF en PostScript et vice versa. Cela ne fonctionne pas toujours, mais quand ça marche, les résultats sont bons :
ps2pdf input.pdf output.pdf
Cela fonctionne également directement sur les PDF, comme suggéré dans les commentaires.
Certains utilisateurs rapportent également plus de succès lorsqu'ils utilisent les paramètres du livre électronique comme suit :
ps2pdf -dPDFSETTINGS=/ebook input.pdf output.pdf
Malgré le fait que cette approche est devenue ma solution préférée pour compresser les fichiers pdf, elle casse les liens url que le document peut avoir (ce qui n'arrive pas avec l'approche de @Michael D). Mis à part cela, la qualité est tout ce à quoi je pense en exécutant cet extrait! (:
Merci beaucoup pour vos suggestions, le shell ghostscript a fait des merveilles et l'a réduit à 460KB :)
Cela n'est pas nécessairement vrai. Si le contenu est passé d'une image à un texte, c'est plus que faisable. [Cela suppose que le texte soit correctement ocré]
Je vous recommande le script shrinkpdf.sh, vous pouvez personnaliser le code pour utiliser la valeur ppp que vous souhaitez (72 par défaut) et atteindre exactement la taille de fichier dont vous avez besoin sans sacrifier la qualité. Cela m'a permis de télécharger un document numérisé de 11 Mo avec une taille maximale de 3 Mo sans perdre beaucoup de qualité.
Si vous avez un pdf avec des images scannées, vous pouvez utiliser convert
(ImageMagick) pour créer un pdf avec une compression jpeg (Vous pouvez utiliser cette méthode sur n'importe quel pdf, mais vous perdrez toutes les informations textuelles).
Par exemple:
convert -density 200x200 -quality 60 -compress jpeg input.pdf output.pdf
Ajustez les paramètres selon vos besoins
J'ai pu obtenir de bons taux de compression pour des documents scannés/photographiés (selon les réglages). En fonction de la source du document, vous voudrez peut-être réduire la profondeur des couleurs (argument -depth
).
Pour un document numérisé où le texte est ce qui vous intéresse plutôt que les images et la préservation de la profondeur n'est pas un problème, la compression jpeg n'est pas une bonne idée car les artéfacts tendent à être extrêmement visibles. Si vous utilisez pdfimages input.pdf pages
pour extraire des fichiers pbm, vous pouvez faire quelque chose comme: for page in *.pbm; do convert $page -compress Group4 -type bilevel TIFF:- | convert - output.pdf
. Toute OCR sera perdue, donc je fais généralement ensuite pdfsandwich output.pdf
, ce qui semble réduire encore davantage la taille du fichier.
@BrianZ bien sûr, la compression jpeg n'est pas toujours le meilleur choix, mais pour moi, c'était la meilleure approche pour les documents de types mixtes. J'ai ajouté des informations sur d'autres méthodes de compression à la réponse.
J'avais besoin de réduire la taille d'un PDF contenant des numérisations couleur complètes d'un document. Chacune de mes pages était une image en couleur selon le fichier. Il s'agissait d'images de pages contenant du texte et des images, mais créées par numérisation en une image.
J'ai utilisé une combinaison de la commande ghostscript ci-dessous et d'une autre provenant d'un autre fil de discussion.
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true \
-dColorImageResolution=150 -dNOPAUSE -dBATCH -sOutputFile=output.pdf input.pdf
Cela a réduit la résolution de l'image à 150 dpi, réduisant la taille de mon fichier de moitié. En regardant le document, il n'y avait presque aucune perte de qualité d'image perceptible. Le texte est toujours parfaitement lisible sur mon Nexus7 de 2012.
+1 pour la réduction d'échantillonnage des images tout en conservant le texte en vecteurs. Cela a fait une énorme différence du côté sans rendre mon texte pixelisé.
Fantastique qu'on puisse ajuster la résolution avec cette commande - cela m'a donné de meilleurs résultats que simplement utiliser dPDFSETTINGS=\screen
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.