Jak podzielic plik PDF w Java

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

Dzielić PDF w Java jest proste z IronPDF, który oferuje metody copyPage, copyPages i splitBy w klasie PdfDocument do wyodrębniania pojedynczych stron, pobierania zakresów stron lub dzielenia dokumentu na granicy. Każda metoda zwraca nowy PdfDocument, który zapisujesz niezależnie od oryginału.

Quickstart: Podziel plik PDF w Java

  1. Zainstaluj IronPDF dla Java poprzez Maven lub Gradle
  2. Ustaw swój klucz licencyjny za pomocą License.setLicenseKey()
  3. Załaduj PDF za pomocą PdfDocument.fromFile()
  4. Użyj copyPage(), aby wyodrębnić pojedynczą stronę
  5. Zapisz wynik za pomocą saveAs()
 :title=Quickstart
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/quickstart.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Extract the first page (zero-based index 0) into a new document
        PdfDocument firstPage = pdf.copyPage(0);

        // Save the extracted page as a standalone PDF
        firstPage.saveAs(Path.of("page-one.pdf"));
    }
}
 :title=Quickstart
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/quickstart.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Extract the first page (zero-based index 0) into a new document
        PdfDocument firstPage = pdf.copyPage(0);

        // Save the extracted page as a standalone PDF
        firstPage.saveAs(Path.of("page-one.pdf"));
    }
}
JAVA

Podzial pliku PDF jest czestym wymaganiem przy programowym generowaniu dokumentow. Raport wygenerowany jako jeden plik moze potrzebowac zostac podzielony na poszczegolne sekcje przed dystrybucja. Przeplywy pracy archiwizacji czesto wymagaja przechowywania kazdego rozdzialu lub faktury jako oddzielnego pliku. Scenariusze selektywnego udostepniania, takie jak przesylanie tylko okreslonego zakresu stron klientowi, korzystaja z wyodrebnienia dokladnie wymaganych stron zamiast przesylania calego dokumentu.

IronPDF obsługuje wszystkie trzy wzorce podziału przez spójne API w klasie PdfDocument. Ta sama klasa uzywana do generowania plikow PDF z HTML lub ladowania istniejacych plikow udostepnia metody wyodrebnienia stron, co sprawia, ze podzial integruje sie naturalnie z kazdym istniejacym przeplywem pracy IronPDF. Dla konfiguracji wstepnej i zaleznosci odwiedz Get Started Overview.

Wszystkie indeksy stron w IronPDF są zerowe. Jeśli twój dokument źródłowy ma dziesięć stron, poprawne indeksy zaczynają się od 0 do 9. Dotyczy to copyPage, obu granic copyPages i argumentu granicznego splitBy. Przekazanie indeksu poza zakresem spowoduje wyrzucenie wyjątku w czasie wykonania, więc waliduj liczbę stron z pdf.getPageCount(), pracując z dokumentami o zmiennej długości.

Co jest potrzebne przed rozpoczęciem?

Przed podziałem plików PDF potwierdz, ze IronPDF zostalo dodane do twojego projektu Java jako zaleznosc Maven lub Gradle. Biblioteka wymaga Java 8 lub nowszej. Dodaj artefakt IronPDF z Maven Central do swojego pliku build.

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

Dla projektów Gradle dodaj odpowiednią linię implementation do swojego build.gradle. Pelne instrukcje zaleznosci i konfiguracji sa dostepne w Get Started Overview.

Wymagany jest wazny klucz licencyjny. Ustaw go przy uruchomieniu aplikacji przed wywolaniem jakiejkolwiek metody IronPDF:

License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
JAVA

Dla opcji licencjonowania i kluczy probnych odwiedz przewodnik kluczy licencyjnych.

PoradyWszystkie indeksy stron w IronPDF używają zerowo-bazowego numerowania. Strona 1 twojego dokumentu to indeks 0, strona 2 to indeks 1 i tak dalej.

Jak wyodrebnic pojedyncza strone z pliku PDF?

Metoda copyPage(int pageIndex) wyodrębnia jedną stronę z PdfDocument i zwraca ją jako nowy, niezależny PdfDocument. Oryginalny dokument nie jest modyfikowany. Argument pageIndex zaczyna się od zera: przekaż 0 dla pierwszej strony, 1 dla drugiej i tak dalej.

Ta metoda jest odpowiednia, gdy twoj przeplyw pracy wymaga izolacji konkretnej strony, takiej jak wyodrebnienie strony tytulowej, podpisanej strony z podpisem czy pojedynczej faktury z dokumentu generowanego seryjnie.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-single-page.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Extract the third page (zero-based index 2) into a new document
        PdfDocument thirdPage = pdf.copyPage(2);

        // Save the extracted page as a standalone PDF
        thirdPage.saveAs(Path.of("third-page.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-single-page.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Extract the third page (zero-based index 2) into a new document
        PdfDocument thirdPage = pdf.copyPage(2);

        // Save the extracted page as a standalone PDF
        thirdPage.saveAs(Path.of("third-page.pdf"));
    }
}
JAVA

Zwracany PdfDocument jest całkowicie niezależny od źródła. Możesz zastosować dalsze przeksztalcenia, dodac anotacje lub polaczyc go z innymi dokumentami przed zapisaniem.

Icon Quote related to Jak wyodrebnic pojedyncza strone z pliku 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 wyodrebnic pojedyncza strone z pliku PDF?

Milan Jovanovic

Microsoft MVP

Zobacz studium przypadku
Icon Quote related to Jak wyodrebnic pojedyncza strone z pliku 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 wyodrebnic pojedyncza strone z pliku PDF?

Brent Matzelle

Dyrektor technologiczny, OPYN

Zobacz studium przypadku
Icon Quote related to Jak wyodrebnic pojedyncza strone z pliku 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 wyodrebnic pojedyncza strone z pliku PDF?

David Jones

Główny inżynier oprogramowania, Agorus Build

Zobacz studium przypadku

Jak wyodrebnic zakres stron z pliku PDF?

Metoda copyPages(int fromIndex, int toIndex) wyodrębnia ciągły zakres stron i zwraca je jako nowy PdfDocument. Zarówno fromIndex, jak i toIndex są oparte na indeksacji zaczynającej się od zera i obejmują zakres pełny: przekazanie copyPages(1, 4) na dziesięciostronicowym dokumencie wyodrębnia strony 2, 3, 4 i 5 (indeksy od 1 do 4).

Wyodrebnianie zakresu stron nadaje się do scenariuszy takich jak wyciagniecie rozdzialu z raportu wielorozdzialowego, wyodrebnienie wielostronicowego zalacznika czy izolowanie zestawu slajdów z prezentacji wyeksportowanej jako PDF.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-page-range.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load a multi-page source PDF
        PdfDocument pdf = PdfDocument.fromFile(Path.of("multi-page-report.pdf"));

        // Extract pages 2 through 5 (zero-based indexes 1 through 4, inclusive)
        PdfDocument chapter = pdf.copyPages(1, 4);

        // Save the extracted page range as a standalone document
        chapter.saveAs(Path.of("chapter-pages-2-to-5.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-page-range.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load a multi-page source PDF
        PdfDocument pdf = PdfDocument.fromFile(Path.of("multi-page-report.pdf"));

        // Extract pages 2 through 5 (zero-based indexes 1 through 4, inclusive)
        PdfDocument chapter = pdf.copyPages(1, 4);

        // Save the extracted page range as a standalone document
        chapter.saveAs(Path.of("chapter-pages-2-to-5.pdf"));
    }
}
JAVA

Jeśli dokument źródłowy ma mniej stron niż żądany toIndex, IronPDF wyrzuci wyjątek. Sprawdź pdf.getPageCount() przed wywołaniem copyPages, pracując z dokumentami, których liczba stron może się różnić.

Jak podzielic plik PDF na dwa dokumenty?

Metoda splitBy(int splitAfterPageIndex) dzieli PDF na granicy i zwraca List<PdfDocument> zawierający dokładnie dwa elementy. Pierwszy element zawiera strony od indeksu 0 do splitAfterPageIndex (włącznie). Drugi element zawiera wszystkie pozostałe strony od splitAfterPageIndex + 1 do końca dokumentu.

Na przykład, wywołanie splitBy(2) na dziesięciostronicowym dokumencie daje:

  • parts.get(0): strony 0, 1, 2 (trzy pierwsze strony)
  • parts.get(1): strony od 3 do 9 (pozostałe siedem stron)

Ta metoda nadaje się do podziału dokumentu na znanej granicy: oddzielenia karty tytulowej od tresci, podzialu dokumentu na przelamaniu sekcji czy przecięcia partii plików na pół do równoległego przetwarzania.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/split-by-boundary.java
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Split after page index 2 -- first part: pages 0-2, second part: pages 3 to end
        List<PdfDocument> parts = pdf.splitBy(2);

        // Save the first part (pages 0 through 2)
        parts.get(0).saveAs(Path.of("part-one.pdf"));

        // Save the second part (pages 3 through end)
        parts.get(1).saveAs(Path.of("part-two.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/split-by-boundary.java
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Split after page index 2 -- first part: pages 0-2, second part: pages 3 to end
        List<PdfDocument> parts = pdf.splitBy(2);

        // Save the first part (pages 0 through 2)
        parts.get(0).saveAs(Path.of("part-one.pdf"));

        // Save the second part (pages 3 through end)
        parts.get(1).saveAs(Path.of("part-two.pdf"));
    }
}
JAVA

Zwróć uwagęsplitBy zawsze zwraca listę z dokładnie dwoma elementami. Jeśli splitAfterPageIndex równa się indeksowi ostatniej strony dokumentu, drugi element będzie pustym dokumentem. Waliduj granicę podziału z pdf.getPageCount() - 1, gdy punkt podziału jest obliczany dynamicznie.

Jakie sa nastepne kroki w podziale plikow PDF w Javie?

Metody copyPage, copyPages oraz splitBy w IronPDF obejmują pełny zakres wymagań dotyczących dzielenia PDF w Java, od wyodrębniania pojedynczych stron po dzielenie w oparciu o zakres i na granicy. Każda metoda zwraca niezależny PdfDocument gotowy do dalszej manipulacji lub natychmiastowego zapisania.

Aby kontynuowac prace z dokumentami PDF w Java, zbadz te powiazane zasoby:

Rozpocznij bezplatna wersje probna, aby dodac podzial PDF do swojego przeplywu pracy w Java. Aby zakupić licencję do użycia produkcyjnego, zobacz opcje licencjonowania.

Często Zadawane Pytania

Jak podzielić PDF w Java przy użyciu IronPDF?

Załaduj swój PDF za pomocą PdfDocument.fromFile(), a następnie wywołaj copyPage(index), aby wyodrębnić pojedynczą stronę, copyPages(from, to), aby wyodrębnić zakres, lub splitBy(index), aby podzielić dokument na dwie części. Zapisz każdy wynik za pomocą saveAs().

Jaka jest różnica między copyPage, copyPages a splitBy?

copyPage(index) wyodrębnia pojedynczą stronę według zeropodstawowego indeksu. copyPages(fromIndex, toIndex) wyodrębnia ciągły zakres, gdzie oba krańce są włączne. splitBy(index) dzieli dokument na granicy i zwraca List<PdfDocument> z dwoma elementami: stronami od 0 do indeksu granicznego oraz wszystkimi pozostałymi stronami.

Czy indeksy stron w IronPDF są zeropodstawowe czy jednopodstawowe?

Indeksy stron w IronPDF są zeropodstawowe. Pierwsza strona dokumentu ma indeks 0, druga ma indeks 1, i tak dalej. Dotyczy to copyPage, copyPages i splitBy.

Co zwraca splitBy?

splitBy(splitAfterPageIndex) zwraca List<PdfDocument> z dokładnie dwoma elementami. Pierwszy element zawiera strony od 0 do indeksu granicy (włącznie). Drugi zawiera wszystkie pozostałe strony. Jeśli indeks granicy jest ostatnią stroną, drugi element będzie pustym dokumentem.

Jakie są wymagania wstępne do dzielenia PDF w Java z IronPDF?

Potrzebujesz Java 8 lub wyższej, biblioteki IronPDF dodanej jako zależność Maven lub Gradle i ważnego klucza licencyjnego ustawionego za pomocą License.setLicenseKey(), zanim wywołasz jakiekolwiek metody IronPDF.

Jak wyodrębnić strony od 2 do 5 z PDF w Java?

Użyj pdf.copyPages(1, 4), aby wyodrębnić strony od 2 do 5. IronPDF używa zeropodstawowych indeksów, więc strona 2 ma indeks 1, a strona 5 ma indeks 4. Oba krańce są włączne. Zapisz wynik za pomocą saveAs().

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.