plik pdf
Oprogramowanie

Kompresja PDF, darmowe metody, Multivalent PDF Tools

Na rynku oprogramowania istnieje ogromna liczba aplikacji, które umożliwiają kompresję dokumentów zapisanych w formacie PDF. Większość z nich to komercyjne produkty, za które trzeba słono zapłacić. Jednakże wśród gąszczu programów znajdziemy także darmowe metody, które w 100% zaspokoją nasze oczekiwania. W tym poradniku przedstawiam darmowe metody kompresji PDF.

Instalacja środowiska Java Runtime Environment (JRE)

Zanim przystąpimy do wykonywania jakichkolwiek operacji musimy zaopatrzyć się w środowisko uruchomieniowe JRE. Przechodzimy na stronę www.java.com i pobieramy biblioteki JRE, następnie instalujemy wszystko wedle wskazówek kreatora (instrukcja instalacji).

Java – dodanie zmiennej środowiskowej

Aby można było uruchomić aplikację napisaną w Javie z poziomu konsoli, należy uprzednio dodać ścieżkę Java Path. Jak tego dokonać opisałem w poprzednim poradniku – Java, zmienne środowiskowe.

Jedna drobna uwaga do tamtego poradnika, jak trafnie zauważył jeden z komentujących (Yuppy), jeśli zmienna PATH istnieje wystarczy dodać do niej po średniku kolejną ścieżkę wskazującą na katalog BIN. Natomiast jeśli nie mamy w systemie ustawionej zmiennej PATH (jak to było w moim przypadku), wszystko robimy zgodnie z powyższą instrukcją.

Multivalent PDF Tools – kompresja dokumentów PDF

Teraz pora na zdobycie odpowiednich narzędzi, które umożliwią kompresję dokumentu PDF. Mowa oczywiście o Multivalent PDF Tools, jednakże najnowsza dostępna wersja znajdująca się w repozytoriach multivalent.sourceforge.net nie posiada dodatkowych narzędzi (wycięto klasę Tools) – chodzi o wersję Multivalent20091027. Zatem musimy pobrać Multivalent20060102.jar która posiada owe narzędzia (Pobierz Multivalent20060102.jar).

Po pobraniu najlepiej od razu zmienić nazwę na bardziej przyjazną np. Multivalent.jar

Aby nie podawać w konsoli pełnej ścieżki do Multivalent warto skopiować plik JAR do katalogu C:\Program Files (x86)\Java\jre6\lib\ext (scenariusz dla platformy x64). Oczywiście u Was może to być inna lokalizacja, w zależności od wersji środowiska i systemu operacyjnego – dostosujcie ją do własnych potrzeb.

Na poczet kompresji warto utworzyć odrębny katalog, który będzie zawierał zestaw plików PDF, w tym przypadku wykorzystam lokalizację D:\pdfcompress.

Podstawowa wersja polecenia wygląda następująco:

java -cp Multivalent tool.pdf.Compress D:\pdfcompress\*.pdf

Wariant *.pdf dotyczy kompresji wszystkich plików w katalogu pdfcompress.

Multivalent PDF Tools - kompresja PDF

Po wykonaniu polecenia, w tym samym katalogu (obok plików źródłowych) powstaną zoptymalizowane wersje, które rozpoznamy po dopisku -o, nazwapliku-o.pdf

Oczywiście nic nie stoi na przeszkodzie, żeby zastosować dodatkowe metody kompresji. Szczegółowy opis funkcji oraz testy znajdziecie na stronie projektu.

Przykład polecenia z dodatkowymi metodami optymalizacyjnymi:

java -cp Multivalent tool.pdf.Compress -compact -nostruct -noalt -jpeg D:\pdfcompress\*.pdf

Optymalizowany PDF to ilustrowany magazyn, liczba stron 50.

Przykład efektywności kompresji:

  • Rozmiar pliku przed kompresją: 6,05 MB
  • Rozmiar po kompresji: 5,10 MB – zysk 15%
  • Rozmiar po kompresji uwzględniając opcje compact, nostruct, noalt jpeg: 4,24 MB – zysk 29%, lecz z uwagi na zastosowanie przełącznika jpeg oraz noalt niektóre zdjęcia w dokumencie straciły nieco na jakości.

Nie będę podawał porównawczych zrzutów ekranu, poradnik ma za zadanie zaprezentowanie alternatywnej (darmowej) metody kompresji PDF, dokładna analiza skuteczności czy też prezentacja testów to temat na inny artykuł.

Inne darmowe metody kompresji PDF

Darmowych metod optymalizacji jest więcej. Najciekawsze z nich to:

  • Kompresja z wykorzystaniem bibliotek Ghostscript. Opis kompresji można znaleźć w tym dokumencie. Więcej informacji znajdziecie w dokumentacji Ghostscript.
  • Kompresja z wykorzystaniem aplikacji Free PDF Compressor w wersji 1.12 – nowsza wersja znana pod nazwą Nice PDF Compressor 2.0 jest płatna.
  • Usługa on-line pdfcompress.

Wszystkie metody można zastosować zarówno w środowisku Windows jak i w systemie Linux. W przypadku oprogramowania Free PDF Compressor do uruchomienia programu w Linuksie, niezbędny jest emulator Wine.

O autorze

Mariusz Kołacz

Z zawodu mgr inż. informatyk, zwolennik nowoczesnych technologii i fan Nikoli Tesla. Prowadzi kilka blogów o tematyce technologicznej. Po godzinach lubi przeczytać dobrą książkę, pozwiedzać ciekawe miejsca w Polsce lub spędzić wolny czas na łonie natury.

8 komentarzy

  • Fajny programik, właśnie brakowało mi czegoś takiego. Poszukując aplikacji z taką funkcjonalnością ciągle natykałem się na płatne :/

  • Bardzo fajny artykuł i przydatne informacje. Ja szukam od dłuższego czasu programu do edycji pdf, ale nic darmowego niestety nie mogę znaleźć.

    • Do edycji plików PDF (modyfikacji) możesz wykorzystać choćby PDF X-Change Viewer – darmowa przeglądarka dokumentów PDF z opcją ich edycji.
      Dla systemów Linux jest także bardzo dobry PDFEdit (jest też odmiana przystosowana do współpracy z Windows ale u mnie akurat nie działa), więc jak widzisz kilka darmowych programów do edycji PDF można znaleźć. Nie są to jednak super aplikacje, mają swoje wady niestety.

  • Szkoda, że wcześniej nie trafiłem na ten artykuł. Był czas, że pilnie potrzebowałem przerobić jeden plik pdf.
    Pozdrawiam.

  • Wszystko pięknie, artykuł dobrze napisany, tylko mam mały problem wyskakuje błąd java.lang.ArrayIndexOutOfBoundsException: 0 System windows 7 64bit ve.r java 1.6.0.23 może ktoś zna rozwiązanie, nie jestem az tak mocny…

    • Wygląda na to że problem jest w samym dokumencie. Na jednym portalu pisali że dokumenty konwertowane z Worda 2007 mogą mieć problemy z kompresją, jeszcze na innym opisywano związek ze standardem PDF/A http://pl.wikipedia.org/wiki/PDF/A gdzie wystąpił podobny błąd java.lang.ArrayIndexOutOfBoundsException

      W każdym bądź razie problem dotyczy bezpośrednio konwertowanego pliku. Mam Windows 7 64-bitowy i Multivalent PDF Tools działa bez zarzutu.

  • Dziękuję za porady, miałem problem z dodaniem CV w PDF dla jednego pracodawcy, który wprowadził ograniczenie w rozmiarze dodawanego pliku CV na swojej stronie. Skorzystałem z usługi on-line i zmniejszyłem swój PDF o 88%.

  • Dobrze, że są darmowe metody kompresji pdfów. Odkąd pamiętam to zawsze miałem z tym problem. Poszukiwałem też jakiegoś uniwersalnego narzędzia do wszelkiego rodzaju obróbki pdfów – edycja, łączenie, dzielenie itd. Dobrą opcją jest takie narzędzie, które można kompleksowo wykorzystywać finereader.

Kliknij tutaj aby skomentować