Mam wejściowy plik PDF (zwykle, ale nie zawsze generowany przez pdfTeX), który chcę przekonwertować na wyjściowy plik PDF, który jest wizualnie równoważny (bez względu na rozdzielczość), ma te same metadane (informacje tekstowe Unicode, hiperłącza, kontury itp.), ale rozmiar pliku jest jak najmniejszy.Jak zoptymalizować rozmiar pliku PDF?
wiem o następujących metod:
java -cp Multivalent.jar tool.pdf.Compress input.pdf
(od http://multivalent.sourceforge.net/). Ponownie kompresuje wszystkie strumienie, usuwa nieużywane obiekty, ujednolica równoważne obiekty, kompresuje białe znaki, usuwa wartości domyślne, kompresuje tabelę odsyłaczy.- Ponowne kompresowanie odpowiednich obrazów za pomocą jbig2 i PNGOUT.
- Ponowne kodowanie czcionek Type1 jako czcionek CFF.
- Ujednolicenie równoważnych obrazów.
- Ujednolicenie podzbiorów tej samej czcionki do większego podzbioru.
- Usuń wypełniane formularze.
- Podczas destylacji lub innej konwersji (np.
gs -sDEVICE=pdfwrite
) upewnij się, że nie pogarsza to jakości obrazu i nie zwiększa (!) Rozmiarów obrazu.
wiem o następujących technik, lecz nie mają one zastosowania w moim przypadku, ponieważ już mam PDF:
- stosowanie mniejszych i/lub mniej czcionek.
- Używaj obrazów wektorowych zamiast obrazów bitmapowych.
Czy masz inne pomysły na optymalizację plików PDF?
Obecny multiwalent: http://downloads.sourceforge.net/project/multivalent/multivalent/Release20091027/Multivalent20091027.jar brakuje teraz klasy tool.pdf.Compress. Jest to opisane tutaj: http://sourceforge.net/p/multivalent/discussion/252478/thread/e7850c31/?limit=50#a96d. Czy znasz jakieś dobre narzędzie do wymiany? –
Starsze wersje Multivalent istnieją w Arch Linux: https://aur.archlinux.org/packages/multivalent-pdf-tools/ –