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 Java jest proste z IronPDF: biblioteka udostępnia metody removePage i removePages oparte na PageSelection, dając ci precyzyjną kontrolę nad tym, które strony usunąć — niezależnie od tego, czy to jest pojedyncza strona, ciągły zakres, czy rozrzucony 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 PDF za pomocą PdfDocument.fromFile()
  4. Usuń pojedynczą stronę za pomocą removePage()
  5. Zapisz wynik za pomocą saveAs()
 :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 {
        // 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"));

        // Remove the first page (zero-based index 0)
        pdf.removePage(0);

        // Save the modified PDF to a new file
        pdf.saveAs(Path.of("modified.pdf"));
    }
}
 :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 {
        // 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"));

        // Remove the first page (zero-based index 0)
        pdf.removePage(0);

        // Save the modified PDF to a new file
        pdf.saveAs(Path.of("modified.pdf"));
    }
}
JAVA

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, dzielenie dokumentów, i dodawanie znaków wodnych. Dla pełnego przeglądu ustawień i dostępnych funkcji, odwiedź przewodnik Get Started Overview.

Przykłady w tym przewodniku obejmują trzy scenariusze: usuwanie pojedynczej strony według indeksu, usuwanie ciągłego zakresu stron przy użyciu PageSelection oraz usuwanie wielu niekolejnych stron bez wywoływania błędów przesunięcia indeksu.

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. Dodaj zależność IronPdf do pliku kompilacji projektu. Dla pełnych instrukcji dotyczących konfiguracji zapoznaj się z Przegląd rozpoczęcia pracy.

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.

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) akceptuje 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 na indeksie 3 będzie teraz na indeksie 2, a strona, która była na indeksie 4 będzie teraz na indeksie 3. Zaplanuj sekwencję usuwania z uwzględnieniem tego przesunięcia, szczególnie gdy wywołujesz removePage wielokrotnie z rzędu.

//: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 {
        // 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("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"));
    }
}
//: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 {
        // 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("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"));
    }
}
JAVA

Ten wzorzec jest najprostszym podejściem, gdy dokładnie wiesz, którą stronę usunąć i musisz usunąć tylko jedną. Do usunięcia ciągłego zakresu stron w jednej operacji, użyj removePages z zakresem PageSelection zamiast tego.

Icon Quote related to Jak usunąć pojedynczą stronę z 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 usunąć pojedynczą stronę z PDF?

Milan Jovanovic

Microsoft MVP

Zobacz studium przypadku
Icon Quote related to Jak usunąć pojedynczą stronę z 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 usunąć pojedynczą stronę z PDF?

Brent Matzelle

Dyrektor technologiczny, OPYN

Zobacz studium przypadku
Icon Quote related to Jak usunąć pojedynczą stronę z 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 usunąć pojedynczą stronę z PDF?

David Jones

Główny inżynier oprogramowania, Agorus Build

Zobacz studium przypadku

Jak usunąć zakres stron z PDF?

Metoda removePages(PageSelection) usuwa wszystkie strony objęte danym wyborem w jednej atomowej operacji, która unika problemu przesunięcia indeksu, który pojawia się, gdy wywołujesz removePage wielokrotnie. Użyj PageSelection.pageRange(int fromIndex, int toIndex), aby określić zakres — oba końce są włącznie i zaczynają się od zera.

Poniższy przykład usuwa strony 3, 4 i 5 dokumentu przez przekazanie 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 {
        // Set the license key before calling any IronPDF methods
        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 {
        // Set the license key before calling any IronPDF methods
        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 to preferowane podejście, gdy musisz usunąć blok sąsiadujących stron. Jest to czyściejsze i bardziej wydajne niż iterowanie nad poszczególnymi wywołaniami removePage, a semantyka jednej operacji oznacza, że liczba stron jest aktualizowana tylko raz.

Jak usunąć wiele nieprzyległych stron?

Kiedy musisz usuwać strony, które nie są ze sobą sąsiadujące, masz dwie praktyczne opcje: użyj removePages z PageSelection, który celuje w poszczególne indeksy, lub wywołaj removePage wielokrotnie w starannie zorganizowanej sekwencji.

Jeśli wywołujesz removePage wielokrotnie, zawsze pracuj od najwyższego indeksu do najniższego. Usunięcie strony z niższym indeksem najpierw przesuwa wszystkie wyższe indeksy w dół o jeden, co powoduje, że kolejne wywołania celują w niewłaściwe strony. 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 {
        // Set the license key before calling any IronPDF methods
        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 {
        // Set the license key before calling any IronPDF methods
        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ą. To zapewnia, że każde removePage celuje we właściwą stronę 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 {
        // Set the license key before calling any IronPDF methods
        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 {
        // Set the license key before calling any IronPDF methods
        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 ukierunkowaną kontrolę nad usuwaniem stron — niezależnie od tego, czy chcesz usunąć pojedynczą stronę, wyciąć zakres, czy usunąć rozrzucony 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.

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.