Come ridurre la dimensione di un file pdf?


52

Sto cercando un modo in Ubuntu per ridurre le dimensioni di un pdf (riducendo la qualità delle immagini).

So che questo può essere fatto in Ghostscript digitando il seguente comando nel terminale:

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

Il problema è che non riesco a specificare la qualità con precisione. Il parametro -dPDFSETTINGS=/screenè quello che decide la qualità; ma le alternative sono piuttosto rigide (ad esempio è possibile fare -dPDFSETTINGS=/ebookper una qualità leggermente migliore).

Sto cercando un modo per ridurre le dimensioni di un pdf in un modo che mi permetta di specificare numericamente la qualità desiderata.


Potresti voler dare un'occhiata a queste domande e risposte.
Glutanimate,


È davvero un duplicato!
hectorpal,

Risposte:


58

Sono stato in grado di fare una leggera variazione del tuo comando con successo usando l'opzione -r300 di @drN L'opzione -r ti consente di impostare la risoluzione di output in pdf e in png.

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
    -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages \
    -dCompressFonts=true -r150 -sOutputFile=output.pdf input.pdf

7
Questo comando ha trasformato un PDF di 4 pagine di 25 MB in quasi la stessa qualità, ma 2 MB. Saluti!
Yanick Rochon,

Funziona con la maggior parte dei file. Tuttavia, in alcuni casi aumenta effettivamente la dimensione del file. Sembra che l' -ropzione sia ignorata in questi casi.
Luís de Sousa,

Questo comando ha consumato tutta la mia RAM (8Gb) e ha bloccato il mio laptop con un file pdf di 1000 pagine.
Da fare il

12

Questi due post che avevo pubblicato su Stackoverflow dovrebbero aiutarti. Stavo cercando di ridurre la dimensione dei pdf assicurandomi che soddisfassero un certo dpi o ppi per la mia tesi.

Ridurre le dimensioni del pdf con ghostscript

Modifica dpi immagine pdf usando gs

Hai provato a giocare con convertLinux?

Modificare:

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

Se ricordo bene, r300è l'output dpima potresti voler controllare. Questo converte un pdf in un png, però.

O

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

Fateci sapere come va! Questo è per un pdf o qualsiasi altro formato in qualsiasi altro formato. Ho appena usato un file di input di myPic.pdf e un file di output di fileout.pdf


Hmm ... Ho esaminato le domande a cui ti sei collegato. Sono interessanti, ma è difficile emettere un comando concreto che dovrei usare. Sto cercando un comando con un valore numerico lì che posso giocare per determinare la qualità. Puoi effettuare un tale comando? Si può fare usando convert?
Nicole,

Ho modificato la mia risposta per includere alcune opzioni più semplici. Dai un'occhiata e facci sapere! :)
caroN,

1
La conversione aumenta la mia dimensione del pdf, anche se uso 100 dpi. Forse la scelta migliore è convertire in png usando "gs" e poi "convertire" per andare in pdf?
Nicole,

@Nicole Ci sono sempre stati problemi con le conversioni in pdf. Per cosa proponi di utilizzare il pdf?
caroN,

@Nicole Ho notato che per ottenere il miglior risultato per i file pdf / eps, dovrei tornare al programma che ha creato il pdf in primo luogo e modificare le mie opzioni di salvataggio per salvare nel dpi / ppi che voglio. Spero che aiuti e sì, che può essere un po 'doloroso sul retro.
caroN,

12

Il modo più semplice che ho trovato è quello di aprire file PDF open source con LibreOffice Draw e quindi esportare in PDF con DPI previsto. La finestra di dialogo Esporta di Draw consente di specificare DPI e altre opzioni per il PDF esportato.


1
Ho provato tutte le altre cose da riga di comando, ma alla fine questo mi ha permesso di aumentare la compressione abbastanza per i miei scopi.
C. Roger

1
Il modo grafico, con ancora molto controllo.
Agmenor,

Ho scoperto che LibreOffice Draw è migliore nella stampa / esportazione di pdf di qualsiasi altra cosa, quindi +1.
Yoric,

1
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=myNewFile.pdf myOldFile.pdf

Questo è il modo più semplice secondo me, in grado di ridurre le dimensioni a 50 +/- kb. Sul tuo terminale, vai alla directory del file: esempio

cd ~/document/files

Quindi digitare il codice sopra dove:

myNewFile.pdf

è il nuovo nome del file e

myOldFile.pdf

è il nome del file.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.