Cómo Eliminar Páginas de un PDF en Java
Eliminar páginas PDF en Java es sencillo con IronPDF: la biblioteca expone los métodos removePage y removePages respaldados por PageSelection, que te brindan un control preciso sobre qué páginas eliminar, ya sea una sola página, un rango contiguo o un conjunto disperso de índices de página. Todos los índices de página en IronPDF comienzan en cero, por lo que la primera página de un documento siempre es el índice 0.
Inicio rápido: Eliminar páginas de PDF en Java
- Instale IronPDF for Java a través de Maven o Gradle
- Configura tu clave de licencia con
License.setLicenseKey() - Carga el PDF con
PdfDocument.fromFile() - Elimina una sola página con
removePage() - Guarda el resultado con
saveAs()
```java :title=Quickstart //:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/quickstart.java importar java.io.IOException; import java.nio.file.Path; import com.ironsoftware.ironpdf.License; importar com.ironsoftware.ironpdf IronPDF;
public class Main { public static void main(String[] args) lanza IOException { // Configure la clave de licencia antes de llamar a cualquier método de IronPDF Licencia.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Cargue el PDF de origen desde el disco
PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));
// Eliminar la primera página (índice basado en cero 0) pdf.removePage(0);
// Guardar el PDF modificado en un nuevo archivo pdf.saveAs(Path.of("modified.pdf")); } }
Eliminar páginas de un PDF es una tarea común en el procesamiento de documentos. Puede que necesite eliminar una portada antes de distribuir un informe, cortar secciones confidenciales de un documento antes de compartirlo externamente, o eliminar páginas en blanco que un escáner o plantilla introdujo. IronPDF maneja todos estos casos a través de una API Java consistente sin requerir herramientas de edición PDF nativas en la máquina anfitriona.
La biblioteca se integra en aplicaciones Java mediante Maven o Gradle y admite toda la gama de operaciones de manipulación de PDF más allá de la eliminación de páginas, incluyendo [fusionar PDFs](https://ironpdf.com/java/how-to/java-merge-pdf-tutorial/), [dividir documentos](https://ironpdf.com/java/how-to/java-split-pdf-tutorial/) y [añadir marcas de agua](https://ironpdf.com/java/how-to/custom-watermark/). Para obtener una visión completa de la configuración y las funciones disponibles, visite la [Visión general de cómo empezar](https://ironpdf.com/java/docs/).
Los ejemplos en esta guía cubren tres escenarios: eliminar una sola página por índice, eliminar un rango de páginas contiguo usando `PageSelection` y eliminar múltiples páginas no consecutivas de manera segura sin provocar errores de desplazamiento de índice.
<div class="hsg-featured-snippet">
<h2>Cómo eliminar páginas de un PDF en Java</h2>
<ol>
<li><a href="https://ironpdf.com/java/#download-modal">Instalar la biblioteca Java para eliminar páginas de PDF</a></li>
<li>Use la clase <strong>PdfDocument</strong> para cargar el PDF</li>
<li>Use <code>removePage</code> para eliminar una sola página por índice</li>
<li>Use <code>removePages</code> con <code>PageSelection</code> para eliminar múltiples páginas o un rango</li>
<li>Guarde el PDF modificado con <code>saveAs</code></li>
</ol>
</div>
## ¿Qué necesito antes de empezar?
Antes de eliminar páginas de un PDF, confirme que IronPDF esté configurado en su proyecto Java. La biblioteca requiere Java 8 o superior y se integra a través de [Maven o Gradle](https://central.sonatype.com/artifact/com.ironsoftware/ironpdf). Agrega la dependencia `IronPdf` al archivo de construcción de tu proyecto. Para obtener instrucciones de configuración completa, consulta el [Resumen para comenzar](https://ironpdf.com/java/docs/).
Se requiere una clave de licencia válida tanto para uso en desarrollo como en producción. Configure la clave al inicio de su aplicación antes de llamar a cualquier método de IronPDF. Para detalles sobre las opciones de licencia, visite la [guía de claves de licencia](https://ironpdf.com/java/get-started/license-keys/).
ConsejosTodos los índices de página en IronPDF utilizan numeración basada en cero. La página 1 de tu documento es el índice 0, la página 2 es el índice 1, y así sucesivamente.
## ¿Cómo elimino una sola página de un PDF?
El método `removePage(int pageIndex)` acepta un índice de página basado en cero y elimina exactamente esa página del documento. Después de completar la llamada, todas las páginas subsecuentes se desplazan hacia abajo por una posición, por lo que cualquier índice que haya almacenado en caché antes de la llamada puede ya no apuntar a la misma página.
Por ejemplo, si un documento tiene cinco páginas (índices 0 al 4) y eliminas el índice 2, la página que estaba en el índice 3 ahora está en el índice 2 y la página que estaba en el índice 4 ahora está en el índice 3. Planea tu secuencia de eliminación con este desplazamiento en mente, especialmente al llamar `removePage` varias veces seguidas.
```java
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/single-page.java
importar java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
importar com.ironsoftware.ironpdf IronPDF;
public class Main {
public static void main(String[] args) lanza IOException {
// Configure la clave de licencia antes de llamar a cualquier método de IronPDF
Licencia.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Cargue el PDF de origen desde el disco
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"));
}
}
Este patrón es el enfoque más simple cuando sabe exactamente qué página desea eliminar y solo necesita eliminar una. Para eliminar un rango contiguo de páginas en una sola operación, usa removePages con un rango PageSelection en su lugar.
¿Cómo elimino un rango de páginas de un PDF?
El método removePages(PageSelection) elimina todas las páginas cubiertas por la selección dada en una sola operación atómica, lo cual evita el problema de desplazamiento de índice que surge al llamar removePage múltiples veces. Usa PageSelection.pageRange(int fromIndex, int toIndex) para especificar el rango; ambos extremos son inclusivos y están basados en cero.
El ejemplo a continuación elimina las páginas 3, 4 y 5 de un documento pasando fromIndex = 2 y toIndex = 4. Debido a que las tres páginas son eliminadas a la vez, no ocurre un desplazamiento de índice intermedio durante la operación.
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/page-range.java
importar java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
importar com.ironsoftware.ironpdf IronPDF;
import com.ironsoftware.ironpdf.edit.PageSelection;
public class Main {
public static void main(String[] args) lanza IOException {
// Configure la clave de licencia antes de llamar a cualquier método de IronPDF
Licencia.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
importar java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
importar com.ironsoftware.ironpdf IronPDF;
import com.ironsoftware.ironpdf.edit.PageSelection;
public class Main {
public static void main(String[] args) lanza IOException {
// Configure la clave de licencia antes de llamar a cualquier método de IronPDF
Licencia.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 es el enfoque preferido siempre que necesites eliminar un bloque de páginas adyacentes. Es más limpio y eficiente que iterar sobre llamadas individuales removePage, y la semántica de operación única significa que el conteo de páginas se actualiza solo una vez.
¿Cómo elimino múltiples páginas no consecutivas?
Cuando necesites eliminar páginas que no son adyacentes entre sí, tienes dos opciones prácticas: usa removePages con un PageSelection que apunte a índices individuales, o llama removePage varias veces en una secuencia ordenada cuidadosamente.
Si llamas removePage varias veces, siempre trabaja del índice más alto al más bajo. El eliminar primero una página de un índice más bajo desplaza todos los índices más altos hacia abajo en uno, lo que provoca que las llamadas posteriores apunten a las páginas incorrectas. Al comenzar al final del documento y trabajar hacia atrás, cada eliminación deja los índices más bajos restantes sin alterar.
El ejemplo a continuación elimina la primera página, una página intermedia y la última página de un documento de seis páginas. Las llamadas están ordenadas del índice más alto al más bajo — 5, 3, 0 — para prevenir el desplazamiento de índices.
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/non-consecutive-pages.java
importar java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
importar com.ironsoftware.ironpdf IronPDF;
public class Main {
public static void main(String[] args) lanza IOException {
// Configure la clave de licencia antes de llamar a cualquier método de IronPDF
Licencia.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
importar java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.ironpdf.License;
importar com.ironsoftware.ironpdf IronPDF;
public class Main {
public static void main(String[] args) lanza IOException {
// Configure la clave de licencia antes de llamar a cualquier método de IronPDF
Licencia.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 apunte a la página correcta sin importar cuántas páginas ya han sido eliminadas.Si el conjunto de páginas a eliminar se determina dinámicamente, un patrón conciso es ordenar su lista de índices en reversa y hacer un bucle:
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/dynamic-removal.java
importar 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;
importar com.ironsoftware.ironpdf IronPDF;
public class Main {
public static void main(String[] args) lanza IOException {
// Configure la clave de licencia antes de llamar a cualquier método de IronPDF
Licencia.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
importar 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;
importar com.ironsoftware.ironpdf IronPDF;
public class Main {
public static void main(String[] args) lanza IOException {
// Configure la clave de licencia antes de llamar a cualquier método de IronPDF
Licencia.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"));
}
}
Ordenar la lista de índices en orden descendente antes del bucle es un patrón seguro y de propósito general que funciona independientemente de cuántas páginas sean objeto del objetivo o cómo esté ordenada la lista de entrada.
¿Cuáles son los siguientes pasos para eliminar páginas de PDF en Java?
Los métodos removePage y removePages de IronPDF te brindan un control específico sobre la eliminación de páginas, ya sea que necesites quitar una sola página, extirpar un rango o eliminar un conjunto disperso de páginas. El modelo de indexación basado en cero es consistente en toda la API Java de IronPDF, por lo que las mismas convenciones se aplican cuando avanza a dividir, fusionar o reordenar páginas.
Para continuar trabajando con la estructura de páginas PDF y la manipulación de documentos, explore estos recursos relacionados:
- Dividir PDFs en Java: extraer páginas específicas o rangos de páginas en archivos PDF separados
- Fusionar PDFs en Java: combinar múltiples documentos en un solo PDF con control completo de páginas
- Comprimir PDFs en Java: reducir el tamaño del archivo después de eliminar páginas para optimizar la salida para su distribución
- Índices y marcadores en Java: gestionar estructuras de navegación que pueden hacer referencia a las páginas que eliminó
- Ejemplos de IronPDF for Java: ejemplos de código para copiar y pegar para la API completa de IronPDF for Java
Inicie su prueba gratuita para eliminar páginas de PDFs en su flujo de trabajo Java. Para comprar una licencia para uso en producción, ver opciones de licencia.
Preguntas Frecuentes
¿Cómo elimino una sola página de un PDF en Java?
Cargue el PDF con PdfDocument.fromFile(), luego llame a pdf.removePage(pageIndex) con un índice basado en cero. Por ejemplo, pdf.removePage(0) elimina la primera página. Guarde el resultado con pdf.saveAs().
¿Cómo elimino un rango de páginas de un PDF en Java?
Llame a pdf.removePages(PageSelection.pageRange(fromIndex, toIndex)). Tanto los índices de inicio como de fin se basan en cero e incluyen ambos extremos. Por ejemplo, PageSelection.pageRange(2, 4) elimina la tercera, cuarta y quinta páginas del documento en una sola operación atómica.
¿Por qué necesito eliminar páginas desde el índice más alto hasta el más bajo?
Cuando llama a removePage varias veces, cada eliminación mueve hacia abajo todos los índices de las páginas subsiguientes en uno. Eliminar del índice más alto al más bajo garantiza que cada llamada apunte a la página correcta porque aún no se han eliminado páginas con índices más bajos que causen un desplazamiento.
¿Qué es PageSelection en IronPDF Java?
PageSelection es una clase del paquete com.ironsoftware.ironpdf.edit que define sobre qué páginas debe actuar un método. PageSelection.pageRange(fromIndex, toIndex) crea una selección que cubre un bloque contiguo de índices de página basados en cero e inclusivos para usar con removePages.
¿Cuáles son los requisitos previos para eliminar páginas PDF en Java con IronPDF?
Necesita Java 8 o superior, la biblioteca IronPDF añadida como una dependencia Maven o Gradle, y una clave de licencia válida configurada con License.setLicenseKey() antes de cualquier llamada a IronPDF. No se requieren herramientas nativas de PDF ni marcos adicionales.
¿RemovePage modifica el archivo PDF original?
No. removePage y removePages modifican el objeto PdfDocument en memoria. El archivo original en disco no se cambia hasta que llame a pdf.saveAs(Path.of("output.pdf")) para escribir el documento modificado en una nueva ruta.


