Bagaimana cara mengurangi ukuran file pdf yang berisi gambar?

18

Saya memiliki file pdf yang berisi gambar dan saya ingin mengurangi ukurannya untuk mengunggahnya ke situs dengan batas ukuran.

Jadi, bagaimana saya bisa mengurangi ukuran file pdf dari command-line?

Pandya
sumber

Jawaban:

26

Anda dapat menggunakan gs- GhostScript (penerjemah dan pratinjau bahasa PostScript dan PDF) sebagai berikut:

  • Setel pdfwrite sebagai perangkat keluaran oleh-sDEVICE=pdfwrite
  • Gunakan yang sesuai -dPDFSETTINGS.

    Dari Dokumentasi :

    -dPDFSETTINGS = konfigurasi Menetapkan
    "parameter penyuling" ke salah satu dari empat pengaturan yang telah ditentukan:

    • / layar memilih output resolusi rendah yang mirip dengan pengaturan Acrobat Distiller "Screen Optimized".
    • / ebook memilih output resolusi menengah yang mirip dengan pengaturan Acrobat Distiller "eBook".
    • / printer memilih output yang mirip dengan pengaturan Acrobat Distiller "Print Optimized".
    • / prepress memilih output yang mirip dengan pengaturan Acrobat Distiller "Prepress Optimized".
    • / default memilih output yang dimaksudkan untuk berguna di berbagai macam kegunaan, mungkin dengan mengorbankan file output yang lebih besar.
  • -oopsi untuk menampilkan file yang juga mengatur -dNOPAUSEdan -dBATCH(lihat parameter terkait Interaksi )

Contoh:

$ 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

Di sini -qmenekan pesan startup yang normal, dan juga melakukan yang setara dengan -dQUIETyang menekan komentar informasi rutin

Pandya
sumber
Tidak bekerja untuk saya. Output PDF yang dicari dengan tesseracttetap sama sekali tidak berubah ketika mencoba mengecilkannya dengan perintah ini.
Gabriel Staples
3
ps2pdf input.pdf output.pdf

Saya mendapat jawaban dari ask ubuntu dan itu berhasil untuk saya. Ini sebenarnya berkurang 18.1Mb menjadi 1.0Mb

Warga kehormatan
sumber
Tidak bekerja untuk saya. Output PDF yang dicari dengan tesseracttetap sama sekali tidak berubah ketika mencoba mengecilkannya dengan perintah ini.
Gabriel Staples
Ini sangat sederhana jika Anda tidak ingin memilih semua opsi yang dibutuhkan GhostScript. Halaman manual mengatakan bahwa skrip menerima parameter yang sama dengan gs, ia memberikan contoh ini:ps2pdf -dPDFSETTINGS=/prepress figure.ps proof.pdf
Cris Luengo
0

Anda dapat mencoba ini:

$ 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

Ini lebih cepat daripada gstetapi kompres hingga 30% dalam hal ini untuk file input 107,5MiB.

SebMa
sumber
Tidak bekerja untuk saya. Output PDF yang dicari dengan tesseracttetap sama sekali tidak berubah ketika mencoba mengecilkannya dengan perintah ini.
Gabriel Staples