Jak połączyć pliki PDF w Javie

Laczenie plików PDF w Javie do jednego pliku PDF

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

IronPDF dla Java umożliwia scalanie wielu dokumentów PDF w pojedynczy plik za pomocą metody PdfDocument.merge(), obsługując zarówno scalanie dwóch dokumentów, jak i operacje seryjne z kolekcjami PDF.

Szybki start: Laczenie plików PDF w Javie

  1. Dodaj zależność IronPDF do swojego pom.xml:

    <dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>YOUR_VERSION_HERE</version>
    </dependency>
    <dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>YOUR_VERSION_HERE</version>
    </dependency>
    XML
  2. Utworz dokumenty PDF z HTML:

    PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
    PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
    PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
    PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
    JAVA
  3. Scal PDF-y i zapisz je:
    :title=MergeExample.java
    PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
    merged.saveAs(Paths.get("assets/merged.pdf"));
    :title=MergeExample.java
    PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
    merged.saveAs(Paths.get("assets/merged.pdf"));
    JAVA

PDF to Portable Document Format, elektroniczna forma dokumentu zawierajaca tekst i grafike. Wyswietla te sama treść i uklad na wszystkich systemach operacyjnych, urządzeńiach czy aplikacjach softwarowych.

Java to język programowania wysokiego poziomu, który, podobnie jak dane PDF, równiez jest niezależny od platformy. To ułatwia przenoszenie sie miedzy róznymi systemami komputerowymi. Jednakze praca z zrodlowymi plikami PDF i strumieniami wejsciowymi może być trudna w Javie. IronPDF, biblioteka Java, doskonale nadaje sie do łatwej manipulacji i pracy z istniejącymi plikami PDF.

W tym przewodniku nauczysz sie, jak zainstalować biblioteke IronPDF na Javie i łączyć kilka dokumentów PDF. Niezaleznie od tego, czy konsolidujesz raporty, łączysz zeskanowane dokumenty, czy skladasz wieloczęśćowe formularze, IronPDF oferuje prosty w użyciu interfejs API, który umożliwia wewnetrzne zarządzanie zlozonoscia manipulacji PDF.

Czym jest IronPDF i dlaczego warto go używać do łączenia plików PDF?

IronPDF to biblioteka Java służąca do tworzenia, odczytu i edycji pojedynczych lub wielu dokumentów PDF. Pozwala użytkownikom tworzyć wszystkie pliki PDF od podstaw, w tym wygląd treści przy użyciu renderowania HTML, a także metadane, takie jak tytuł i nazwisko autora. Biblioteka umożliwia również łączenie wielu plików PDF, co ułatwia konsolidację treści w jeden plik PDF o określonej ścieżce docelowej. Nie wymaga żadnych bibliotek stron trzecich, zewnętrznych frameworków ani integracji z platformą do pracy z plikami PDF lub obiektami iteratora PDF. Zapewnia również obsługę wielu platform. Jest przeznaczony specjalnie dla Java 8+, Kotlin i Scała działających na systemach Windows, Linux i platformach chmurowych.

IronPDF skutecznie obsługuje operacje łączenia plików PDF, ponieważ zachowuje integralność dokumentów, zachowuje formatowanie, obsługuje złożone układy i wydajnie przetwarza duże pliki. Funkcja scałania biblioteki obsługuje różne scenariusze, w tym sekwencyjne dołączanie dokumentów, wstawianie stron w określonych miejscach oraz łączenie plików PDF o różnych rozmiarach stron lub orientacjach.

Jakie są wymagania dotyczące scałania plików PDF w Javie?

Aby połączyć wiele plików PDF, potrzebne będą:

  1. Dowolne środowisko IDE obsługujące Javę (NetBeans, Eclipse, IntelliJ itp.). W tym przypadku użyjemy IntelliJ do połączenia wielu plików PDF.
  2. Projekt Maven uruchamiany w IDE.
  3. Zainstalowany w systemie pakiet Java Development Kit (JDK) w wersji 8 lub nowszej.
  4. Podstawowa znajomość programowania w języku Java oraz zarządzania zależnościami w Maven.

Jak zainstalować IronPDF do łączenia plików PDF?

Pierwszą rzeczą, której potrzebujemy do scałania plików PDF, jest biblioteka IronPDF for Java. Istnieją trzy sposoby pobrania i zainstalowania IronPDF w dowolnym projekcie.

  1. Możesz dodać zależność do IronPDF w pliku pom.xml projektu Maven i użyć narzędzia wiersza poleceń Maven lub IDE, aby pobrać bibliotekę bezpośrednio z centralnego repozytorium.
  2. Innym sposobem jest odwiedzenie strony internetowej Maven i pobranie najnowszej wersji IronPDF. Można go pobrać bezpośrednio stąd.
  3. Możesz również odwiedzić stronę internetową IronPDF, aby pobrać plik bezpośrednio poprzez ten link.

W każdym przypadku poniższy kod zależności zostaje dodany do pliku pom.xml. Dla szczegółowych instrukcji instalacji i wdrożenia klucza licencyjnego odwiedź Przewodnik o używaniu kluczy licencyjnych.

<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>YOUR_VERSION_HERE</version>
</dependency>
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>YOUR_VERSION_HERE</version>
</dependency>
XML

Jedna dodatkowa zależność wymagana do scalenia PDF to Slf4j-simple. Możesz także dodać ją do pliku pom.xml, używając poniższego kodu, lub odwiedzić stronę Maven tutaj.

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.5</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.5</version>
</dependency>
XML
Plik pom.xml Maven przedstawiający zależności IronPDF i SLF4J w konfiguracji projektu scalania plików PDF

Zależności pom.xml

Poniższe instrukcje importu są również wymagane w pliku main.java, aby korzystać z funkcji IronPDF do scalania plików PDF.

import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
JAVA
Icon Quote related to Jak zainstalować IronPDF do łączenia plików PDF?

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 Jak zainstalować IronPDF do łączenia plików PDF?

Milan Jovanovic

Microsoft MVP

Zobacz studium przypadku
Icon Quote related to Jak zainstalować IronPDF do łączenia plików PDF?

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 Jak zainstalować IronPDF do łączenia plików PDF?

Brent Matzelle

Dyrektor technologiczny, OPYN

Zobacz studium przypadku
Icon Quote related to Jak zainstalować IronPDF do łączenia plików PDF?

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 Jak zainstalować IronPDF do łączenia plików PDF?

David Jones

Główny inżynier oprogramowania, Agorus Build

Zobacz studium przypadku

Jak połączyć dwa pliki PDF w Javie przy użyciu IronPDF?

Aby połączyć pliki PDF, najpierw musimy utworzyć pliki PDF, a następnie przekonwertować je do ostatecznego, połączonego pliku PDF. Poniższy przykład kodu właśnie to robi:

String htmlA = "<p> [PDF_A] </p>"
        + "<p> [PDF_A] 1st Page </p>"
        + "<div style='page-break-after: always;'></div>"
        + "<p> [PDF_A] 2nd Page</p>";
String htmlB = "<p> [PDF_B] </p>"
        + "<p> [PDF_B] 1st Page </p>"
        + "<div style='page-break-after: always;'></div>"
        + "<p> [PDF_B] 2nd Page</p>";

// Utwórz obiekty PdfDocument za pomocą zawartości HTML
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);

// Połącz dwa dokumenty PDF w jeden dokument
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
String htmlA = "<p> [PDF_A] </p>"
        + "<p> [PDF_A] 1st Page </p>"
        + "<div style='page-break-after: always;'></div>"
        + "<p> [PDF_A] 2nd Page</p>";
String htmlB = "<p> [PDF_B] </p>"
        + "<p> [PDF_B] 1st Page </p>"
        + "<div style='page-break-after: always;'></div>"
        + "<p> [PDF_B] 2nd Page</p>";

// Utwórz obiekty PdfDocument za pomocą zawartości HTML
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);

// Połącz dwa dokumenty PDF w jeden dokument
PdfDocument merged = PdfDocument.merge(pdfA, pdfB);
JAVA

Powyższy kod tworzy dwa ciągi znaków zawierające znaczniki HTML. Treść HTML dla każdej zmiennej zajmuje dwie strony. Następnie metoda renderHtmlAsPdf w IronPDF jest wywoływana, aby przekonwertować oba ciągi HTML na poszczególne dokumenty PDF. Aby uzyskać więcej informacji na temat zaawansowanych opcji konwersji HTML do PDF, w tym niestandardowych czcionek i stylów, zapoznaj się z samouczkiem dotyczącym konwersji HTML do PDF.

Metoda łączenia plików PDF to PdfDocument.merge. Ta metoda jest wywoływana powyżej w celu połączenia dwóch dokumentów PDF w jeden. Wynik to nowy PdfDocument utworzony przez dołączenie zawartości drugiego PdfDocument na koniec pierwszego.

Jak zapisać scalony dokument PDF?

Aby zapisać scalony plik PDF w wybranej lokalizacji, wystarczy użyć następującego wiersza:

merged.saveAs(Paths.get("assets/merged.pdf"));
merged.saveAs(Paths.get("assets/merged.pdf"));
JAVA

Poniżej przedstawiono wynikowy plik PDF:

Przeglądarka PDF przedstawiająca scalony 4-stronicowy dokument z panelem nawigacji miniatur

Łączenie wielu dokumentów PDF

Jak mogę połączyć więcej niż dwa pliki PDF jednocześnie?

Aby scalić więcej niż dwa dokumenty PDF, najpierw stworzymy kolekcję zawierającą wymagane obiekty PdfDocument, a następnie przekażemy listę jako pojedynczy argument do metody PdfDocument.merge. Kod wygląda następująco:

import java.util.List;
import java.util.ArrayList;

public static void main(String[] args) throws IOException {
    String htmlA = "<p> [PDF_A] </p>"
            + "<p> [PDF_A] 1st Page </p>"
            + "<div style='page-break-after: always;'></div>"
            + "<p> [PDF_A] 2nd Page</p>";
    String htmlB = "<p> [PDF_B] </p>"
            + "<p> [PDF_B] 1st Page </p>"
            + "<div style='page-break-after: always;'></div>"
            + "<p> [PDF_B] 2nd Page</p>";
    String htmlC = "<p> [PDF_C] </p>"
            + "<p> [PDF_C] 1st Page </p>"
            + "<div style='page-break-after: always;'></div>"
            + "<p> [PDF_C] 2nd Page</p>";
    String htmlD = "<p> [PDF_D] </p>"
            + "<p> [PDF_D] 1st Page </p>"
            + "<div style='page-break-after: always;'></div>"
            + "<p> [PDF_D] 2nd Page</p>";

// Tworzenie obiektów PdfDocument
    PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
    PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
    PdfDocument pdfC = PdfDocument.renderHtmlAsPdf(htmlC);
    PdfDocument pdfD = PdfDocument.renderHtmlAsPdf(htmlD);

// Dodaj dokumenty do listy
    List<PdfDocument> pdfs = new ArrayList<>();
    pdfs.add(pdfA);
    pdfs.add(pdfB);
    pdfs.add(pdfC);
    pdfs.add(pdfD);

// Połącz wszystkie dokumenty w jeden PDF
    PdfDocument merged = PdfDocument.merge(pdfs);

// Zapisz scalony dokument PDF
    merged.saveAs(Paths.get("assets/more_than_two_merged.pdf"));
}
import java.util.List;
import java.util.ArrayList;

public static void main(String[] args) throws IOException {
    String htmlA = "<p> [PDF_A] </p>"
            + "<p> [PDF_A] 1st Page </p>"
            + "<div style='page-break-after: always;'></div>"
            + "<p> [PDF_A] 2nd Page</p>";
    String htmlB = "<p> [PDF_B] </p>"
            + "<p> [PDF_B] 1st Page </p>"
            + "<div style='page-break-after: always;'></div>"
            + "<p> [PDF_B] 2nd Page</p>";
    String htmlC = "<p> [PDF_C] </p>"
            + "<p> [PDF_C] 1st Page </p>"
            + "<div style='page-break-after: always;'></div>"
            + "<p> [PDF_C] 2nd Page</p>";
    String htmlD = "<p> [PDF_D] </p>"
            + "<p> [PDF_D] 1st Page </p>"
            + "<div style='page-break-after: always;'></div>"
            + "<p> [PDF_D] 2nd Page</p>";

// Tworzenie obiektów PdfDocument
    PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
    PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
    PdfDocument pdfC = PdfDocument.renderHtmlAsPdf(htmlC);
    PdfDocument pdfD = PdfDocument.renderHtmlAsPdf(htmlD);

// Dodaj dokumenty do listy
    List<PdfDocument> pdfs = new ArrayList<>();
    pdfs.add(pdfA);
    pdfs.add(pdfB);
    pdfs.add(pdfC);
    pdfs.add(pdfD);

// Połącz wszystkie dokumenty w jeden PDF
    PdfDocument merged = PdfDocument.merge(pdfs);

// Zapisz scalony dokument PDF
    merged.saveAs(Paths.get("assets/more_than_two_merged.pdf"));
}
JAVA

Powyżej utworzono cztery dokumenty PDF przy użyciu metody renderowania HTML. Następnie uzupełniamy nową kolekcję List każdym z plików PDF, a następnie przekazujemy tę listę do metody merge jako pojedynczy argument. W rezultacie pliki PDF są scałane w jeden dokument PDF.

W przypadku bardziej złożonych scenariuszy scałania, takich jak scałanie określonych stron lub zakresów z różnych plików PDF, można połączyć funkcję scałania z funkcjami manipulacji stronami. Dowiedz się więcej o operacjach na poziomie stron w przewodniku Podział plików PDF.

Przeglądarka PDF przedstawiająca scalony dokument z 8 stronami, demonstrująca pomyślne scalenie wielu plików PDF przy użyciu Java IronPDF

Więcej niż dwa połączone pliki PDF

Zaawansowane opcje scałania

Oprócz podstawowego scałania, IronPDF oferuje dodatkowe możliwości zaawansowanej obróbki plików PDF:

  1. Selektywne łączenie stron: Wyodrębnij określone strony z źródłowych plików PDF przed scaleniem
  2. Dodaj na pozycji: Dodaj pliki PDF na określone pozycje w istniejącym dokumencie
  3. Zachowaj metadane: Utrzymuj własności dokumentu i metadane podczas operacji scalania
  4. Obsługa dużych plików: Skutecznie przetwarzaj duże pliki PDF bez problemów z pamięcią

Oto przykład selektywnego łączenia stron:

// Załaduj istniejące pliki PDF
PdfDocument existingPdf = PdfDocument.fromFile(Paths.get("source.pdf"));
PdfDocument newPages = PdfDocument.fromFile(Paths.get("additional.pdf"));

// Wyodrębnij określone strony (strony 2-4 z nowego PDF)
PdfDocument selectedPages = newPages.extractPages(1, 3); // 0-indeksowane

// Połącz wybrane strony z istniejącym PDF
PdfDocument finalPdf = PdfDocument.merge(existingPdf, selectedPages);
finalPdf.saveAs(Paths.get("merged_selective.pdf"));
// Załaduj istniejące pliki PDF
PdfDocument existingPdf = PdfDocument.fromFile(Paths.get("source.pdf"));
PdfDocument newPages = PdfDocument.fromFile(Paths.get("additional.pdf"));

// Wyodrębnij określone strony (strony 2-4 z nowego PDF)
PdfDocument selectedPages = newPages.extractPages(1, 3); // 0-indeksowane

// Połącz wybrane strony z istniejącym PDF
PdfDocument finalPdf = PdfDocument.merge(existingPdf, selectedPages);
finalPdf.saveAs(Paths.get("merged_selective.pdf"));
JAVA

Jakie są najważniejsze wnioski dotyczące łączenia plików PDF za pomocą IronPDF?

W tym artykułe wyjaśniono, jak łączyć pliki PDF za pomocą biblioteki IronPDF for Java.

Najpierw omówiliśmy, jak zainstalować IronPDF for Java za pomocą Maven, a następnie jak tworzyć pliki PDF używając metod renderowania HTML. Następnie zobaczyliśmy, jak połączyć dwa lub więcej pliki PDF w jeden plik PDF.

IronPDF działa dobrze i wykonuje wszystkie operacje szybko i dokładnie. Jest to doskonała opcja do pracy z plikami PDF w Javie. Ponadto opiera się on na możliwościach IronPDF for .NET.

IronEngine dla Javy umożliwia konwersję HTML/URL/String do formatu PDF przy użyciu otwartych standardowych typów dokumentów, takich jak HTML, CSS, JS, JPG i PNG. Tworzy dokumenty PDF o idealnej rozdzielczości i jest oparty na najnowszej technologii. W przypadku wdrażania na platformach chmurowych zapoznaj się z naszymi przewodnikami dotyczącymi wdrażania w AWS, Azure lub Google Cloud.

Więcej informacji na temat korzystania z IronPDF for Java można znaleźć na naszych stronach z przykładami kodu. Aby uzyskać dodatkowe funkcje związane z obsługą plików PDF, zapoznaj się z naszymi samouczkami dotyczącymi kompresji plików PDF, dodawania znaków wodnych lub tworzenia formularzy PDF.

IronPDF jest bezpłatny do celów programistycznych, a na potrzeby komercyjne można uzyskać licencję. Więcej informacji na temat licencji można znaleźć pod poniższym linkiem.

Często Zadawane Pytania

Jak połączyć dwa pliki PDF w Javie?

Dzięki IronPDF możesz połączyć dwa pliki PDF za pomocą metody PdfDocument.merge(). Po prostu utwórz lub załaduj swoje dokumenty PDF, a następnie wywołaj PdfDocument.merge(pdfA, pdfB) i zapisz wynik za pomocą metody saveAs().

Jaka wersja Javy jest wymagana do łączenia plików PDF?

IronPDF został zaprojektowany specjalnie dla Javy 8 i nowszych wersji, a także obsługuje Kotlin i Scalę. Działa na platformach Windows, Linux i w chmurze bez konieczności korzystania z bibliotek innych firm lub zewnętrznych frameworków.

Czy mogę połączyć więcej niż dwa pliki PDF jednocześnie?

Tak, IronPDF obsługuje operacje wsadowe służące do łączenia wielu plików PDF. Można utworzyć listę obiektów PDF i użyć metody merge, aby połączyć je wszystkie w jeden dokument w ramach jednej operacji.

Jak dodać bibliotekę do scałania plików PDF do mojego projektu Maven?

Dodaj IronPDF jako zależność w pliku pom.xml, dołączając identyfikator grupy com.ironsoftware wraz z identyfikatorem artefaktu IronPDF. Dzięki temu uzyskasz dostęp do wszystkich funkcji edycji plików PDF, w tym scałania.

Czy scałanie plików PDF pozwala zachować oryginalne formatowanie?

Tak, IronPDF zachowuje integralność dokumentów podczas łączenia plików PDF. Zachowuje formatowanie, obsługuje złożone układy i efektywnie przetwarza duże pliki, zachowując jednocześnie oryginalny wygląd każdego dokumentu.

Czy mogę utworzyć pliki PDF z HTML przed ich scałeniem?

Oczywiście! IronPDF umożliwia tworzenie plików PDF z HTML za pomocą metody renderHtmlAsPdf(). Można wygenerować wiele plików PDF z treści HTML, a następnie połączyć je za pomocą tej samej funkcji scałania.

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.