Jak połączyć pliki PDF w Javie

Laczenie plikow PDF w Javie do jednego pliku PDF

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

IronPDF for Java umozliwia laczenie wielu dokumentow PDF w jeden plik za pomoca metody PdfDocument.merge(), wspierajac zarówno laczenie dwóch dokumentów, jak i operacje wsadowe na kolekcjach PDF.

Szybki start: Laczenie plików PDF w Javie

  1. Dodaj IronPDF jako zaleznosc 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: ```java :title=MergeExample.java PdfDocument merged = PdfDocument.merge(pdfA, pdfB); merged.saveAs(Paths.get("assets/merged.pdf"));

PDF to Portable Document Format, elektroniczna forma dokumentu zawierajaca tekst i grafike. Wyswietla te sama tresc i uklad na wszystkich systemach operacyjnych, urzadzeniach czy aplikacjach softwarowych.

Java to jezyk programowania wysokiego poziomu, który, podobnie jak dane PDF, równiez jest niezalezny od platformy. To ulatwia przenoszenie sie miedzy róznymi systemami komputerowymi. Jednakze praca z zrodlowymi plikami PDF i strumieniami wejsciowymi moze byc trudna w Javie. IronPDF, biblioteka Java, doskonale nadaje sie do latwej manipulacji i pracy z istniejacymi plikami PDF.

W tym przewodniku nauczysz sie, jak zainstalowac biblioteke IronPDF na Javie i laczyc kilka dokumentów PDF. Niezaleznie od tego, czy konsolidujesz raporty, laczysz zeskanowane dokumenty, czy skladasz wieloczescowe formularze, IronPDF oferuje prosty w uzyciu interfejs API, który umozliwia wewnetrzne zarzadzanie 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 Scala 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 scalania 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 scalania 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 uruchomiony w środowisku 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 scalania plików PDF, jest biblioteka IronPDF for Java. Istnieją trzy sposoby pobrania i zainstalowania IronPDF w dowolnym projekcie.

  1. Mozesz dodac dependencje IronPDF w pliku pom.xml projektu Maven i uzyc narzedzia wiersza polecen Maven lub IDE, aby pobrac biblioteke bezposrednio z centralnego repozytorium.
  2. Innym sposobem jest odwiedzenie strony internetowej Maven i pobranie najnowszej wersji IronPDF. You can download it from here directly.
  3. Możesz również odwiedzić stronę internetową IronPDF, aby pobrać plik bezpośrednio poprzez ten link.

W kazdym przypadku dodawany jest nastepujacy kod zaleznosci do pliku pom.xml. Aby uzyskac szczególowe instrukcje instalacyjne i implementacje klucza licencyjnego, odwiedz Przewodnik uzywania 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

Niezbedna jest jeszcze jedna zaleznosc do laczenia PDF-ów: Slf4j-simple. You can also add it to the pom.xml file using the following code or you can visit the Maven website here.

<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
Maven pom.xml showing IronPDF and SLF4J dependencies for PDF merging project setup

Zależności pom.xml

Nastepujace polecenia importu sa równiez wymagane w pliku main.java, aby korzystac z funkcji IronPDF do laczenia 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

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>";

// Create PdfDocument objects using the HTML content
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);

// Merge the two PDF documents into a single document
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>";

// Create PdfDocument objects using the HTML content
PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);

// Merge the two PDF documents into a single document
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. Nastepnie, wywolana zostaje metoda renderHtmlAsPdf z IronPDF, aby przeksztalcic oba ciagi HTML w indywidualne 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 do laczenia plików PDF to PdfDocument.merge. Ta metoda jest wywoływana powyżej w celu połączenia dwóch dokumentów PDF w jeden. Wynikiem jest nowy PdfDocument powstaly przez dodanie zawartosci drugiego PdfDocument do konca 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:

PDF viewer showing merged 4-page document with thumbnail navigation panel

Łączenie wielu dokumentów PDF

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

Aby scalac wiecej niz dwa dokumenty PDF, najpierw stworzymy kolekcje zawierajaca wymagane obiekty PdfDocument, a nastepnie przekażemy liste 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>";

    // Creating PdfDocument objects
    PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
    PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
    PdfDocument pdfC = PdfDocument.renderHtmlAsPdf(htmlC);
    PdfDocument pdfD = PdfDocument.renderHtmlAsPdf(htmlD);

    // Add documents to a list
    List<PdfDocument> pdfs = new ArrayList<>();
    pdfs.add(pdfA);
    pdfs.add(pdfB);
    pdfs.add(pdfC);
    pdfs.add(pdfD);

    // Merge all documents into a single PDF
    PdfDocument merged = PdfDocument.merge(pdfs);

    // Save the merged PDF document
    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>";

    // Creating PdfDocument objects
    PdfDocument pdfA = PdfDocument.renderHtmlAsPdf(htmlA);
    PdfDocument pdfB = PdfDocument.renderHtmlAsPdf(htmlB);
    PdfDocument pdfC = PdfDocument.renderHtmlAsPdf(htmlC);
    PdfDocument pdfD = PdfDocument.renderHtmlAsPdf(htmlD);

    // Add documents to a list
    List<PdfDocument> pdfs = new ArrayList<>();
    pdfs.add(pdfA);
    pdfs.add(pdfB);
    pdfs.add(pdfC);
    pdfs.add(pdfD);

    // Merge all documents into a single PDF
    PdfDocument merged = PdfDocument.merge(pdfs);

    // Save the merged PDF document
    merged.saveAs(Paths.get("assets/more_than_two_merged.pdf"));
}
JAVA

Powyżej utworzono cztery dokumenty PDF przy użyciu metody renderowania HTML. Nastepnie wypelniamy nowa kolekcje List kazdym z PDF-ów, a nastepnie przesylamy te liste jako pojedynczy argument do metody merge. W rezultacie pliki PDF są scalane w jeden dokument PDF.

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

PDF viewer showing merged document with 8 pages, demonstrating successful multi-file PDF merge using Java IronPDF

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

Zaawansowane opcje scalania

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

  1. Selektywne scalanie stron: Wyodrębnij określone strony z plików PDF źródłowych przed scaleniem
  2. Wstaw w miejscu: Dodaj pliki PDF w określonych miejscach w istniejącym dokumencie
  3. Zachowaj metadane: Zachowaj właściwości dokumentu i metadane podczas operacji scalania
  4. Obsługa dużych plików: wydajne przetwarzanie dużych plików PDF bez problemów z pamięcią

Oto przykład selektywnego łączenia stron:

// Load existing PDFs
PdfDocument existingPdf = PdfDocument.fromFile(Paths.get("source.pdf"));
PdfDocument newPages = PdfDocument.fromFile(Paths.get("additional.pdf"));

// Extract specific pages (pages 2-4 from the new PDF)
PdfDocument selectedPages = newPages.extractPages(1, 3); // 0-indexed

// Merge the selected pages with the existing PDF
PdfDocument finalPdf = PdfDocument.merge(existingPdf, selectedPages);
finalPdf.saveAs(Paths.get("merged_selective.pdf"));
// Load existing PDFs
PdfDocument existingPdf = PdfDocument.fromFile(Paths.get("source.pdf"));
PdfDocument newPages = PdfDocument.fromFile(Paths.get("additional.pdf"));

// Extract specific pages (pages 2-4 from the new PDF)
PdfDocument selectedPages = newPages.extractPages(1, 3); // 0-indexed

// Merge the selected pages with the existing 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 artykule wyjaśniono, jak łączyć pliki PDF za pomocą biblioteki IronPDF for Java.

Najpierw omówiliśmy sposób instalacji IronPDF for Java przy użyciu Mavena, a następnie pokazaliśmy prosty sposób tworzenia plików PDF przy użyciu 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 scalania 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 scalania.

Czy scalanie 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 scaleniem?

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 scalania.

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.