Używam pdftk do kompresji pliku PDF za pomocą następującego wiersza poleceń
pdftk file1.pdf output file2.pdf compress
Działa, gdy zmniejszyła się waga mojego pliku.
Czy są [opcje] zmiany kompresji ???
A może inne rozwiązania do kompresji mojego pliku? Jest ciężki, ponieważ niektóre grafiki mają dużo punktów . Czy istnieje sposób na przekonwertowanie tych wykresów na przykład do formatu jpg i dostosowanie kompresji?
compression
pdftk
RockScience
źródło
źródło
Odpowiedzi:
Miałem ten sam problem i znalazłem dwa różne rozwiązania ( więcej szczegółów w tym wątku ). Obie radykalnie zmniejszyły rozmiar mojego nieskompresowanego pliku PDF.
Pikselowane (stratne):
Niespikselowane (bezstratne, ale może wyświetlać się nieco inaczej):
Edycja : właśnie odkryłem inną opcję (dla bezstratnej kompresji), która pozwala uniknąć nieprzyjemnego polecenia gs. qpdf to zgrabne narzędzie, które konwertuje pliki PDF (kompresja / dekompresja, szyfrowanie / deszyfrowanie) i jest znacznie szybsze niż polecenie gs:
źródło
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
gs
polecenie w odpowiedzi nie jest dokładnie bezstratne, ponieważ obniża rozdzielczość i jakość osadzonych plików JPG. Ale to jest bezstratne. tekst, zachowując go jako tekst, podczas gdyconvert
polecenie konwertuje go na grafikę rastrową.-dPDFSETTINGS=
na/ebook
daje mi bardzo ładny wynik: oczywiście, jest skompresowany i niektóre artefakty jpg są widoczne, ale jest całkowicie czytelny dla rozsądnego rozmiaru. Dzięki!ta procedura działa całkiem nieźle
Spróbuj.
źródło
Próbuję skompresować plik PDF, który utworzyłem za pomocą plików tiff 400ppi, głównie 8-bitowych, kilka 24-bitowych, z kompresją PackBits, przy użyciu
tiff2pdf
skompresowanego za pomocą Zip / Deflate. Miałem jeden problem z każdą z tych metod: żadna z powyższych metod nie zachowała spisu zakładek, które starannie ręcznie utworzyłem w programie Acrobat Pro X. Nawet nie zalecaneebook
ustawienie dlags
. Jasne, mogłem po prostu otworzyć kopię oryginału z nienaruszonym spisem treści i wykonać,Replace pages
ale niestety żadna z tych metod nie wykonała zadowalającej pracy na początku. Albo zmniejszyli rozmiar tak bardzo, że jakość była niedopuszczalnie pikselowana, albo w ogóle nie zmniejszyli rozmiaru, aw jednym przypadku faktycznie zwiększyli go pomimo utraty jakości.pdftk compress
:gs screen
:gs printer
:gs ebook
:qpdf --linearize
:pdf2ps
:ps2pdf
:źródło
Jeśli rozmiar pliku jest nadal zbyt duży, może pomóc użycie ps2pdf do zmniejszenia rozdzielczości utworzonego pliku pdf:
Dostosuj wartość opcji -dColorImageResolution , aby uzyskać wynik odpowiadający Twoim potrzebom (wartość opisuje rozdzielczość obrazu w DPI). Jeśli plik wejściowy jest w skali szarości, zastępując Kolor poprzez Grey lub stosując obie opcje w powyższej komendzie mogłaby również pomóc. Dalsze dostrajanie jest możliwe poprzez zmianę opcji -dPDFSETTINGS na / default lub / printer . Wyjaśnienia dotyczące wszystkich możliwych opcji znajdują się w podręczniku ps2pdf .
źródło
Po wypróbowaniu gpdf, jak sugerował nullglob , stwierdziłem, że otrzymałem te same wyniki kompresji (plik ~ 900 MB do ~ 30 MB), używając po prostu drukarki cups-pdf. Może to być łatwiejsze / preferowane, jeśli już przeglądasz dokument i potrzebujesz tylko skompresować jeden lub dwa dokumenty.
W Ubuntu 12.04 możesz to zainstalować przez
Po instalacji sprawdź Narzędzia systemowe > Administracja > Drukowanie > kliknij prawym przyciskiem myszy „PDF” i ustaw go na „Włącz”
Domyślnie wynik jest zapisywany w folderze o nazwie PDF w katalogu domowym.
źródło
Jednowierszowa opcja pdf2ps (autorstwa Lee) faktycznie zwiększyła rozmiar pliku PDF. Jednak te dwa kroki okazały się lepsze. I można to połączyć w jeden za pomocą przekierowania z & do standardowego wejścia / wyjścia i potoków:
pdf2ps duży.pdf - | ps2pdf - mały.pdf
zredukowaliśmy plik PDF wygenerowany przez xsane z 18 Mo do 630 ko!
Łącza się gubią, ale w obecnym przykładzie to nie problem ... i był to najłatwiejszy sposób na osiągnięcie pożądanego rezultatu.
źródło
ps2pdf
tego możesz spróbować , zobacz mój komentarz do odpowiedzi @ Lee.pdf2ps large.pdf small.pdf
wystarczy, zamiast dwóch krokówJednak
ps2pdf large.pdf small.pdf
jest to lepszy wybór.ps2pdf
jest znacznie szybszypdf2ps
czasami tworzy większy plik.źródło
out.pdf
, stał się plikiem PS (mimetype out.pdf
mówiout.pdf: application/postscript
).mimetype small.pdf
?mimetype small.pdf
jestsmall.pdf: application/pdf
. Myślę, że program może automatycznie określić typ pliku zgodnie z przyrostkiem.ps2pdf
jest lepiej.Nie zauważyłem dużej redukcji rozmiaru pliku przy użyciu qpdf. Najlepszym sposobem, jaki znalazłem, jest użycie ghostscript po zakończeniu pdftk, aby przekonwertować pdf na postscript, a następnie z powrotem na pdf. W PHP użyłbyś exec:
Użyłem tego kilka minut temu, aby zwiększyć wydajność pdftk z 490k do 71k.
źródło
Miałem ten sam problem i użyłem tej funkcji do kompresowania poszczególnych stron, co powoduje, że rozmiar pliku jest kompresowany nawet o 1/3 pierwotnego rozmiaru.
źródło
W przypadku, gdy chcesz skompresować plik PDF zawierający dużo tekstu do wyboru, w systemie Windows możesz użyć programu NicePDF Compressor - wybierz opcję „Flate”. Po wypróbowaniu wszystkiego (cpdf, pdftk, gs) w końcu pomogło mi skompresować mój 1360 stron PDF z 500 MB do 10 MB.
źródło