2012-02-29 10 views
21

Potrzebujesz rozwiązania opartego na języku Java lub, co najgorsze, wiersza polecenia dla systemu Linux.Jak obniżyć liczbę obrazów w pliku PDF?

Próbowałem użyć Ghostscript:

gs -sDEVICE=pdfwrite -dPDFA -dBATCH -dNOPAUSE -dUseCIEColor \ 
    -sProcessColorModel=DeviceCMYK -sPDFACompatibilityPolicy=1 \ 
    -sOutputFile=downgraded.pdf leon_range_my12_w22_brochure.pdf 

ale mam dużo błędów ...

+2

Te parametry i tak nie zwalniają obrazów. Jakiej wersji GS używasz i zgłosiłeś błędy jako błąd? Przełącznik -dPDFA potrzebuje dodatkowych informacji, aby utworzyć zgodny plik PDF/A, który nie został dostarczony. Prawdopodobnie "błędy" są w rzeczywistości ostrzeżeniami ... – KenS

Odpowiedz

3

Spróbuj moonshiner, GUI do Ghostscript.

+0

podczas gdy moonshiner rzeczywiście wyglądał obiecująco podczas 5-miesięcznej aktywności deweloperskiej na Sourceforge w 2009 roku, obecnie wygląda na to, że jest to martwy projekt. Brak aktualizacji od maja 2009 roku .... :-( –

+0

wygląda bardzo przydatny przy dostosowywaniu ciągi wiersza polecenia dla gs. – macromaniac

+2

@pipitas Nie wprowadziłem żadnych dużych zmian do bimberu głównie dlatego, że o ile mi wiadomo, to jest całkiem Dużo zrobiłem Zgadzam się, że brak aktywności sprawia, że ​​wygląda na martwą, ale nadal używam jej intensywnie do dziś.Po prostu nie miałem już nic do dodania :) – balpha

31

Oto przykład, jak można downsample wszystko (kolor szary i mono) zdjęć do 72dpi z Ghostscript polecenie:

gs \ 
    -o downsampled.pdf \ 
    -sDEVICE=pdfwrite \ 
    -dDownsampleColorImages=true \ 
    -dDownsampleGrayImages=true \ 
    -dDownsampleMonoImages=true \ 
    -dColorImageResolution=72 \ 
    -dGrayImageResolution=72 \ 
    -dMonoImageResolution=72 \ 
    -dColorImageDownsampleThreshold=1.0 \ 
    -dGrayImageDownsampleThreshold=1.0 \ 
    -dMonoImageDownsampleThreshold=1.0 \ 
    input.pdf 

Aktualizacja:
Parametry *ImageDownsampleThreshold=1.0 egzekwowania że all Obrazy o rozdzielczości wyższej niż docelowa rozdzielczość 72 dpi zostaną zmniejszone. Jeśli ten parametr nie zostanie podany (lub ustawiona na inną wartość), zostaną użyte wartości domyślne: *ImageDownsampleThreshold=1.5. Ta domyślna wartość spowoduje jedynie zmniejszenie liczby obrazów o wartości 108 dpi (lub wyższej) i pozostawi pozostałe nietknięte.

+0

@codin: Komentarze nie są przeznaczone do dyskusji na zupełnie nowy temat. Zadaj nowe pytanie, oznacz to jako '[ghostscript]' + '[pdf]', a ja postaram się odpowiedzieć na nie najlepiej jak potrafię. Proszę również podać, jaki jest cel twojego wniosku. Oszczędzasz na filesize? Usunąć informacje zawarte w obrazach? Lub? –

+0

Dziękuję Kurt, świetna odpowiedź! Próbowałem zmniejszyć rozdzielczość obrazu do 36, ale rozmiar pliku wyjściowego nie zmienił się, mimo że 70% jego wielkości podano z obrazu na pierwszej stronie. Masz pojęcie, dlaczego? –

+1

@GuidoWalterPettinari: Bez dostępu do samego pliku PDF nie będę spekulować. Może możesz zastosować następującą odpowiedź do swojego pliku, aby zawęzić elementy, które zajmują większość jego bajtów: http://stackoverflow.com/a/37858893/359307 –

11

to czego używam:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=OUTPUT.pdf INPUT.pdf

Dla odniesienia:

-dPDFSETTINGS =/ekranu (screen-View-tylko jakości, 72 dpi zdjęcia)

- dPDFSETTINGS =/ebook (niska jakość, obrazy 150 dpi)

-dPDFSETTINGS =/drukarka (wysoka jakość, obrazy 300 dpi)

-dPDFSETTINGS =/prepress (wysoka jakość, kolor, 300 dpi zachowaniu imgs)

-dPDFSETTINGS =/default (prawie identyczne z/screen)

1

Na skanowanym dokumencie, w którym każda strona jest w pełni kolorowy obraz, użyłem kombinacji linii poleceń powyżej innego, który znalazłem na innym miejscu,

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

Każdy z moich stron było kolorowe skanowanie dokumentu. Ta linia poleceń zmniejszyła rozdzielczość stron do 150 dpi, zmniejszając rozmiar pliku o połowę bez znaczącej utraty rozdzielczości. Nadal wygląda dobrze, a tekst jest wygodnie czytelny na moim Nexusie 7.

+0

jest to polecenie, którego w ogóle używasz? proszę opublikuj całe polecenie, jeśli połączyłeś inne kombinacje zamieszczone powyżej. Mam problem z obrazami kolorowymi pdf, który nie zmniejsza się prawidłowo. Dzięki –

Powiązane problemy