Jak usunąć strony z PDF w Java

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

Usuwanie stron PDF w Javie jest proste dzięki IronPDF: biblioteka udostępnia metody removePage i removePages wspierane przez PageSelection, dając Ci precyzyjną kontrolę nad tym, które strony chcesz usunąć — niezależnie od tego, czy jest to pojedyncza strona, ciągły zakres, czy rozproszony zestaw indeksów stron. Wszystkie indeksy stron w IronPDF zaczynają się od zera, więc pierwsza strona dokumentu zawsze ma indeks 0.

Szybkistart: Usuń strony 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 z PdfDocument.fromFile()
  4. Usuń pojedynczą stronę z removePage()
  5. Zapisz wynik za pomocą saveAs()

```java :title=Quickstart //:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-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"));

    // Usuń pierwszą stronę (indeks zerowy 0)
    pdf.removePage(0);

    // Zapisz zmodyfikowany PDF do nowego pliku
    pdf.saveAs(Path.of("modified.pdf"));
}

}


Usunięcie stron z PDF jest częstym zadaniem przetwarzania dokumentów. Możesz potrzebować usunięcia strony tytułowej przed dystrybucją raportu, wycięcia poufnych sekcji z dokumentu przed udostępnieniem go zewnętrznie, lub usunięcia pustych stron, które wprowadził skaner lub szablon. IronPDF obsługuje wszystkie te przypadki przez spójne Java API bez potrzeby użycia natywnych narzędzi do edycji PDF na maszynie hosta.

Biblioteka integruje się z aplikacjami Java przez Maven lub Gradle i obsługuje pełen zakres operacji manipulacji PDF poza usuwaniem stron, w tym [łączenie PDF](https://ironpdf.com/java/how-to/java-merge-pdf-tutorial/), [dzielenie dokumentów](https://ironpdf.com/java/how-to/java-split-pdf-tutorial/), i [dodawanie znaków wodnych](https://ironpdf.com/java/how-to/custom-watermark/). Dla pełnego przeglądu ustawień i dostępnych funkcji, odwiedź [przewodnik Get Started Overview](https://ironpdf.com/java/docs/).

Przykłady w tym przewodniku obejmują trzy scenariusze: usuwanie pojedynczej strony według indeksu, usuwanie ciągłego zakresu stron za pomocą `PageSelection` oraz bezpieczne usuwanie wielu nieciągłych stron bez wywoływania błędów przesunięcia indeksu.

<div class="hsg-featured-snippet">
    <h2>Jak usunąć strony z PDF w Java</h2>
    <ol>
        <li><a href="https://ironpdf.com/java/#download-modal">Zainstaluj bibliotekę Java, aby usuwać strony PDF</a></li>
        <li>Użyj klasy <strong>PdfDocument</strong> do załadowania pliku PDF</li>
        <li>Użyj <code>removePage</code>, aby usunąć pojedynczą stronę przez indeks</li>
        <li>Użyj <code>removePages</code> z <code>PageSelection</code>, aby usunąć wiele stron lub cały zakres</li>
        <li>Zapisz zmodyfikowany PDF za pomocą <code>saveAs</code></li>
    </ol>
</div>

## Co jest potrzebne przed rozpoczęciem?

Przed usunięciem stron z PDF potwierdź, że IronPDF jest skonfigurowany w twoim projekcie Java. Biblioteka wymaga Java 8 lub nowszego i integruje się przez [Maven lub Gradle](https://central.sonatype.com/artifact/com.ironsoftware/ironpdf). Dodaj zależność `IronPdf` do pliku kompilacji projektu. Pełne instrukcje konfiguracji znajdziesz w [przeglądzie](https://ironpdf.com/java/docs/) ["Pierwsze kroki](https://ironpdf.com/java/docs/)".

Prawidłowy klucz licencyjny jest wymagany zarówno do użycia w fazie rozwoju, jak i produkcji. Ustaw klucz na początku swojej aplikacji, przed wywołaniem jakichkolwiek metod IronPDF. Dla szczegółów na temat opcji licencjonowania, odwiedź [przewodnik po kluczach licencyjnych](https://ironpdf.com/java/get-started/license-keys/).

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 usunąć pojedynczą stronę z PDF? Metoda `removePage(int pageIndex)` przyjmuje indeks strony zaczynający się od zera i usuwa dokładnie tę stronę z dokumentu. Po zakończeniu wywołania wszystkie następujące strony przesuwają się o jedną pozycję w dół, więc każdy indeks, który przechowywałeś przed wywołaniem, może już nie wskazywać na tę samą stronę. Na przykład, jeśli dokument ma pięć stron (indeksy od 0 do 4) i usuniesz indeks 2, strona, która była pod indeksem 3, znajdzie się teraz pod indeksem 2, a strona, która była pod indeksem 4, znajdzie się teraz pod indeksem 3. Zaplanuj kolejność usuwania, mając na uwadze tę zmianę, szczególnie gdy wywołujesz `removePage` wiele razy z rzędu. ```java //:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/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("report.pdf")); // Remove the cover page at index 0 (the first page) pdf.removePage(0); // Save the modified PDF -- the original file is not overwritten pdf.saveAs(Path.of("report-no-cover.pdf")); } }

Ten wzorzec jest najprostszym podejściem, gdy dokładnie wiesz, którą stronę usunąć i musisz usunąć tylko jedną. Aby usunąć ciągły zakres stron w jednej operacji, należy użyć removePages z zakresem PageSelection.

Jak usunąć zakres stron z PDF?

Metoda removePages(PageSelection) usuwa wszystkie strony objęte danym zaznaczeniem w ramach jednej operacji atomowej, co pozwala uniknąć problemu przesunięcia indeksu, który pojawia się przy wielokrotnym wywołaniu removePage. Użyj PageSelection.pageRange(int fromIndex, int toIndex), aby określić zakres — oba punkty końcowe są włączone i liczone od zera.

W poniższym przykładzie usuwa się strony 3, 4 i 5 dokumentu, przekazując fromIndex = 2 i toIndex = 4. Ponieważ wszystkie trzy strony są usuwane jednocześnie, żadne pośrednie przesunięcia indeksów nie mają miejsca podczas operacji.

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

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 PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("annual-report.pdf"));

        // Remove pages 3, 4, and 5 using a zero-based inclusive range (indexes 2 to 4)
        pdf.removePages(PageSelection.pageRange(2, 4));

        // Save the result to a new file
        pdf.saveAs(Path.of("annual-report-trimmed.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/page-range.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.IronPdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;

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 PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("annual-report.pdf"));

        // Remove pages 3, 4, and 5 using a zero-based inclusive range (indexes 2 to 4)
        pdf.removePages(PageSelection.pageRange(2, 4));

        // Save the result to a new file
        pdf.saveAs(Path.of("annual-report-trimmed.pdf"));
    }
}
JAVA

PageSelection.pageRange jest preferowanym podejściem w przypadku konieczności usunięcia bloku sąsiednich stron. Jest to czystsze i wydajniejsze niż pętla nad poszczególnymi wywołaniami removePage, a semantyka pojedynczej operacji oznacza, że liczba stron jest aktualizowana tylko raz.

Jak usunąć wiele nieprzyległych stron?

Jeśli chcesz usunąć strony, które nie sąsiadują ze sobą, masz dwie praktyczne opcje: użyj removePages z PageSelection, które kieruje do poszczególnych indeksów, lub wywołaj removePage wielokrotnie w starannie uporządkowanej sekwencji.

Jeśli wywołujesz removePage wielokrotnie, zawsze pracuj od najwyższego indeksu do najniższego. Usunięcie strony o niższym indeksie powoduje przesunięcie wszystkich wyższych indeksów o jeden w dół, co sprawia, że kolejne wywołania będą kierowane do niewłaściwych stron. Zaczynając od końca dokumentu i pracując wstecz, każde usunięcie pozostawia pozostałe niższe indeksy niezmienione.

Poniższy przykład usuwa pierwszą stronę, środkową stronę i ostatnią stronę sześciostronicowego dokumentu. Wywołania są uporządkowane od najwyższego do najniższego indeksu - 5, 3, 0 - aby zapobiec dryfowi indeksów.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/non-consecutive-pages.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 six-page PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("contract.pdf"));

        // Remove non-consecutive pages: always work from highest index to lowest
        // to prevent index shifting from affecting subsequent removals.

        // Remove the last page (index 5 in a six-page document)
        pdf.removePage(5);

        // Remove a page in the middle (index 3 -- now safe because no lower index has shifted)
        pdf.removePage(3);

        // Remove the first page (index 0 -- lowest, so processed last)
        pdf.removePage(0);

        // Save the modified PDF
        pdf.saveAs(Path.of("contract-redacted.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/non-consecutive-pages.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 six-page PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("contract.pdf"));

        // Remove non-consecutive pages: always work from highest index to lowest
        // to prevent index shifting from affecting subsequent removals.

        // Remove the last page (index 5 in a six-page document)
        pdf.removePage(5);

        // Remove a page in the middle (index 3 -- now safe because no lower index has shifted)
        pdf.removePage(3);

        // Remove the first page (index 0 -- lowest, so processed last)
        pdf.removePage(0);

        // Save the modified PDF
        pdf.saveAs(Path.of("contract-redacted.pdf"));
    }
}
JAVA

Zwróć uwagęKiedy budujesz listę indeksów stron do usunięcia podczas działania - na przykład z danych wejściowych użytkownika lub pliku konfiguracyjnego - posortuj listę w porządku malejącym przed iteracją. Dzięki temu każde wywołanie removePage będzie kierowało do właściwej strony, niezależnie od tego, ile stron zostało już usuniętych.

Jeżeli zestaw stron do usunięcia jest określony dynamicznie, zwięzły wzór to posortować listę indeksów w odwrotnym porządku i pętlować:

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/dynamic-removal.java
import java.io.IOException;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.Comparator;
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");

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

        // Define the zero-based page indexes to remove
        List<Integer> pagesToRemove = Arrays.asList(0, 3, 5);

        // Sort descending to avoid index-shift errors during sequential removal
        pagesToRemove.sort(Comparator.reverseOrder());

        // Remove each page in reverse-index order
        for (int pageIndex : pagesToRemove) {
            pdf.removePage(pageIndex);
        }

        // Save the modified PDF
        pdf.saveAs(Path.of("document-pages-removed.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/dynamic-removal.java
import java.io.IOException;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.Comparator;
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");

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

        // Define the zero-based page indexes to remove
        List<Integer> pagesToRemove = Arrays.asList(0, 3, 5);

        // Sort descending to avoid index-shift errors during sequential removal
        pagesToRemove.sort(Comparator.reverseOrder());

        // Remove each page in reverse-index order
        for (int pageIndex : pagesToRemove) {
            pdf.removePage(pageIndex);
        }

        // Save the modified PDF
        pdf.saveAs(Path.of("document-pages-removed.pdf"));
    }
}
JAVA

Sortowanie listy indeksów w porządku malejącym przed pętlą jest bezpiecznym, ogólnego przeznaczenia wzorem, który działa bez względu na to, ile stron jest celem czy jak lista wejściowa jest uporządkowana.

Jakie są następne kroki do usuwania stron PDF w Java?

Metody removePage i removePages w IronPDF dają Ci precyzyjną kontrolę nad usuwaniem stron — niezależnie od tego, czy chcesz usunąć pojedynczą stronę, zakres stron czy rozproszony zestaw stron. Model indeksowania zaczynający się od zera jest spójny w całym IronPDF Java API, więc te same konwencje obowiązują, gdy przechodzisz do dzielenia stron, łączenia lub zmiany kolejności.

Aby kontynuować pracę z strukturą stron PDF i manipulacją dokumentami, sprawdź te powiązane zasoby:

Rozpocznij darmowy okres próbny, aby usuwać strony z PDF w swojej ścieżce pracy Java. Aby zakupić licencję do użycia produkcyjnego, zobacz opcje licencjonowania.

Często Zadawane Pytania

Jak usunąć pojedynczą stronę z PDF w Java?

Załaduj PDF za pomocą PdfDocument.fromFile(), a następnie wywołaj pdf.removePage(pageIndex) z indeksem zaczynającym się od zera. Na przykład, pdf.removePage(0) usuwa pierwszą stronę. Zapisz wynik za pomocą pdf.saveAs().

Jak usunąć zakres stron z PDF w Java?

Wywołaj pdf.removePages(PageSelection.pageRange(fromIndex, toIndex)). Oba indeksy zaczynają się od zera i są włączone. Na przykład, PageSelection.pageRange(2, 4) usuwa trzecią, czwartą i piątą stronę dokumentu w pojedynczej atomowej operacji.

Dlaczego potrzebuję usuwać strony od najwyższego indeksu do najniższego?

Kiedy wywołujesz removePage wielokrotnie, każde usunięcie przesuwa wszystkie kolejne indeksy stron w dół o jeden. Usuwanie od najwyższego do najniższego indeksu zapewnia, że każda operacja dotyczy właściwej strony, ponieważ żadne strony z niższym indeksem nie zostały jeszcze usunięte, co mogłoby spowodować przesunięcie.

Co to jest PageSelection w IronPDF Java?

PageSelection to klasa w pakiecie com.ironsoftware.ironpdf.edit, która definiuje, które strony powinny podlegać operacji metody. PageSelection.pageRange(fromIndex, toIndex) tworzy wybór obejmujący ciągły blok zeropodstawowych, dołączonych indeksów stron do użycia z removePages.

Jakie są wymagania wstępne przed usuwaniem stron 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() przed jakimikolwiek wywołaniami IronPDF. Nie są wymagane natywne narzędzia PDF lub dodatkowe frameworki.

Czy removePage modyfikuje oryginalny plik PDF?

Nie. removePage i removePages modyfikują obiekt PdfDocument w pamięci. Oryginalny plik na dysku nie jest zmieniany, dopóki nie wywołasz pdf.saveAs(Path.of("output.pdf")), aby zapisać zmodyfikowany dokument na nowej ścieżce.

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.