Użytkownicy Linuksa, którzy pracują z plikami PDF, regularnie spotykają się ze znaną frustracją: narzędzia do kompresji i samouczki, które dominują w wynikach wyszukiwania, są napisane dla systemów Windows i macOS, a alternatywy wiersza poleceń dla Linuksa są rozproszone w różnych pakietach z niespójną dokumentacją. Kompresowanie pliku PDF w systemie Linux jest całkowicie możliwe przy użyciu bezpłatnych narzędzi typu open source, a w wielu przypadkach podejście oparte na wierszu poleceń systemu Linux zapewnia lepszą kontrolę nad parametrami kompresji niż narzędzia graficzne na innych platformach. Proces ten obejmuje wybór odpowiedniego narzędzia do danego zadania i poznanie opcji kompresji, które równoważą rozmiar pliku z jakością wizualną.

Używanie Ghostscriptu do kompresji plików PDF z wiersza poleceń
Ghostscript to najpotężniejsze i powszechnie dostępne narzędzie do przetwarzania plików PDF w systemie Linux, preinstalowane w wielu dystrybucjach i dostępne za pośrednictwem każdego menedżera pakietów. Może kompresować pliki PDF za pomocą wiersza poleceń, które określa rozdzielczość wyjściową, ustawienia kompresji obrazu i poziom zgodności z plikami PDF. Podstawowe polecenie kompresji to gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compressed.pdf input.pdf. Parametr PDFSETTINGS kontroluje poziom kompresji w ramach czterech wstępnie ustawionych wartości, które Ghostscript interpretuje na podstawie określonych wyborów dotyczących próbkowania w dół i kodowania.
Wstępne ustawienie ekranu tworzy najmniejszy plik poprzez zmniejszenie rozdzielczości obrazów do 72 DPI, co jest odpowiednie tylko do odczytu na ekranie, gdzie jakość druku nie jest wymagana. Wstępnie ustawione ebooki próbkują w dół do 150 DPI, zapewniając rozsądną równowagę dla dokumentów, które będą czytane na tabletach i laptopach. Wstępnie ustawione ustawienia drukarki zmniejszają próbkę do 300 DPI, zachowując jakość druku, a jednocześnie zapewniając znaczną kompresję. Ustawienie wstępne przygotowania do druku stosuje kompresję bezstratną i zachowuje profile kolorów na potrzeby profesjonalnego druku, tworząc największy plik spośród ustawień wstępnych. W przypadku większości potrzeb Kompresja PDF w systemie Linux, ustawienie wstępne ebooka lub drukarki zapewnia właściwy kompromis.
Wypróbuj opcję Kompresuj plik PDF
Nie wymaga instalacji. Działa bezpośrednio w Twojej przeglądarce.
Używanie ps2pdf jako lekkiej alternatywy
Skrypt ps2pdf, który jest częścią pakietu Ghostscript w większości dystrybucji Linuksa, zapewnia prostszy interfejs wiersza poleceń zapewniający tę samą podstawową funkcjonalność. Uruchomienie pliku ps2pdf input.pdf Output.pdf powoduje zastosowanie domyślnego zestawu optymalizacji kompresji bez konieczności konfiguracji parametrów. Ustawienia domyślne odpowiadają ustawieniom wstępnym drukarki Ghostscript, tworząc plik odpowiedni zarówno do przeglądania na ekranie, jak i do drukowania. To podejście polegające na konfiguracji zerowej jest przydatne do szybkiej kompresji, gdy nie ma potrzeby dostrajania danych wyjściowych.
Aby uzyskać większą kontrolę, ps2pdf akceptuje parametry Ghostscript za pośrednictwem wiersza poleceń. Uruchomienie ps2pdf -dPDFSETTINGS=/ebook input.pdf Output.pdf przekazuje ustawienie wstępne ebooka do Ghostscript. Uruchomienie ps2pdf -dPDFSETTINGS=/screen -dDownsampleColorImages=true -dColorImageResolution=100 input.pdf Output.pdf dostosowuje w szczególności próbkowanie obrazu kolorowego. Efekt Zmniejsz rozmiar pliku PDF tych parametrów niestandardowych może być bardziej agresywny niż jakiekolwiek ustawienie wstępne, ale zawsze należy przetestować dane wyjściowe na pojedynczym pliku przed zastosowaniem ustawień niestandardowych do partii.
Używanie qpdf do kompresji strukturalnej
Ghostscript i ps2pdf ponownie renderują zawartość PDF za pomocą interpretera PostScript, który może wprowadzić subtelne zmiany w renderowaniu nawet przy ustawieniach bezstratnych. Qpdf przyjmuje inne podejście, przeprowadzając optymalizację strukturalną pliku PDF bez ponownego renderowania zawartości strony. Polecenie qpdf --linearize --object-streams=generate --recompress-flate input.pdf Output.pdf usuwa zbędne obiekty, regeneruje skompresowane strumienie z lepszymi współczynnikami kompresji i reorganizuje strukturę pliku w celu wydajniejszego odczytu. Kompresja Qpdf jest naprawdę bezstratna, piksele strony są identyczne z oryginałem.
Qpdf jest szczególnie skuteczny w przypadku plików PDF, które były wielokrotnie edytowane, ponieważ każda sesja edycji może pozostawić nieużywane obiekty i nieoptymalną kompresję strumienia. Uruchomienie qpdf na pliku PDF, który przeszedł kilka rund edycji, często powoduje utworzenie pliku mniejszego o dwadzieścia do trzydziestu procent bez żadnych zmian w widocznej zawartości. Narzędzie qpdf jest dostępne za pośrednictwem menedżera pakietów we wszystkich głównych dystrybucjach Linuksa i przetwarza pliki znacznie szybciej niż Ghostscript, ponieważ całkowicie pomija etap renderowania. W przypadku Kompresja PDF, gdzie wymagana jest doskonała wierność oryginału, preferowanym narzędziem jest qpdf.
Pisanie skryptu powłoki do wsadowej kompresji plików PDF
Kompresja pojedynczego pliku PDF z wiersza poleceń jest szybka. Kompresowanie folderu zawierającego pięćdziesiąt plików PDF pojedynczo jest żmudne. Krótki skrypt powłoki otacza polecenie kompresji w pętlę, która przetwarza każdy plik PDF w katalogu. Podstawowym skryptem jest pętla for: for f w formacie *.pdf; do gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile="skompresowany_$f” „$f”; zrobione. Spowoduje to utworzenie skompresowanej kopii każdego pliku PDF z przedrostkiem dodanym do nazwy pliku, pozostawiając oryginały nietknięte.
Dodaj sprawdzanie błędów do skryptu do użytku produkcyjnego. Przed próbą kompresji sprawdź, czy plik wejściowy istnieje i czy jest czytelny. Sprawdź, czy plik wyjściowy został pomyślnie utworzony i czy po kompresji ma niezerowy rozmiar pliku. Rejestruj oryginalny rozmiar pliku, rozmiar skompresowanego pliku i współczynnik kompresji każdego pliku w pliku tekstowym w celu późniejszego sprawdzenia. Dobrze napisany skrypt kompresji wsadowej oszczędza godziny ręcznej pracy z wiersza poleceń i zapewnia zapis, które dokładnie pliki zostały skompresowane, kiedy i w jakim stopniu. Narzędzia takie jak WukongPDF oferują funkcję wsadową Zmniejsz rozmiar pliku PDF za pośrednictwem interfejsu przeglądarki dla użytkowników Linuksa, którzy preferują graficzny przepływ pracy.
Korzystanie z kompresji plików PDF w graficznym interfejsie użytkownika systemu Linux
Użytkownicy Linuksa, którzy wolą interfejsy graficzne od wiersza poleceń, mają kilka opcji kompresji plików PDF. Program PDF Arranger, dostępny za pośrednictwem większości menedżerów pakietów, zapewnia wizualny interfejs umożliwiający zmianę kolejności, usuwanie i obracanie stron PDF, a jego funkcja eksportu obejmuje opcję kompresji, która zmniejsza próbkowanie obrazów. Xournal++ otwiera pliki PDF w interfejsie notebooka i może eksportować dokumenty z adnotacjami jako skompresowane pliki PDF. LibreOffice Draw może otwierać pliki PDF i eksportować je z ustawieniami kompresji zastosowanymi w oknie dialogowym eksportu do pliku PDF.
Oparte na przeglądarce narzędzia do kompresji plików PDF działają identycznie w systemach Linux, Windows i macOS, ponieważ działają w przeglądarce niezależnie od systemu operacyjnego. Otwórz preferowane narzędzie w przeglądarce, prześlij plik PDF, wybierz poziom kompresji i pobierz wynik. To podejście niezależne od systemu operacyjnego jest szczególnie wygodne w systemie Linux, ponieważ pozwala uniknąć konieczności instalowania, konfigurowania i aktualizowania narzędzi wiersza poleceń lub przeszukiwania menedżerów pakietów w poszukiwaniu odpowiedniego narzędzia do kompresji.
Weryfikacja wyników kompresji w systemie Linux
Po skompresowaniu pliku PDF sprawdź jakość wydruku za pomocą narzędzi natywnych dla systemu Linux. Polecenie pdfinfo, będące częścią pakietu poppler-utils, wyświetla liczbę stron, rozmiar strony i wersję PDF zarówno plików oryginalnych, jak i skompresowanych, potwierdzając, że struktura strony jest nienaruszona. Polecenie identyfikacji z ImageMagick może wyodrębnić poszczególne strony jako obrazy i zgłosić ich wymiary w pikselach, co pozwala sprawdzić, czy zmniejszenie rozdzielczości zmniejszyło rozdzielczość obrazu o oczekiwaną wartość.
Aby sprawdzić jakość wizualną, otwórz oryginalne i skompresowane pliki PDF obok siebie w dwóch instancjach Evince, Okular lub preferowanej przeglądarce plików PDF w systemie Linux. Powiększ co najmniej o 200 procent stronę zawierającą tekst i obrazy. Porównaj ostrość krawędzi tekstu i obecność lub brak artefaktów kompresji JPEG w obszarach fotograficznych. Jeśli skompresowana wersja wykazuje widoczne pogorszenie jakości, należy ponownie uruchomić kompresję, korzystając z gotowych ustawień wyższej jakości lub niestandardowych parametrów Ghostscript, które zwiększają rozdzielczość próbkowania w dół i próg jakości JPEG.
Korzystanie z programu ImageMagick do kompresji specyficznej dla obrazu
Gdy rozmiar pliku PDF jest zdominowany przez kilka dużych obrazów, kompresja całego pliku PDF za pomocą Ghostscript może być przesadą w przypadku części tekstowych i wektorowych. ImageMagick może kierować określone obrazy w pliku PDF. Wyodrębnij zbyt duże obrazy za pomocą pdfimages, części pakietu poppler-utils. Skompresuj każdy wyodrębniony obraz indywidualnie za pomocą polecenia konwersji z parametrami jakości i zmiany rozmiaru dostosowanymi do konkretnego typu obrazu. Następnie ponownie złóż skompresowane obrazy w nowy plik PDF za pomocą narzędzia img2pdf.
To chirurgiczne podejście do kompresji pozwala całkowicie zachować ostrość tekstu, ponieważ warstwa tekstowa nigdy nie jest ponownie renderowana. Modyfikowane są tylko obrazy. Zmniejszenie rozmiaru pliku może być dramatyczne w przypadku plików PDF, które łączą wyraźny tekst wektorowy z niepotrzebnie zdjęciami o wysokiej rozdzielczości. Na przykład plik PDF zawierający zdjęcia w rozdzielczości 1200 DPI osadzone w dokumencie tekstowym można zmniejszyć o osiemdziesiąt procent lub więcej, zmniejszając próbkowanie samych zdjęć do rozdzielczości 300 DPI, pozostawiając tekst nietknięty.
Dla użytkowników Linuksa, którzy preferują graficzne sprzężenie zwrotne podczas kompresji, PDF Compressor to aplikacja oparta na GTK, dostępna za pośrednictwem Flathub, która zapewnia wizualny interfejs do kompresji Ghostscript z podglądem oryginału i skompresowanego obrazu obok siebie. Obsługuje przetwarzanie wsadowe i zapisuje profile kompresji do ponownego użycia.
W przypadku plików PDF, które będą dystrybuowane za pośrednictwem poczty e-mail w systemie Linux, polecenie mutt umożliwia dołączanie plików bezpośrednio z wiersza poleceń. Po skompresowaniu sprawdź rozmiar skompresowanego pliku za pomocą ls -lh i potwierdź, że nie przekracza on limitu załączników serwera poczty e-mail odbiorców, zwykle 25 MB w przypadku większości dostawców. Jeśli plik jest nadal zbyt duży, przed wysłaniem rozważ podzielenie pliku PDF na mniejsze sekcje za pomocą formatu pdftk lub qpdf.
Pakiet poppler-utils, dostępny we wszystkich dystrybucjach Linuksa, zawiera pdftoppm, który konwertuje strony PDF do formatów obrazów. Może to być przydatne jako krok pośredni, gdy chcesz zastosować narzędzia kompresji specyficzne dla obrazu do poszczególnych stron przed ich ponownym złożeniem.
W celu automatycznej kompresji plików PDF w środowisku serwerowym Ghostscript można wywołać z zadań cron lub zegarów systemowych w celu przetwarzania przychodzących plików PDF zgodnie z harmonogramem. Podejście oparte na wierszu poleceń sprawia, że automatyzacja jest prosta.
Natywne narzędzia do kompresji plików PDF w systemie Linux, w połączeniu z elastycznością skryptów powłoki, zapewniają prawdopodobnie najpotężniejsze i najbardziej konfigurowalne środowisko kompresji plików PDF dostępne w dowolnym systemie operacyjnym.
Ta elastyczność i kontrola sprawiają, że linuksowe podejście do kompresji plików PDF jest warte poznania dla każdego, kto regularnie obsługuje duże zbiory dokumentów.
Wypróbuj opcję Kompresuj plik PDF
Nie wymaga instalacji. Działa bezpośrednio w Twojej przeglądarce.
