Jak usunąć strony z PDF w Java
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
- Zainstaluj IronPDF dla Java poprzez Maven lub Gradle
- Ustaw swój klucz licencyjny za pomocą
License.setLicenseKey() - Załaduj PDF za pomocą
PdfDocument.fromFile() - Usuń pojedynczą stronę za pomocą
removePage() - 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"));
}
}
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.
Jak usunąć strony z PDF w Java
- Zainstaluj bibliotekę Java, aby usuwać strony PDF
- Użyj klasy PdfDocument do załadowania pliku PDF
- Użyj
removePage, aby usunąć pojedynczą stronę przez indeks - Użyj
removePageszPageSelection, aby usunąć wiele stron lub cały zakres - Zapisz zmodyfikowany PDF za pomocą
saveAs
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.
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"));
}
}
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.
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.
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"));
}
}
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"));
}
}
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"));
}
}
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:
- Podziel PDF w Java: wyodrębnij konkretne strony lub zakresy stron do osobnych plików PDF
- Połącz PDF w Java: łącz wiele dokumentów w pojedynczy PDF z pełną kontrolą nad stronami
- Kompresuj PDF w Java: zredukuj rozmiar po usunięciu stron, aby zoptymalizować wynik do dystrybucji
- Kontury i zakładki w Java: zarządzaj strukturami nawigacji, które mogą odnosić się do stron, które usunąłeś
- IronPDF for Java examples: kopiuj-wklejaj przykłady z pełnego API Java IronPDF.
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.


