Bagaimana saya bisa mengurangi ukuran file dari file PDF yang dipindai?

372

Saya memiliki file PDF 72,9MB yang harus saya kurangi menjadi di bawah 500KB.

File tersebut adalah gambar JPEG yang telah saya pindai, dan kemudian dikonversi ke pdf.

tamimym
sumber
1
itu tergantung pada apa yang mengkonsumsi ruang ... perlu lebih banyak informasi. mengompresi ruang gambar bisa membantu, tetapi jika Anda mencoba semprotan tumpukan file besar, itu tidak akan berhasil. serius butuh info lebih lanjut.
RobotHumans
1
mengubahnya menjadi DjVu, alih-alih mencoba mengurangi ke ukuran yang tidak mungkin PDF (menurut sumber)
zetah
file tersebut adalah gambar jpeg yang telah saya pindai, dan kemudian dikonversi ke pdf.
tamimym
Tampaknya hanya sedikit membantu mem-filesize, tetapi pdfoptmemiliki sintaksis sederhana dan meningkatkan kecepatan pemuatan dan pergantian halaman di era iPad. :-)
Ari B. Friedman
1
PDF ke PS tidak efektif dalam file PDF yang dipindai, saya mencoba mengubah 56 MB pdf menjadi file ps tetapi file ps dikonversi menjadi 1,3 GB dan lagi ps2pdf dikonversi dalam file 45 MB

Jawaban:

145

aking1012 benar. Dengan informasi lebih lanjut tentang kemungkinan gambar yang disematkan, hyperlink dll. Akan jauh lebih mudah untuk menjawab pertanyaan ini!

Berikut adalah beberapa solusi skrip dan baris perintah. Gunakan sesuai keinginan Anda.

v2r
sumber
15
Terima kasih banyak atas saran Anda, shell ghostscript bekerja dengan sangat baik dan menyusut hingga 460KB :)
tamimym
Itu tidak sepenuhnya benar. Jika konten berpindah dari satu gambar ke teks, itu lebih dari sekadar dapat diterima. [Itu dengan asumsi bahwa teks secara akurat dikenali]
monksy
2
Saya sarankan Anda menyusut skrip shrinkpdf.sh, Anda dapat menyesuaikan kode untuk menggunakan nilai ppi yang Anda inginkan (72 secara default) dan mencapai ukuran file yang Anda butuhkan untuk mengorbankan kualitas yang paling rendah. Ini membuat saya dapat mengunggah dokumen yang dipindai sebesar 11 MB dengan maksimal. ukuran 3 MB tanpa kehilangan banyak kualitas.
Severo Raz
4
shrinkpdf sangat bagus!
AmanicA
2
Di mana shell ghostscript yang dimaksud OP adalah askubuntu.com/questions/113544/… ?
user13107
521

Gunakan perintah ghostscript berikut :

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
  • -dPDFSETTINGS=/screenkualitas lebih rendah, ukuran lebih kecil. ( 72 dpi )
  • -dPDFSETTINGS=/ebookuntuk kualitas yang lebih baik, tetapi pdf yang sedikit lebih besar. ( 150 dpi )
  • -dPDFSETTINGS=/prepressoutput mirip dengan pengaturan Acrobat Distiller "Prepress Optimized" ( 300 dpi )
  • -dPDFSETTINGS=/printermemilih output yang mirip dengan pengaturan Acrobat Distiller "Print Optimized" ( 300 dpi )
  • -dPDFSETTINGS=/default memilih output yang dimaksudkan untuk berguna di berbagai penggunaan, mungkin dengan mengorbankan file output yang lebih besar
Michael D
sumber
5
Ini harus menjadi jawaban yang diterima. Ghostscript adalah yang PDF, XPS dan pelaksanaan PS untuk beragam Unix dan dapat melakukan pada dasarnya semua memberikan kualitas terbaik ...
dom0
7
@Sina: Sebenarnya ada Script Nautilus dengan GUI berbasis Zenity sederhana yang memanfaatkan perintah gs ini dengan semua opsi tingkat kualitasnya: launchpad.net/compress-pdf
Sadi
36
Ini adalah jawaban yang tepat untuk pertanyaan ini (mengompresi pdf yang sebagian besar adalah data bitmap). Saya menemukan bahwa screenpengaturannya terlalu rendah untuk saya, tetapi ebookbekerja dengan baik, memotong PDF berbasis pemindaian 33Mb menjadi 3,6Mb, dan menjaganya tetap mudah dibaca. Opsi lain untuk -dPDFSETTINGSopsi ini tercantum di sini: milan.kupcevic.net/ghostscript-ps-pdf , dan mungkin ide yang baik untuk memasukkannya dalam jawaban ini.
naught101
5
gs parameter konfigurasi yang tersedia: ghostscript.com/doc/current/Ps2pdf.htm
Antonios Hadjigeorgalis
3
pada 17.10 ia membuat 42 mb pdf hingga 127 mb :(
YaSh Chaudhary
157

Cara favorit saya untuk melakukan ini adalah dengan mengkonversi pdf ke ps dan kembali. Meskipun demikian, ini tidak selalu berhasil, tetapi ketika berfungsi hasilnya bagus:

ps2pdf input.pdf output.pdf

Ini juga langsung bekerja di pdf, seperti yang disarankan dalam komentar.

Beberapa pengguna juga melaporkan lebih banyak kesuksesan ketika menggunakan pengaturan ebook sebagai berikut:

ps2pdf -dPDFSETTINGS=/ebook input.pdf output.pdf 
jangan
sumber
4
Ini adalah cara yang sangat sederhana dan efektif untuk melakukannya. Saya terkejut melihat betapa metode ini memampatkan file. Terimakasih!
Gabriel
16
Terlepas dari kenyataan bahwa pendekatan yang satu ini menjadi solusi favorit saya untuk mengkompres file pdf, itu memecah tautan url yang mungkin dimiliki dokumen (yang tidak terjadi dengan pendekatan @Michael D). Selain itu, kedahsyatanlah yang dapat saya pikirkan untuk menjalankan cuplikan ini! (:
Rubens
1
@ Ruben Ah. Tidak tahu tentang fakta bahwa tautan url rusak. Terima kasih telah menambahkan itu.
don.joey
3
Ini memintas perlindungan kata sandi ... katakan saja '
jojo
8
ps2pdf akan mengambil pdf sebagai input, sehingga Anda dapat melakukan ini dalam satu langkah:ps2pdf intput.pdf output.pdf
frabjous
127

Jika Anda memiliki pdf dengan gambar yang dipindai , Anda dapat menggunakan convertuntuk membuat pdf dengan kompresi jpeg (Anda dapat menggunakan metode ini pada pdf apa pun, tetapi Anda akan kehilangan semua informasi teks).

Sebagai contoh:

convert -density 200x200 -quality 60 -compress jpeg input.pdf output.pdf

Sesuaikan kepadatan (mis. 100x100) dan kualitas sesuai kebutuhan Anda.

Tergantung pada input kompresi jpeg Anda mungkin bukan pilihan terbaik karena artefak kompresi. Anda memiliki pilihan antara BZip, Faks, Group4, JPEG, JPEG2000, Lossless, LZW, RLE atau Zip sebagai metode kompresi alternatif (beberapa hanya memperbolehkan gambar b / w). Untuk detailnya lihat di sini .

Saya dapat mencapai rasio kompresi yang hebat untuk dokumen yang dipindai / difoto (tergantung pada pengaturannya). Tergantung pada sumber dokumen, Anda mungkin ingin mengurangi kedalaman warna ( -depthargumen).

seseorang
sumber
3
Untuk dokumen yang dipindai di mana teks adalah apa yang Anda minati daripada gambar dan menjaga kedalaman bukan masalah, kompresi jpeg bukan ide yang baik karena artefak cenderung sangat terlihat. Jika Anda menggunakan pdfimages input.pdf pagesuntuk mengekstrak file pbm, maka Anda dapat melakukan sesuatu seperti: for page in *.pbm; do convert $page -compress Group4 -type bilevel TIFF:- | convert - output.pdf. Setiap OCR akan hilang, jadi saya biasanya melakukannya pdfsandwich output.pdf, yang tampaknya mengurangi ukuran file lebih jauh.
Brian Z
1
@BrianZ yakin kompresi jpeg tidak selalu merupakan pilihan terbaik, tetapi bagi saya itu adalah pendekatan terbaik untuk dokumen tipe campuran. Saya menambahkan beberapa informasi tentang metode kompresi lain untuk jawabannya.
someonr
2
Metode ini pada akhirnya menggunakan di gsbelakang layar.
alfC
2
Saya harus menggunakan double dash untuk pilihan untuk menjalankan perintah --density --quality --compressvs -density -quality -compress.
Rotareti
1
Jika gambar qaulity bukan masalah tertinggi (dan Anda hanya ingin mendapatkan lampiran email dang cukup kecil untuk dikirim) orang mungkin menambahkan -resize 50%juga, ubah persentase tergantung pada berapa banyak DPI digunakan saat pemindaian
chrki
41

Saya perlu berhemat PDF yang berisi pemindaian dokumen berwarna. Setiap halaman saya adalah gambar penuh warna sejauh menyangkut file. Itu adalah gambar dari halaman yang mengandung teks dan gambar, tetapi itu dibuat dengan memindai ke suatu gambar.

Saya menggunakan kombinasi perintah ghostscript di bawah ini dan satu dari utas lainnya.

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true \
-dColorImageResolution=150 -dNOPAUSE  -dBATCH -sOutputFile=output.pdf input.pdf

Ini mengurangi resolusi gambar menjadi 150dpi, memotong ukuran file saya menjadi dua. Melihat dokumen itu, hampir tidak ada kehilangan kualitas gambar yang nyata. Teks masih dapat dibaca dengan sempurna pada Nexus7 2012 saya.

mlitty
sumber
3
+1 untuk pengambilan sampel gambar tetapi menyimpan teks sebagai vektor. Membuat perbedaan besar di sisi tanpa membuat teks saya pixelated.
Jason O'Neil
Fantastis orang dapat menyetel resolusi dengan perintah ini - ini memberi saya hasil yang lebih baik daripada hanya menggunakan dPDFSETTINGS = \ screen
exchange
29

Berikut ini adalah skrip untuk menulis ulang pdf yang dipindai:

#!/bin/sh

gs  -q -dNOPAUSE -dBATCH -dSAFER \
    -sDEVICE=pdfwrite \
    -dCompatibilityLevel=1.3 \
    -dPDFSETTINGS=/screen \
    -dEmbedAllFonts=true \
    -dSubsetFonts=true \
    -dColorImageDownsampleType=/Bicubic \
    -dColorImageResolution=72 \
    -dGrayImageDownsampleType=/Bicubic \
    -dGrayImageResolution=72 \
    -dMonoImageDownsampleType=/Bicubic \
    -dMonoImageResolution=72 \
    -sOutputFile=out.pdf \
     $1

Anda dapat menyesuaikan sedikit agar lebih dapat digunakan kembali tetapi jika Anda hanya memiliki satu pdf, Anda bisa menggantinya $1dengan nama file pdf Anda dan memasukkannya ke terminal.

Oli
sumber
1
Berhasil, terima kasih Oli. Anda telah menjawab hampir semua yang saya minta di sini sejauh ini :-D
Rob Cowell
Ini adalah jawaban yang baik tetapi dalam kasus saya setidaknya butuh banyak waktu untuk mengonversi file PDF yang agak besar (> 10 MB) (lebih dari satu menit).
Gabriel
Saya tidak yakin apa yang terjadi, tetapi 30 MB PDF menghasilkan file 68 MB. Alih-alih mengurangi, itu membesar. Output yang sama jika menggunakan langsung ps2pdf seperti yang dinyatakan dalam jawaban berikutnya.
Ed Villegas
@EdVillegas Satu-satunya hal yang dapat saya pikirkan (untuk menjelaskan peningkatan semacam itu) adalah bahwa gambar memiliki resolusi lebih rendah daripada yang dihasilkan (72dpi). Atau entah bagaimana menanamkan font menyedot semua font.
Oli
21

Saya biasanya menggunakan ps2pdf untuk melakukan ini (sintaksis lebih mudah), sesuatu seperti ini:

ps2pdf -dPDFSETTINGS=/ebook BiggerPdf SmallerPDF

Saya menggunakan skrip python berikut untuk mengurangi ukuran semua file pdf dalam direktori di server produksi (8.04). Jadi harusnya berhasil.

#!/usr/bin/python

import os

for fich in os.listdir('.'):
        if fich[-3:]=="pdf":
                os.system("ps2pdf -dPDFSETTINGS=/ebook %s reduc/%s" % (fich,fich))
Javier Rivera
sumber
Terima kasih atas solusi alternatifnya. Saya mencoba Oli pertama dan itu memberi saya hasil yang saya butuhkan, tetapi saya akan menyimpan ini untuk referensi di masa mendatang juga.
Rob Cowell
1
-dPDFSETTINGS = / opsi printer melakukan 50% perubahan ukuran. ebook ukurannya 90%.
neouyghur
17
  1. Saya menggunakan LibreOffice Draw untuk membuka pdf.
  2. Saya kemudian "ekspor sebagai pdf"
  3. Dan atur "kualitas kompresi jpeg" menjadi 50% dan "resolusi gambar" menjadi 150 dpi

Ini akan memiliki hasil yang bagus.

Marius4674
sumber
Solusi terburuk untuk masalah ini! Ini benar-benar mengacaukan file saya!
9

Yang terbaik bagi saya adalah

convert -compress Zip -density 150x150 input.pdf output.pdf

Cara lain:

#### gs
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf $INPUTFILE

### pdf2ps && ps2pdf
pdf2ps input.pdf output.ps && ps2pdf output.ps output.pdf

### Webservice
http://compress.smallpdf.com/de

salam

pengoksidasi
sumber
Solusi bagus Mudah diingat dan itu membawa pdf saya dari 32 menjadi 3,5 MB tanpa kerugian yang masuk akal.
Immanuel Weihnachten
Saya menyukai cara kedua pdf2ps input.pdf temp.ps && ps2pdf14 temp.ps output.pdf && rm temp.ps
McPeppr
5

Saya sendiri mengalami masalah ini. Jika menggunakan pemindaian sederhana, pilih mode teks untuk pemindaian resolusi rendah dan Anda tidak perlu khawatir tentang hal-hal baris perintah. Hanya mengatakan.

pengguna179584
sumber
1
Ini adalah jawaban tunggal di utas ini yang menyelesaikan masalah saya. Aku meremehkan Simplescan, tapi itu benar-benar jawaban bagiku, bukannya bertarung melawan Xsane yang tampaknya merupakan penderitaan yang tak berkesudahan.
versvs
4

Kontrol kualitas kompresi:

#!/bin/sh
INPUT=$1; shift
OUTPUT=$1; shift
GS_BIN=/usr/bin/gs
QFACTOR="0.40"

# Image Compression Quality
#
# Quality HSamples VSamples QFactor
# Minimum [2 1 1 2] [2 1 1 2] 2.40
# Low     [2 1 1 2] [2 1 1 2] 1.30
# Medium  [2 1 1 2] [2 1 1 2] 0.76
# High    [1 1 1 1] [1 1 1 1] 0.40
# Maximum [1 1 1 1] [1 1 1 1] 0.15 

${GS_BIN} -dBATCH -dSAFER -DNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=${OUTPUT} -c "<< /ColorImageDict << /QFactor ${QFACTOR} /Blend 1 /HSample [1 1 1 1] /VSample [1 1 1 1] >> >> setdistillerparams" -f ${INPUT}
pengguna525719
sumber
... jadi baik INPUT dan OUTPUT adalah argumen yang sama? Anda mungkin ingin menambahkan pedoman penggunaan.
mikewhever
2
Perhatikan shift. Parameter pertama adalah file input, kedua adalah file output dan sisanya dari parameter akan diteruskan ke gsapa adanya.
Mikko Rantalainen
Saya pikir Anda ingin / HSample s dan / VSample s , tidak / HSample dan / VSample. Lihat misalnya dokumen ps2pdf atau manual referensi bahasa PostScript. Mungkin juga perlu dicatat bahwa rentang QFactor yang diizinkan adalah 0 hingga 1.000.000 dan nilai yang lebih rendah menghasilkan kualitas yang lebih tinggi.
Pont
3

Karena tautan ini pertama kali bagi saya ketika saya mencari di Google, saya pikir saya akan menambahkan satu kemungkinan lagi. Tidak ada solusi di atas yang berfungsi untuk saya pada pdf yang diekspor dari Inkscape (15 mb), tetapi saya akhirnya dapat mengecilkannya menjadi 1 mb dengan membukanya di GIMP, dan mengekspor sebagai pdf lagi.

Opsi lain yang mendekati (tetapi teks sedikit kabur) adalah utilitas konversi ImageMagick:

convert -compress Zip input.pdf output.pdf
mbroshi
sumber
Saya kira ini yang Anda maksud dengan "sedikit kabur", tetapi hanya untuk memperjelas, convert -compress Ziptampaknya meraster semua vektor.
Sparhawk
3

Pada akhirnya saya menulis skrip bash saya sendiri untuk menyelesaikan ini, ia menggunakan mogrify, convertdan gsuntuk mengekstrak halaman pdf sebagai png, mengubah ukurannya, mengubahnya menjadi 1-bit bmp dan kemudian membangunnya kembali sebagai pdf. Pengurangan ukuran file bisa lebih dari 90%. Tersedia di http://www.timedicer.co.uk/programs/help/pdf-compress.sh.php .

scoobydoo
sumber
3

Saya sangat merekomendasikan pdfsizeopt .

Hal ini jauh lebih efisien dalam hal pengurangan ukuran daripada sebelumnya CLI dan GUI perangkat lunak yang saya telah mencoba (termasuk convert, gs, pdftk, dll) - meskipun mungkin lebih lambat dengan pngoutdiaktifkan -, dan tidak memiliki beberapa masalah mereka (tidak ada berat gambar pixelated / terdegradasi, tidak ada kehilangan bookmark, dll.).

Sekarang, jika Anda perlu mencapai ukuran tertentu apa pun konsekuensinya (termasuk merendahkan gambar ke titik tidak dapat dibaca), itu mungkin bukan alat yang Anda butuhkan, tetapi sebagai solusi yang selalu berfungsi, untuk mengurangi ukuran besar yang tidak perlu dalam PDF tanpa kehilangan keterbacaan, informasi dan kualitas gambar yang dapat diterima, saya pikir itu adalah pilihan terbaik. (Catatan: Saya cenderung menggunakannya setelah pertama kali melakukan vektorisasi-OCR di Adobe Acrobat [fungsi yang dulu disebut "CleanScan"], yang dapat memiliki dampak ukuran yang dramatis pada beberapa dokumen teks yang dipindai.)


Saya merekomendasikan instalasi Unix generik :

  1. Instal semua dependensi yang diperlukan:

  2. Unduh dan instal yang dapat dieksekusi:

    curl -L -o https://raw.githubusercontent.com/pts/pdfsizeopt/master/pdfsizeopt.single
    cp pdfsizeopt.single /usr/local/bin/pdfsizeopt
    

Pemakaian:

pdfsizeopt original.pdf [compressed.pdf]

Catatan untuk pengguna mac yang menemukan entri ini (atau pengguna Linuxbrew): ada rumus pemasangan Homebrew:

brew install --HEAD pts/utils/pdfsizeopt
iNyar
sumber
2

Saya menghadapi masalah yang sama, dan senang menemukan utas ini. Secara khusus saya memiliki pdf yang dihasilkan dari gambar yang dipindai, dan perlu mengurangi ukuran byte-nya dengan faktor 6.

Sayangnya, tidak ada solusi di atas yang bekerja :(. Kemudian saya menyadari bahwa di suatu tempat di pemindai-> proses jpeg-> pdf ukuran halaman telah membengkak oleh faktor aprx 4. Dokumen yang saya pindai semuanya berukuran Letter, tetapi pdf memiliki ukuran

identify -verbose doc_orig.pdf | grep "Print size"
 Print size: 35.4167x48.7222

Saya mendapatkan hasil yang diinginkan akhirnya dengan perintah "convert" yang melakukan perubahan ukuran sekaligus langkah kompresi dalam satu:

convert -density 135x135 -quality 70 -compress jpeg -resize 22.588% doc_orig.pdf doc_lowres.pdf

Perhatikan bahwa doc_orig memiliki kerapatan 72x72 dpi.

Kalpit
sumber
1

Jika mengonversi ke djvu juga akan baik-baik saja dan jika tidak ada warna yang terlibat, Anda dapat mencoba yang berikut ini:

Konversikan pdf ke file jpg menggunakan pdfimages -j

Jika Anda mendapatkan file pbm sebagai gantinya, Anda harus melakukan langkah menengah:

for FILENAME in $(ls *.pbm); do convert $FILENAME ${FILENAME%.*}.jpg ;done

Perintah convert adalah dari paket imagemagick.

Kemudian gunakan scantailor untuk membuat tif keluar darinya.

Pada langkah terakhir Anda pergi ke scantailors keluar direcory (di mana tif's berada) dan menerapkan djvubind ke direktori itu.

Ini harus mengurangi ukuran file secara drastis tanpa kehilangan kualitas teks yang besar. Jika Anda ingin kontrol yang lebih baik atas ocr-backend, Anda dapat mencoba djvubind --no-ocrdan menggunakan ocrodjvu untuk menambahkan lapisan ocr sesudahnya.

Jika Anda memiliki warna pada dokumen Anda, hal-hal menjadi sedikit lebih rumit. Alih-alih djvubind Anda bisa menggunakan didjvu dan di scantailor Anda harus mengubah ke mode campuran dan kadang-kadang memilih gambar warna secara manual.

siswa
sumber
1

memuat gambar atau bahkan file pdf ke inkscape.

Dari inkscape: Simpan dalam format vektor (sebagai asli .svg).

Impor file vektor ke dalam scribus, edit layout, dan ekspor / simpan sebagai .pdf dari sana

kera
sumber
0

Alat kompres PDF super sederhana: halaman GitHub.

Instalasi di Ubuntu:

sudo add-apt-repository ppa:jfswitz/released

sudo apt-get update

sudo apt-get install pdf-compressor

Ini menggunakan ghostscript.

John
sumber
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
0

Bagi saya screenopsi gs terlalu buruk, dan yang ebookterlalu besar.

Dokumen asli saya berisi teks sebagai gambar berwarna dan hitam putih (tergantung halaman).

Solusi terbaik yang saya lakukan adalah:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true -dDownsampleGrayImages=true -dDownsampleMonoImages=true -dColorImageResolution=130 -dGrayImageResolution=130 -dMonoImageResolution=130 -r130 -dNOPAUSE  -dBATCH -sOutputFile=output_lr.pdf input.pdf

Perhatikan bahwa tingkat kompresi tidak linier .. jika saya menentukan 135 itu tidak dikompresi, saya menemukan 130 menjadi (dalam kasus saya) resolusi maksimum yang mencapai kompresi.

Antonello
sumber
-1

Saya menggunakan perintah di bawah ini tetapi tidak memampatkan file pdf saya secara substansial. Beberapa kali beberapa bagian dihitamkan setelah kompresi.

  1. gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf $INPUTFILE

  2. "ps2pdf -dPDFSETTINGS=/ebook %s %s" % (input_file_path, out_file_path)

Setelah terlalu banyak berkeliaran di web saya tidak bisa menemukan perpustakaan kompresi yang tepat. Saya menemukan pdfcompressor.com. Ini hanya situs web yang luar biasa. Ini kompres pdf sebesar 95% (15Mb file). Jadi saya menggunakan selenium dan Tor untuk mengotomatiskan kompresi. Periksa Github Repository saya. [GITHUB] ( https://github.com/gugli28/PdfCompressor )

Pangeran
sumber