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 plików PDF w Java

```java {title="Kompresuj PDF w 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"));


1. Dodaj zależność IronPDF do swojego pliku pom.xml projektu Maven
2. Załaduj swój PDF używając `PdfDocument.fromFile()`
3. Skorzystaj z `pdf.compressImages(60)` do kompresji obrazów
4. Zapisz skompresowany PDF używając `pdf.saveAs()`
5. Opcjonalnie użyj skalowania rozdzielczości dla dalszej kompresji

Dokumenty PDF są powszechnie wykorzystywane do przechowywania i udostępniania informacji, ale mogą stać się dość duże. Duże rozmiary plików powodują problemy przy udostępnianiu, przesyłaniu lub przechowywaniu PDF. Aby temu zaradzić, można skompresować pliki PDF używając IronPDF, biblioteki Java PDF. Kompresja zmniejsza rozmiar pliku poprzez optymalizację obrazów i usuwanie niepotrzebnych elementów.

Ten artykuł przedstawia, jak skompresować pliki PDF w Java za pomocą IronPDF. Podajemy przykłady kodu, aby pomóc Ci zrozumieć i wdrożyć kompresję w Twoich projektach. Bez względu na to, czy pracujesz z [PDF z dużą ilością obrazów](https://ironpdf.com/java/how-to/java-pdf-to-image-tutorial/) czy z dokumentami zawierającymi [wiele scalonych PDF](https://ironpdf.com/java/how-to/java-merge-pdf-tutorial/), kompresja pomaga efektywnie zarządzać dokumentami.

## Czym jest IronPDF dla Java?

IronPDF to [biblioteka Java PDF](/java/) do tworzenia, manipulacji, kompresji i odczytywania plików PDF z dowolnego środowiska programistycznego. Generuje dokładne dokumenty z funkcjami takimi jak kontrola dokumentów, wypełnianie formularzy, osadzanie obrazów i kompresja. Biblioteka obsługuje [różne środowiska wdrożeniowe](https://ironpdf.com/java/get-started/aws/), w tym AWS Lambda, [Azure Functions](https://ironpdf.com/java/get-started/azure/) i [Google Cloud](https://ironpdf.com/java/get-started/google-cloud/).

IronPDF kompresuje istniejące PDF, aby zmniejszyć rozmiar pliku przy zachowaniu jakości. Czyni to odpowiednim dla dużych dokumentów, które wymagają szybkiego udostępniania przez internet lub e-mail. Biblioteka obsługuje również [konwersję HTML do PDF](https://ironpdf.com/java/tutorials/html-to-pdf/), [drukowanie PDF](https://ironpdf.com/java/how-to/java-print-pdf-tutorial/) i [tworzenie formularzy PDF](https://ironpdf.com/java/how-to/create-forms/).

Kompresja IronPDF współdziała z innymi funkcjami, takimi jak [dodawanie znaków wodnych](https://ironpdf.com/java/how-to/custom-watermark/), [tła i pierwszoplanowe](https://ironpdf.com/java/how-to/background-foreground/) oraz [zakładki](https://ironpdf.com/java/how-to/bookmarks/), zapewniając kompleksowe zarządzanie dokumentami PDF.

## Jak skompresować dokumenty PDF używając IronPDF?

Postępuj zgodnie z tymi krokami, aby skompresować rozmiar pliku PDF. Proces kompresji w IronPDF jest prosty i wymaga minimalnej konfiguracji.

### Jak zainstalować IronPDF w projekcie Java Maven?

Przed kompresją PDF, skonfiguruj IronPDF w swoim projekcie. Szczegółowe instrukcje dotyczące konfiguracji znajdziesz w [Przeglądzie początkowym](https://ironpdf.com/java/docs/).

- Aby zainstalować IronPDF w [projekcie Maven](/java/docs/), dodaj repozytorium Maven IronPDF oraz zależność do pliku pom.xml swojego projektu.

- Dodaj zależność IronPDF do sekcji **<dependencies>** swojego pliku pom.xml:

    ```xml
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>your_version_here</version>
    </dependency>
  • Zapisz swój plik pom.xml i uruchom mvn install, aby zainstalować zależność IronPDF.

Po wykonaniu tych kroków możesz importować i używać klas IronPDF w swoim projekcie. W przypadku wdrożenia produkcyjnego skonfiguruj klucz licencyjny.

Jak skompresować plik PDF w Java?

Ten program Java używa IronPDF do kompresji dokumentu PDF. Algorytm kompresji zmniejsza jakość obrazów, jednocześnie zachowując klarowność tekstu i grafiki wektorowej.

import com.ironsoftware.IronPDF.*;
import java.io.IOException;
import java.nio.file.Paths;

public class App {
    // Main method to compress PDF
    public static void main(String[] args) throws IOException {
        // Define the path of the source PDF file
        String src = "C:\\Image based PDF.pdf";

        // Load the PDF document from the specified file path
        PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));

        // Compress images within the PDF to 60% of their original quality
        pdf.compressImages(60);

        // Zapisz skompresowany PDF to a new destination
        pdf.saveAs(Paths.get("assets/document_compressed.pdf"));

        // Compress images to 90% with additional resolution scaling
        // This can potentially reduce file size further by scaling image resolution
        pdf.compressImages(90, true);

        // Define the path where the final compressed PDF will be saved
        String dest = "C:\\Compressed.pdf";

        // Save the final compressed PDF
        pdf.saveAs(Paths.get(dest));
    }
}
import com.ironsoftware.IronPDF.*;
import java.io.IOException;
import java.nio.file.Paths;

public class App {
    // Main method to compress PDF
    public static void main(String[] args) throws IOException {
        // Define the path of the source PDF file
        String src = "C:\\Image based PDF.pdf";

        // Load the PDF document from the specified file path
        PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));

        // Compress images within the PDF to 60% of their original quality
        pdf.compressImages(60);

        // Zapisz skompresowany PDF to a new destination
        pdf.saveAs(Paths.get("assets/document_compressed.pdf"));

        // Compress images to 90% with additional resolution scaling
        // This can potentially reduce file size further by scaling image resolution
        pdf.compressImages(90, true);

        // Define the path where the final compressed PDF will be saved
        String dest = "C:\\Compressed.pdf";

        // Save the final compressed PDF
        pdf.saveAs(Paths.get(dest));
    }
}
JAVA

Kod importuje IronPDF oraz niezbędne klasy Java do obsługi plików. Główna metoda odczytuje dokument PDF o nazwie "Image based PDF.pdf" z katalogu "C:", kompresuje obrazy do 60% jakości i zapisuje skompresowaną wersję jako "document_compressed.pdf" w katalogu "assets".

Następnie kompresuje obrazy do 90% jakości i zapisuje wynik jako "Compressed.pdf" w katalogu "C:". Drugi opcjonalny parametr skaluje rozdzielczość obrazu zgodnie z widocznym rozmiarem w PDF, co może powodować zniekształcenia obrazu w niektórych konfiguracjach.

Metoda compressImages() oferuje elastyczne opcje kompresji:

  • Parametr jakości (0-100): Niższe wartości tworzą mniejsze pliki o zmniejszonej jakości obrazów
  • Skalowanie rozdzielczości (Opcjonalne): Gdy jest prawda, zmniejsza rozdzielczość obrazu na podstawie rozmiaru wyświetlacza
  • Wiele przejść kompresji: Stosuj różne poziomy kompresji sekwencyjnie dla dokładnej kontroli

Dla dokumentów wymagających zaawansowanej manipulacji poza kompresją, IronPDF oferuje funkcje takie jak wyodrębnianie tekstu, wyodrębnianie obrazów i dzielenie PDF.

Porównaj skompresowany plik z oryginalnym plikiem PDF. Skuteczność kompresji zależy od rodzaju zawartości — dokumenty z wieloma obrazami o wysokiej rozdzielczości pokazują większe zmniejszenia rozmiaru.

Jak wygląda oryginalny PDF?

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

Jakie są wyniki po kompresji?

Eksplorator plików Windows pokazujący skompresowany plik wyjściowy PDF o zmniejszonym rozmiarze po kompresji IronPDF

Zaawansowane techniki kompresji

Poza podstawową kompresją obrazów, IronPDF obsługuje kilka technik optymalizacji rozmiarów plików PDF:

  1. Przetwarzanie wsadowe: Przetwarzanie wielu PDF w jednej operacji
  2. Selektywna kompresja: Celuj w konkretne strony lub sekcje
  3. Optymalizacja formatu: Konwertuj osadzone obrazy na efektywne formaty
  4. Zarządzanie rozdzielczością: Wykryj i dostosuj zbyt duże obrazy

Pracując z złożonymi dokumentami, łącz kompresję z innymi strategiami optymalizacji, takimi jak usuwanie niepotrzebnych stron lub usuwanie adnotacji.

Dlaczego warto wybrać IronPDF do kompresji PDF?

IronPDF zapewnia efektywną kompresję PDF w Java z funkcjami, takimi jak obrót stron, konwersja HTML do PDF i manipulacja obrazami. Te funkcje sprawiają, że IronPDF nadaje się do kompresji PDF przy jednoczesnym zapewnieniu pełnej funkcjonalności biblioteki. Dokumentacja API zawiera wszystkie dostępne metody i opcje kompresji.

Poza kompresją, IronPDF obsługuje różne operacje PDF, takie jak renderowanie wykresów i grafów, niestandardowe rozmiary papieru i funkcje bezpieczeństwa. Ta wszechstronność nadaje się do zastosowań w przedsiębiorstwach wymagających kompleksowej funkcjonalności PDF.

W przypadku problemów z kompresją lub optymalizacją wydajności, zespół wsparcia technicznego zapewnia pomoc, aby upewnić się, że implementacja spełnia konkretne wymagania.

Ceny i opcje licencji zaczynają się od $799, gwarantując programistom dostęp do profesjonalnych narzędzi do kompresji PDF. IronPDF oferuje niezawodną optymalizację PDF dla aplikacji Java.

Często Zadawane Pytania

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

Kompresja plików PDF zmniejsza rozmiar pliku poprzez optymalizację obrazów i usuwanie zbędnych elementów. IronPDF ułatwia ten proces w aplikacjach Java, pomagając w bardziej efektywnym zarządzaniu dużymi dokumentami PDF w celu udostępniania, przesyłania lub przechowywania.

Jak szybko skompresować plik PDF w Javie?

Dzięki IronPDF możesz kompresować pliki PDF za pomocą zaledwie kilku linii kodu. Załaduj plik PDF za pomocą PdfDocument.fromFile(), zastosuj kompresję metodą compressImages(), określając procentową jakość, a następnie zapisz skompresowany plik za pomocą saveAs().

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

IronPDF pozwala ustawić jakość obrazu w zakresie od 0 do 100%. Wartość 60% zapewnia dobrą równowagę między zmniejszeniem rozmiaru pliku a jakością wizualną. Wyższe wartości zapewniają lepszą jakość, ale powodują powiększenie plików.

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

Tak, IronPDF obsługuje kompresję złożonych plików PDF, w tym tych zawierających wiele połączonych dokumentów. Kompresja działa płynnie, niezależnie od tego, czy masz do czynienia z pojedynczymi plikami PDF, czy dokumentami połączonymi z wielu źródeł.

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

Funkcja kompresji IronPDF działa w połączeniu z innymi funkcjami obsługi plików PDF. Można kompresować pliki PDF, zachowując znaki wodne, tła, pierwszoplanowe elementy, zakładki i pola formularzy bez żadnych problemów z kompatybilnością.

Jakie środowiska wdrożeniowe obsługują kompresję plików PDF?

IronPDF obsługuje kompresję plików PDF w różnych środowiskach wdrożeniowych, w tym AWS Lambda, Azure Functions i Google Cloud, dzięki czemu jest wszechstronnym rozwiązaniem dla aplikacji chmurowych i korporacyjnych.

Darrius Serrant
Full Stack Software Engineer (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.4 just released
Still Scrolling Icon

Wciąż przewijasz?

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