Cómo Eliminar Páginas de un PDF en Java

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

La eliminación de páginas PDF en Java es sencilla con IronPDF: la biblioteca expone los métodos removePage y removePages respaldados por PageSelection, dándote 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

  1. Instale IronPDF for Java a través de Maven o Gradle
  2. Establece tu clave de licencia con License.setLicenseKey()
  3. Carga el PDF con PdfDocument.fromFile()
  4. Elimina una sola página con removePage()
  5. Guarda el resultado con 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

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, dividir documentos y añadir marcas de agua. Para obtener una visión completa de la configuración y las funciones disponibles, visite la Visión general de cómo empezar.

Los ejemplos en esta guía cubren tres escenarios: eliminar una sola página por índice, eliminar un rango contiguo de páginas usando PageSelection, y eliminar múltiples páginas no consecutivas de forma segura sin provocar errores de desplazamiento de índices.

¿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. Agrega la dependencia IronPdf a tu archivo de construcción del proyecto. Para instrucciones completas de configuración, consulta la Descripción General de Inicio.

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.

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 del 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. Planifica tu secuencia de eliminación teniendo en cuenta este desplazamiento, particularmente al llamar a removePage varias veces seguidas.

//: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

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.

Icon Quote related to ¿Cómo elimino una sola página de un PDF?

Mi biblioteca favorita de este tipo es IronPDF. Permite una manipulación rápida y eficiente de archivos PDF. También tiene muchas funciones valiosas, como exportar al formato PDF/A y firmar documentos PDF digitalmente.

Milan Jovanovic related to ¿Cómo elimino una sola página de un PDF?

Milan Jovanovic

Microsoft MVP

Ver estudio de caso
Icon Quote related to ¿Cómo elimino una sola página de un PDF?

IronOCR significa que podemos ahorrar $40,000 anualmente en el procesamiento manual, mientras mejoramos la productividad y liberamos recursos para tareas de alto impacto. Lo recomendaría encarecidamente.

Brent Matzelle related to ¿Cómo elimino una sola página de un PDF?

Brent Matzelle

Director de Tecnología, OPYN

Ver estudio de caso
Icon Quote related to ¿Cómo elimino una sola página de un PDF?

El Iron Suite juega un papel crucial en nuestras operaciones. Estas son herramientas que aumentan la eficiencia en toda la empresa, incluyendo la creación de planos y la mejora en la gestión de inventario.

David Jones related to ¿Cómo elimino una sola página de un PDF?

David Jones

Ingeniero de Software Principal, Agorus Build

Ver estudio de caso

¿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 que evita el problema de desplazamiento de índices que surge al llamar a removePage múltiples veces. Usa PageSelection.pageRange(int fromIndex, int toIndex) para especificar el rango: ambos extremos son inclusivos y 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
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 es el enfoque preferido siempre que necesites eliminar un bloque de páginas adyacentes. Es más limpio y más eficiente que iterar sobre llamadas individuales a removePage, y la semántica de operación única significa que el recuento de páginas se actualiza solo una vez.

¿Cómo elimino múltiples páginas no consecutivas?

Cuando necesites eliminar páginas que no están adyacentes entre sí, tienes dos opciones prácticas: usa removePages con un PageSelection que apunte a índices individuales, o llama a removePage varias veces en una secuencia cuidadosamente ordenada.

Si llamas a removePage múltiples veces, siempre trabaja desde el índice más alto hacia el más bajo. Eliminar primero una página con un índice más bajo desplaza todos los índices más altos hacia abajo en uno, lo que hace 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
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

Por favor notaAl compilar la lista de índices de página a eliminar en tiempo de ejecución, por ejemplo desde la entrada del usuario o un archivo de configuración, ordene la lista en orden descendente antes de iterar. Esto asegura que cada llamada a removePage apunte a la página correcta sin importar cuántas páginas ya se hayan eliminado.

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

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 ofrecen un control dirigido sobre la eliminación de páginas, ya sea que necesites eliminar 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:

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.

Darrius Serrant
Ingeniero de Software Full Stack (WebOps)

Darrius Serrant tiene una licenciatura en Ciencias de la Computación de la Universidad de Miami y trabaja como Ingeniero de Marketing WebOps Full Stack en Iron Software. Atraído por la programación desde joven, vio la computación como algo misterioso y accesible, convirtiéndolo en el ...

Leer más
¿Listo para empezar?
Versión: 2026.6 recién publicada
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida?
ejecutar una muestra Mira cómo tu HTML se convierte en PDF.