Come posso ridurre la dimensione di un file pdf che contiene immagini?


18

Ho un file pdf che contiene immagini e voglio ridurne le dimensioni per caricarlo su un sito con un limite di dimensioni.

Quindi, come posso ridurre la dimensione di un file pdf dalla riga di comando?

Risposte:


26

È possibile utilizzare gs- GhostScript (interprete e visualizzatore del linguaggio PostScript e PDF) come segue:

  • Imposta pdfwrite come dispositivo di output di-sDEVICE=pdfwrite
  • Usa l'appropriato -dPDFSETTINGS.

    Dalla documentazione :

    -dPDFSETTINGS = configuration
    Preseleziona i "parametri del distillatore" su una delle quattro impostazioni predefinite:

    • / screen seleziona l'uscita a bassa risoluzione simile all'impostazione "Screen Optimized" di Acrobat Distiller.
    • / ebook seleziona l'output a media risoluzione simile all'impostazione "eBook" di Acrobat Distiller.
    • / printer seleziona un output simile all'impostazione "Print Optimized" di Acrobat Distiller.
    • / prestampa seleziona un output simile all'impostazione "Prepress Optimized" di Acrobat Distiller.
    • / default seleziona l'output destinato a essere utile in un'ampia varietà di usi, probabilmente a spese di un file di output più grande.
  • -oopzione per il file di output che imposta anche -dNOPAUSEe -dBATCH(vedi parametri relativi all'interazione )

Esempio:

$ 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

Qui -qsopprimere i normali messaggi di avvio e fare anche l'equivalente dei -dQUIETquali sopprime i commenti delle informazioni di routine


Non funziona per me. Un output PDF ricercabile di tesseractrimane completamente invariato quando si tenta di ridurlo con questo comando.
Gabriel Staples,

3
ps2pdf input.pdf output.pdf

Ho ricevuto la risposta da chiedere a Ubuntu e ha funzionato per me. In realtà ha ridotto 18,1 Mb a 1,0 Mb


Non funziona per me. Un output PDF ricercabile di tesseractrimane completamente invariato quando si tenta di ridurlo con questo comando.
Gabriel Staples,

Questo è incredibilmente semplice se non ti interessa scegliere tutte le opzioni di cui GhostScript ha bisogno. Le pagine man dicono che lo script accetta gli stessi parametri di gs, fornisce questo esempio:ps2pdf -dPDFSETTINGS=/prepress figure.ps proof.pdf
Cris Luengo,

0

Puoi provare questo:

$ 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

È più veloce di gsma comprime fino al 30% in questo caso per un file di input 107,5 MiB.


Non funziona per me. Un output PDF ricercabile di tesseractrimane completamente invariato quando si tenta di ridurlo con questo comando.
Gabriel Staples,
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.