Jak kompresować pliki PDF w Javie | IronPDF

Jak skompresować pliki PDF w Java

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF umożliwia programistom Java kompresję plików PDF poprzez redukcję jakości obrazów i skalowanie rozdzielczości, co pomaga zmniejszyć rozmiar plików w celu łatwiejszego udostępniania i przechowywania.

Szybki start: Kompresja Pliku PDF w Java

```java {title="Compress PDF in Java"} //:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/quickstart-compress.java import com.ironsoftware.IronPDF.*; import java.nio.file.Paths;

// Załaduj dokument PDF PdfDocument pdf = PdfDocument.fromFile(Paths.get("source.pdf"));

// Kompresuj obrazy do 60% jakości pdf.compressImages(60);

// Zapisz skompresowany PDF pdf.saveAs(Paths.get("compressed.pdf"));


<div class="hsg-featured-snippet">
<h3>Minimalny proces (5 kroków)</h3>

1. Dodaj IronPDF do swojej Maven `pom.xml` jako zależność
2. Załaduj swój PDF za pomocą `PdfDocument.fromFile()`
3. Kompresuj obrazy za pomocą `pdf.compressImages(60)`
4. Opcjonalnie skaluj rozdzielczość obrazu za pomocą `pdf.compressImages(90, true)`
5. Zapisz skompresowany PDF za pomocą `pdf.saveAs()`
</div>

Dokumenty PDF są szeroko używane do udostępniania i przechowywania informacji, ale pliki z dużą ilością obrazów mogą szybko osiągnąć dziesiątki megabajtów. Duże rozmiary plików komplikują dostarczanie e-mail, spowalniają przesyłanie i zwiększają koszty przechowywania. Java API kompresji z IronPDF rozwiązuje ten problem, umożliwiając redukcję jakości osadzonego obrazu i skalowanie rozdzielczości w kilku liniach kodu.

Ten artykuł obejmuje, jak skompresować pliki PDF w Java używając IronPDF. Przykłady pokazują zarówno prostą kompresję opartą na jakości, jak i skalowanie rozdzielczości, dzięki czemu można dopasować podejście do swoich specyficznych wymagań dotyczących rozmiaru i jakości. Jeśli pracujesz również z [PDF z dużą ilością obrazów](https://ironpdf.com/java/how-to/java-pdf-to-image-tutorial/) lub potrzebujesz obsłużyć [scalane dokumenty](https://ironpdf.com/java/how-to/java-merge-pdf-tutorial/), kompresja jest niezbędnym krokiem przed dystrybucją.

## Co to jest biblioteka IronPDF Java PDF?

IronPDF to [biblioteka PDF dla Java](/java/), która programowo tworzy, czyta i manipuluje dokumentami PDF. Biblioteka obsługuje [konwersję HTML do PDF](https://ironpdf.com/java/tutorials/html-to-pdf/), wypełnianie formularzy, osadzanie obrazów i kompresję plików bez potrzeby przeglądarki PDF lub zewnętrznego silnika renderującego. Obsługuje różne środowiska wdrożeniowe, w tym [AWS Lambda](https://ironpdf.com/java/get-started/aws/), [Azure Functions](https://ironpdf.com/java/get-started/azure/) i [Google Cloud](https://ironpdf.com/java/get-started/google-cloud/).

Kompresja w IronPDF działa poprzez ponowne próbkowanie osadzonych obrazów do niższego poziomu jakości JPEG i, opcjonalnie, redukowania ich rozdzielczości, aby pasowały do rozmiaru wyświetlania w PDF. Tekst, grafika wektorowa i struktura dokumentu nie są zmieniane. Czyni to IronPDF praktycznym wyborem dla dużych dokumentów, które muszą być szybko przesyłane przez e-mail lub przechowywane w systemach opartych na chmurze.

Biblioteka dobrze współpracuje również z innymi operacjami na dokumentach: można kompresować plik PDF, który już ma [znaki wodne](https://ironpdf.com/java/how-to/custom-watermark/), [warstwy tła](https://ironpdf.com/java/how-to/background-foreground/) i [zakładki](https://ironpdf.com/java/how-to/bookmarks/), a wszystkie te funkcje zostają zachowane po kompresji.

Zwróć uwagęKompresja jest najskuteczniejsza w przypadku plików PDF, które zawierają osadzone obrazy JPEG lub PNG. Dokumenty składające się głównie z tekstu i grafiki wektorowej uzyskają minimalne zmniejszenie rozmiaru.
## Jak skonfigurować IronPDF w projekcie Java Maven? Przed kompresją plików PDF dodaj IronPDF do konfiguracji projektu Maven. Pełne instrukcje konfiguracji znajdziesz w [Przeglądzie Rozpoczęcia](https://ironpdf.com/java/docs/). - Aby zainstalować IronPDF w [projekcie Maven](/java/docs/), dodaj repozytorium Maven i zależność `IronPDF` do pliku `pom.xml`. - Dodaj zależność do sekcji `<dependencies>`: ```xml //:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/maven-dependency.xml <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>your_version_here</version> </dependency>
  • Zapisz swój pom.xml i uruchom mvn install, aby pobrać zależność IronPDF.

Gdy zależność zostanie rozwiązana, możesz zaimportować i używać klas IronPDF w swoim projekcie. Najnowsza opublikowana wersja artefaktu Java IronPDF jest dostępna na Maven Central. Aby wdrożyć w produkcji, skonfiguruj swój klucz licencyjny przed uruchomieniem.

Jak skompresować plik PDF w Java?

IronPDF kompresuje pliki PDF, celujac w osadzone obrazy wewnatrz dokumentu. Metoda compressImages() przyjmuje liczbe calkowita od 0 do 100, gdzie nizsze wartosci daja mniejsze pliki kosztem ostrosci obrazu. Opcjonalny drugi parametr instruuje bibliotekę, aby zmniejszyła rozdzielczość obrazu w oparciu o rozmiar wyświetlenia na stronie PDF.

//:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/compress-pdf-images.java
import com.ironsoftware.IronPDF.*;
import java.io.IOException;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws IOException {
        // Load the source PDF from disk
        String src = "C:\\Image based PDF.pdf";
        PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));

        // First pass: compress images to 60% quality
        // Lower values produce smaller files with more visible quality loss
        pdf.compressImages(60);
        pdf.saveAs(Paths.get("assets/document_compressed.pdf"));

        // Second pass (optional): compress to 90% quality with resolution scaling
        // The second parameter scales image resolution down to match display size,
        // which can reduce file size further but may cause distortion in some PDFs
        pdf.compressImages(90, true);
        pdf.saveAs(Paths.get("C:\\Compressed.pdf"));
    }
}
//:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/compress-pdf-images.java
import com.ironsoftware.IronPDF.*;
import java.io.IOException;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws IOException {
        // Load the source PDF from disk
        String src = "C:\\Image based PDF.pdf";
        PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));

        // First pass: compress images to 60% quality
        // Lower values produce smaller files with more visible quality loss
        pdf.compressImages(60);
        pdf.saveAs(Paths.get("assets/document_compressed.pdf"));

        // Second pass (optional): compress to 90% quality with resolution scaling
        // The second parameter scales image resolution down to match display size,
        // which can reduce file size further but may cause distortion in some PDFs
        pdf.compressImages(90, true);
        pdf.saveAs(Paths.get("C:\\Compressed.pdf"));
    }
}
JAVA

Kod ładuje plik PDF z dysku i stosuje kompresję w dwóch przebiegach, aby zademonstrować różne strategie. Pierwsze wywolanie compressImages(60) redukuje jakosc obrazu do 60% i zapisuje wynik. Drugie wywołanie używa 90% jakości, ale umożliwia skalowanie rozdzielczości, co dostosowuje wymiary pikseli każdego obrazu do jego widocznego obszaru na stronie.

Metoda compressImages() ma dwie sygnatury:

  • compressImages(int quality) — Resampluje wszystkie osadzone obrazy do okreslonego poziomu jakosci JPEG. Użyj wartości między 40 a 80, aby silnie zmniejszyć rozmiar przy zachowaniu rozpoznawalności obrazów.
  • compressImages(int quality, boolean scaleImageResolutionToVisibleSize) — Dodaje skalowanie rozdzielczosci. Gdy true, biblioteka wykrywa obrazy, ktore sa renderowane na czesci swojej natywnej rozdzielczosci i odpowiednio je skaluje. Ta opcja oferuje najbardziej agresywne zmniejszenie rozmiaru, ale nieznacznie zwiększa czas przetwarzania.

PoradyZastosuj wielokrotne przebiegi, aby precyzyjnie dostroić równowagę pomiędzy rozmiarem a jakością. Zacznij od umiarkowanego ustawienia jak 70%, sprawdź rozmiar wyjściowego pliku, a następnie zdecyduj, czy drugi przebieg przy niższej jakości jest uzasadniony.

Przeprowadzenie przebiegu kompresji na poziomie 60% dla PDF z dużą ilością obrazów zazwyczaj zmniejsza rozmiar pliku o 50-70% w zależności od źródłowych obrazów. Dokument składający się głównie z tekstu uzyska znacznie mniejsze zyski. Porównaj rozmiary plików przed i po w katalogu wyjściowym, aby ocenić wynik dla swoich konkretnych dokumentów.

Dla dokumentow wymagajacych innych przetworzen oprocz kompresji, IronPDF obsluguje wyodrebnianie tekstu, wyodrebnianie obrazow, i dzielenie PDF-ow.

Jak wygląda oryginalny PDF?

Eksplorator plików pokazujący oryginalny plik PDF o rozmiarze 458 KB przed kompresją z użyciem IronPDF

Jakie są wyniki po kompresji?

Eksplorator plików pokazujący skompresowany plik PDF z zauważalnie zmniejszonym rozmiarem po zastosowaniu IronPDF compressImages przy 60% jakości

Icon Quote related to Jakie są wyniki po kompresji?

Moją ulubioną biblioteką tego typu jest IronPDF. Umożliwia ona szybkie i efektywne manipulowanie plikami PDF. Posiada także wiele cennych funkcji, takich jak eksport do formatu PDF/A i cyfrowe podpisywanie dokumentów PDF.

Milan Jovanovic related to Jakie są wyniki po kompresji?

Milan Jovanovic

Microsoft MVP

Zobacz studium przypadku
Icon Quote related to Jakie są wyniki po kompresji?

IronOCR pozwala nam oszczędzić 40 000 USD rocznie na ręcznym przetwarzaniu, jednocześnie zwiększając produktywność i uwalniając zasoby do zadań o wysokim wpływie. Gorąco polecam.

Brent Matzelle related to Jakie są wyniki po kompresji?

Brent Matzelle

Dyrektor technologiczny, OPYN

Zobacz studium przypadku
Icon Quote related to Jakie są wyniki po kompresji?

IronSuite odgrywa kluczową rolę w naszej działalności. Są to narzędzia zwiększające wydajność w całej firmie, w tym tworzenie planów pięter i poprawa zarządzania zapasami.

David Jones related to Jakie są wyniki po kompresji?

David Jones

Główny inżynier oprogramowania, Agorus Build

Zobacz studium przypadku

Jak wybrać odpowiednie ustawienie jakości kompresji?

Wybór odpowiedniego poziomu jakości wymaga zrównoważenia rozmiaru pliku z wiernością wizualną. Odpowiednie ustawienie zależy od celu dokumentu i wrażliwości osadzonych obrazów.

Poniżej tabela przedstawia praktyczne wytyczne dla typowych przypadków użycia:

Przewodnik poziomu jakości kompresji obrazów w IronPDF
Poziom jakości Przybliż. Redukcja rozmiaru Najlepsze dla
80–100% 10–30% Dokumenty do druku, dokumentacja medyczna, akta prawne
60–79% 40–60% Raporty wewnętrzne, pliki PDF do pobrania z internetu, załączniki e-mail
40–59% 60–75% Podglądy miniatur, dokumenty robocze, kopie archiwalne
Poniżej 40% 75%+ Zasadniczo zdegradowana jakość wyjściowa; zazwyczaj nie zalecana do dystrybucji

Skalowanie rozdzielczości najlepiej działa, gdy źródłowy plik PDF został złożony z obrazów o wysokiej rozdzielczości lub skanowanych stron, ale dokument jest przeznaczony tylko do wyświetlania na ekranie. W takich przypadkach skalowanie rozdzielczości może zmniejszyć rozmiar pliku bez zauważalnej zmiany jakości przy normalnych poziomach powiększenia. Aby poznać kontekst dotyczący standardów kodowania obrazów PDF, proszę odnieść się do dokumentacji formatu JPEG 2000 w Bibliotece Kongresu oraz dyskusji o kompresji obrazów PDF na Stack Overflow.

WażneUnikaj kompresji plików PDF, które zawierają podpisy cyfrowe. Modyfikowanie osadzonych obrazów zmienia binarną treść dokumentu, co unieważni istniejące podpisy.

Jak dodatkowo zmniejszyć rozmiar pliku PDF poza kompresją obrazów?

Kompresja obrazów radzi sobie z największym czynnikiem przyczyniającym się do rozmiarów plików w większości plików PDF, ale dodatkowe techniki mogą jeszcze bardziej zmniejszyć rozmiar po połączeniu. IronPDF obsluguje kilka podejsc, ktore uzupelniaja compressImages():

Usuń niepotrzebne strony. Usuwanie stron przed kompresją zmniejsza zarówno dane obrazowe, jak i nadmiarowej struktury stron. Użyj przykłady usuwania stron, aby najpierw usunąć puste lub zbędne strony.

Usuń adnotacje. Obiekty adnotacji dodają dane binarne do pliku. Usunięcie ich za pomocą API zarządzania adnotacjami przed zapisaniem może zauważalnie zmniejszyć rozmiar pliku w dokumentach z ciężkimi oznaczeniami.

Przetwarzaj dokumenty masowo. Dla procesow kompresujacych wiele PDF-ow, iteruj przez liste sciezek plikow i zastosuj compressImages() w petli. IronPDF obsluguje kazdy dokument niezaleznie, wiec przetwarzanie wsadowe nie wymaga specjalnej konfiguracji — zobacz przyklad kompresji pdf dla punktu wyjscia.

Dla szerszej dyskusji na temat strategii optymalizacji PDF, specyfikacja formatu pliku PDF w Bibliotece Kongresu dokumentuje elementy strukturalne, które przyczyniają się do rozmiaru plików i jak można je zmniejszyć.

Jakie są następne kroki przy kompresji plików PDF w Java?

Metoda IronPDF compressImages() zapewnia praktyczny sposob na zmniejszenie rozmiaru pliku PDF w aplikacjach Java. Jedno wywołanie metody z wartością jakości pokrywa większość przypadków użycia, a opcjonalny parametr skalowania rozdzielczości obsługuje źródłowe pliki z dużą ilością obrazów, które wymagają najbardziej spekulatywnej redukcji.

Rozpocznij od darmowego okresu próbnego, aby przetestować kompresję na własnych dokumentach:

Gotowy, aby zobaczyc, co jeszcze potrafi IronPDF? Sprawdź pełną bibliotekę samouczków PDF Java tutaj: Przewodniki IronPDF Java Jak-To

Często Zadawane Pytania

Czym jest kompresja plików PDF i dlaczego jest ważna?

Kompresja PDF zmniejsza rozmiar pliku poprzez ponowne próbkowanie wbudowanych obrazów i opcjonalnie dostosowanie ich rozdzielczości wyświetlania. Mniejsze pliki są łatwiejsze do wysyłania e-mailem, przesyłania i przechowywania — metoda compressImages() IronPDF obsługuje to w aplikacjach Java za pomocą jednego wywołania metody.

Jak szybko skompresować plik PDF w Javie?

Załaduj swój PDF z PdfDocument.fromFile(), wywołaj compressImages(60), aby zmniejszyć jakość obrazu do 60%, a następnie zapisz wynik z saveAs(). Te trzy linie obsługują podstawowy przepływ pracy kompresji.

Jakiego poziomu jakości kompresji powinienem używać dla moich plików PDF?

Wartość 60-70% zapewnia dobrą równowagę między rozmiarem pliku a jakością wizualną dla większości dokumentów. Użyj 80-100% dla jakości drukowania lub rejestrów prawnych, a 40-59% tylko dla szkiców lub miniatur, gdzie wierność obrazu nie jest kluczowa.

Czy mogę skompresować pliki PDF zawierające wiele połączonych dokumentów?

Tak, IronPDF kompresuje dowolny PDF niezależnie od tego, w jaki sposób został złożony. Metoda compressImages() kieruje się do wszystkich osadzonych obrazów w dokumencie, niezależnie od tego, czy pochodzą z jednego źródła, czy z wielu scalonych plików.

Czy kompresja wpływa na inne funkcje plików PDF, takie jak znaki wodne lub formularze?

Nie — kompresja IronPDF dotyczy tylko osadzonych obrazów rastrowych. Tekst, grafika wektorowa, znaki wodne, tła, zakładki i pola formularza są zachowywane w końcowym dokumencie.

Jakie środowiska wdrożeniowe obsługują kompresję PDF z IronPDF?

IronPDF obsługuje kompresję PDF na AWS Lambda, Azure Functions, Google Cloud i standardowych wdrożeniach serwerowych. Żaden zewnętrzny silnik renderowania ani przeglądarka PDF nie jest wymagana w żadnym z tych środowisk.

Co robi parametr scaleImageResolutionToVisibleSize?

Gdy ustawione na true, IronPDF wykrywa obrazy renderowane w ułamkowej rozdzielczości natywnej i skaluje ich wymiary pikseli w dół, aby dopasować do widocznego rozmiaru wyświetlania. Zmniejsza to bardziej rozmiar pliku niż sama redukcja jakości, ale nieznacznie wydłuża czas przetwarzania.

Czy skompresowanie PDF unieważnia jego podpisy cyfrowe?

Tak. Zmiana osadzonych obrazów zmienia binarną zawartość dokumentu, co łamie istniejące podpisy cyfrowe. Skompresuj pliki PDF przed dodaniem podpisów, a nie po.

Darrius Serrant
Inżynier oprogramowania Full Stack (WebOps)

Darrius Serrant posiada tytuł licencjata z informatyki z Uniwersytetu Miami i pracuje jako Full Stack WebOps Marketing Engineer w Iron Software. Już od młodych lat zainteresował się kodowaniem, postrzegając informatykę jako zarówno tajemniczą, jak i dostępną, co czyni ją doskonałym medium dla kreatywności ...

Czytaj więcej
Gotowy, aby rozpocząć?
Wersja: 2026.6 właśnie wydany
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu?
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.