Bir pdf dosyasının boyutunu nasıl düşürürüm?


51

Ubuntu'da bir pdf boyutunu küçültmek için bir yol arıyorum (görüntülerin kalitesini düşürerek).

Bunun Ghostscript'te terminalde aşağıdaki komutu yazarak yapılabileceğini biliyorum:

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

Sorun, kaliteyi hiçbir doğrulukla belirleyemem. Parametre -dPDFSETTINGS=/screenkaliteye karar veren parametredir ; ancak alternatifler oldukça katı (örneğin -dPDFSETTINGS=/ebookbiraz daha iyi kalite için yapmak mümkün ).

İstenen kaliteyi sayısal olarak belirlememe izin verecek şekilde bir pdf boyutunu küçültmenin bir yolunu arıyorum.


Bu soru ve cevapları kontrol etmek isteyebilirsiniz .
Glutanimate


Gerçekten de bir kopyası!
hectorpal

Yanıtlar:


57

@DrN'den -r300 seçeneğini kullanarak komutunuzda başarılı bir değişiklik yapabildim. -R seçeneği pdf ile png'deki çıktı çözünürlüğünü ayarlamanıza izin veriyor.

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

7
Bu komut 25 MB'lik 4 sayfalık bir PDF'yi neredeyse aynı kalitede, ancak 2 MB’ye dönüştürdü. Şerefe!
Yanick Rochon

Bu çoğu dosya ile çalışır. Ancak, bazı durumlarda aslında dosya boyutunu artırır. Bu -rdurumlarda seçeneğin göz ardı edildiği görülüyor .
Luís de Sousa,

Bu komut tüm RAM'imi (8Gb) tüketti ve dizüstü bilgisayarımı 1000 sayfalık bir pdf dosyası ile dondu.
Yapılacak

12

Stackoverflow'a gönderdiğim bu iki mesaj size yardımcı olmalı. Tezim için belirli bir dpi veya ppi ile tanışmalarını sağlarken pdfs boyutunu azaltmaya çalışıyordum.

Ghostscript ile pdf boyutunu küçültme

Gs kullanarak pdf image dpi'yi değiştirme

convertLinux ile uğraşmayı denedin mi?

Düzenle:

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

Doğru hatırlıyorsam r300, çıktı dpiancak kontrol etmek isteyebilirsiniz. Bu olsa da, bir pdf png dönüştürür.

VEYA

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

Nasıl geçtiğini bize bildirin! Bu bir pdf veya başka bir formatta olan herhangi bir format içindir. Sadece myPic.pdf dosyasının giriş dosyasını ve fileout.pdf dosyasının çıkış dosyasını kullandım.


Hmm ... Bağlandığın sorulara baktım. İlginçler, ancak kullanmam gereken somut bir komut çıkarmak zor. Kaliteyi belirleyecek bazı sayısal değerlere sahip bir komut arıyorum. Böyle bir komutu etkileyebilir misin? Bir dönüştürmek kullanarak bunu yapabilir mi?
Nicole,

Cevabımı daha basit seçenekler içerecek şekilde düzenledim. Bir göz atın ve bize bildirin! :)
sevgili

1
100 dpi kullanıyor olsam bile, dönüştürme pdf boyutumu arttırıyor. Belki de en iyi seçenek "gs" kullanarak png'ye dönüştürmek ve sonra pdf'ye gitmek için "dönüştürmek" olur?
Nicole,

@Nicole Her zaman pdf dönüşümleriyle ilgili sorunlar olmuştur. PDF'yi ne için kullanmayı düşünüyorsunuz?
sevgili

@ Nicole, pdfs / eps dosyaları için en iyi sonucu elde etmek için, ilk başta pdf'yi yapan programa geri dönmem ve istediğim dpi / ppi'deki kaydetme seçeneklerimi değiştirmem gerektiğini fark ettim. Umarım bu yardımcı olur ve evet, bu biraz acı olabilir.
sevgili

12

Bulduğum en basit yol, kaynak PDF dosyasını LibreOffice Draw ile açmak ve daha sonra beklenen DPI ile PDF'ye aktarmak. Çizimin Dışa Aktar iletişim penceresi, dışa aktarılan PDF için DPI ve diğer seçenekleri belirlemenizi sağlar.


1
Diğer komut satırındaki her şeyi denedim, ama sonuçta bu, sıkıştırmamın amaçlarım için yeterince yükseltmeme izin verdi.
C.Rogers,

1
Grafik kontrol, hala çok fazla kontrol ile.
Agmenor

LibreOffice Draw'un pdf basarken / dışa aktarmada diğer her şeyden daha iyi olduğunu öğrendim, yani +1.
Yoric

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

Bu, düşündüğüm en kolay yol, boyutu 50 +/- kb değerine indirebilir. Terminalinizde, dosyanın dizinine gidin: example

cd ~/document/files

Ardından yukarıdaki kodu yazın:

myNewFile.pdf

Dosyanın yeni adı ve

myOldFile.pdf

dosyanın adıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.