Jak podzielic plik PDF w Java

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

Podział pliku PDF w Javie jest prosty dzięki IronPDF, który udostępnia metody copyPage, copyPages i splitBy w klasie PdfDocument do wyodrębniania poszczególnych stron, pobierania zakresów stron lub dzielenia dokumentu w określonym miejscu. 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 plik PDF za pomocą PdfDocument.fromFile()
  4. Użyj copyPage(), aby wyodrębnić pojedynczą stronę
  5. Zapisz wynik za pomocą saveAs()

```java :title=Szybki start //: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 { // Ustaw klucz licencyjny przed wywołaniem jakiejkolwiek metody IronPDF License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

    // Załaduj źródłowy PDF z dysku
    PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

// Wyodrebnij pierwsza strone (z indeksu zaczynajacego sie od zera) do nowego dokumentu PdfDocument firstPage = pdf.copyPage(0);

// Zapisz wyodrebniona strone jako samodzielny plik PDF firstPage.saveAs(Path.of("page-one.pdf")); } }


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 dzielenia poprzez spójny interfejs 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](https://ironpdf.com/java/docs/).

Wszystkie indeksy stron w IronPDF są zerowe. Jeśli dokument źródłowy ma dziesięć stron, prawidłowe indeksy mają wartości od 0 do 9. Dotyczy to `copyPage`, obu granic `copyPages` oraz argumentu granicy `splitBy`. Przekazanie indeksu poza zakresem spowoduje wygenerowanie wyjątku w czasie wykonywania, dlatego podczas pracy z dokumentami o zmiennej długości należy zweryfikować liczbę stron względem `pdf.getPageCount()`.

<div class="hsg-featured-snippet">
    <h2>Jak podzielic plik PDF w Java</h2>
    <ol>
        <li><a href="https://ironpdf.com/java/#download-modal">Zainstaluj biblioteke Javav, aby podzielic pliki PDF</a></li>
        <li>Uzyj klasy <strong>PdfDocument</strong>, aby zaladowac zrodłowy plik PDF</li>
        <li>Uzyj <code>copyPage</code>, aby wyodrebnic pojedyncza strone do nowego dokumentu</li>
        <li>Uzyj <code>copyPages</code>, aby wyodrebnic zakres stron</li>
        <li>Uzyj <code>splitBy</code>, aby podzielic plik PDF na konkretnej granicy stron</li>
        <li>Zapisz kazdy wynikowy dokument przy uzyciu <code>saveAs</code></li>
    </ol>
</div>

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

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

W przypadku projektów Gradle dodaj odpowiedni wiersz implementation do pliku 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 jest indeksowany od zera: należy przekazać 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 {
        // Ustaw klucz licencyjny przed wywołaniem jakiejkolwiek metody IronPDF
        License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

        // Załaduj źródłowy PDF z dysku
        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);

// Zapisz wyodrebniona strone jako samodzielny plik 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 {
        // Ustaw klucz licencyjny przed wywołaniem jakiejkolwiek metody IronPDF
        License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

        // Załaduj źródłowy PDF z dysku
        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);

// Zapisz wyodrebniona strone jako samodzielny plik 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.

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ą indeksami zaczynającymi się od zera i obejmującymi wszystkie strony: przekazanie copyPages(1, 4) w przypadku dziesięciostronicowego dokumentu powoduje wyodrębnienie stron 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 {
        // Ustaw klucz licencyjny przed wywołaniem jakiejkolwiek metody IronPDF
        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 {
        // Ustaw klucz licencyjny przed wywołaniem jakiejkolwiek metody IronPDF
        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ż wymagane toIndex, IronPDF zgłosi wyjątek. Przed wywołaniem copyPages należy sprawdzić pdf.getPageCount() podczas pracy z dokumentami, których liczba stron może się różnić.

Jak podzielic plik PDF na dwa dokumenty?

Metoda splitBy(int splitAfterPageIndex) dzieli plik PDF w miejscu 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) w dziesięciostronicowym dokumencie daje następujący wynik:

  • parts.get(0): strony 0, 1, 2 (pierwsze trzy 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 {
        // Ustaw klucz licencyjny przed wywołaniem jakiejkolwiek metody IronPDF
        License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

        // Załaduj źródłowy PDF z dysku
        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 {
        // Ustaw klucz licencyjny przed wywołaniem jakiejkolwiek metody IronPDF
        License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

        // Załaduj źródłowy PDF z dysku
        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ę zawierającą dokładnie dwa elementy. Jeśli splitAfterPageIndex jest równe indeksowi ostatniej strony dokumentu, drugim elementem będzie pusty dokument. Zweryfikuj granicę podziału względem pdf.getPageCount() - 1, gdy punkt podziału jest obliczany dynamicznie.

Jakie sa nastepne kroki w podziale plikow PDF w Javie?

Metody IronPDF copyPage, copyPages i splitBy obejmują pełny zakres wymagań dotyczących dzielenia plików PDF w Javie, od wyodrębniania pojedynczych stron, przez dzielenie oparte na zakresach, aż po podział oparty na granicach. Każda metoda zwraca niezależny PdfDocument gotowy do dalszej obróbki 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 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 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().

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Wersja: 2026.5 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.