Cómo Comprimir Archivos PDF en Java | IronPDF

Cómo comprimir archivos PDF en Java

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

IronPDF permite a los desarrolladores Java comprimir archivos PDF reduciendo la calidad de la imagen y escalando la resolución, lo que ayuda a reducir el tamaño de los archivos para compartirlos y almacenarlos más fácilmente.

Inicio rápido: Comprimir un archivo PDF en Java

```java {title="Comprimir PDF en Java"} //:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/quickstart-compress.java importar IronPDF.*; importar java.nio.file.Paths;

// Cargar el documento PDF PdfDocument pdf = PdfDocument.fromFile(Paths.get("fuente.pdf"));

// Comprimir imágenes a un 60% de calidad pdf.compressImages(60);

// Guardar el PDF comprimido pdf.saveAs(Paths.get("comprimido.pdf"));


<div class="hsg-featured-snippet">
<h3>Flujo de trabajo mínimo (5 pasos)</h3>

1. Agrega IronPDF a tu Maven `pom.xml` como dependencia
2. Carga tu PDF usando `PdfDocument.fromFile()`
3. Comprime imágenes con `pdf.compressImages(60)`
4. Opcionalmente escala la resolución de imagen con `pdf.compressImages(90, true)`
5. Guarda el PDF comprimido usando `pdf.saveAs()`
</div>

Los documentos PDF se utilizan ampliamente para compartir y almacenar información, pero los archivos con muchas imágenes pueden alcanzar decenas de megabytes muy rápidamente. Los tamaños de archivo grandes complican la entrega por correo electrónico, ralentizan las cargas y aumentan los costos de almacenamiento. La API de compresión de Java de IronPDF aborda esto permitiéndole reducir la calidad de imagen incrustada y escalar la resolución en unas pocas líneas de código.

Este artículo cubre cómo comprimir archivos PDF en Java usando IronPDF. Los ejemplos muestran tanto la compresión simple basada en calidad como la escala de resolución, para que pueda adaptar el enfoque a sus requisitos específicos de tamaño y calidad. Si también está trabajando con [PDFs con muchas imágenes](https://ironpdf.com/java/how-to/java-pdf-to-image-tutorial/) o necesita manejar [documentos fusionados](https://ironpdf.com/java/how-to/java-merge-pdf-tutorial/), la compresión es un paso esencial antes de la distribución.

## ¿Qué es la biblioteca Java PDF de IronPDF?

IronPDF es una [biblioteca Java PDF](/java/) que crea, lee y manipula documentos PDF programáticamente. La biblioteca maneja [conversión de HTML a PDF](https://ironpdf.com/java/tutorials/html-to-pdf/), llenado de formularios, incrustación de imágenes y compresión de archivos sin requerir un visor de PDF o motor de renderizado externo. Soporta varios entornos de despliegue incluyendo [AWS Lambda](https://ironpdf.com/java/get-started/aws/), [Azure Functions](https://ironpdf.com/java/get-started/azure/) y [Google Cloud](https://ironpdf.com/java/get-started/google-cloud/).

La compresión en IronPDF funciona mediante el remuestreo de imágenes incrustadas a un nivel de calidad JPEG inferior y, opcionalmente, reduciendo su resolución para que coincida con el tamaño de visualización en el PDF. El texto, gráficos vectoriales y la estructura del documento no se ven afectados. Esto hace que IronPDF sea una opción práctica para documentos grandes que necesitan transferirse rápidamente por correo electrónico o almacenarse en sistemas basados en la nube.

La biblioteca también funciona bien junto con otras operaciones de documentos: puede comprimir un PDF que ya tenga [marcas de agua](https://ironpdf.com/java/how-to/custom-watermark/), [capas de fondo](https://ironpdf.com/java/how-to/background-foreground/) y [marcadores](https://ironpdf.com/java/how-to/bookmarks/), y todas esas características se conservan después de la compresión.

Por favor notaLa compresión es más efectiva en PDFs que contienen imágenes incrustadas en formato JPEG o PNG. Los documentos compuestos principalmente por texto y gráficos vectoriales verán una reducción de tamaño mínima.
## ¿Cómo configuro IronPDF en un proyecto Maven de Java? Antes de comprimir PDFs, agregue IronPDF a la configuración Maven de su proyecto. Para obtener las instrucciones completas de configuración, consulte la [Introducción general](https://ironpdf.com/java/docs/). - Para instalar IronPDF en un [proyecto Maven](/java/docs/), agrega el repositorio y la dependencia `IronPDF` de Maven a tu archivo `pom.xml`. - Agrega la dependencia a la sección `<dependencies>`: ```xml //:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/maven-dependency.xml <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>your_version_here</version> </dependency>
  • Guarda tu pom.xml y ejecuta mvn install para descargar la dependencia IronPDF.

Una vez que se resuelva la dependencia, puedes importar y usar clases IronPDF en tu proyecto. La última versión publicada del artefacto Java IronPDF está disponible en Maven Central. Para el despliegue en producción, configure su clave de licencia antes de ejecutar.

¿Cómo comprimo un archivo PDF en Java?

IronPDF comprime archivos PDF apuntando a las imágenes incrustadas dentro del documento. El método compressImages() acepta un número de calidad del 0 al 100, donde los valores más bajos producen archivos más pequeños a costa de nitidez de imagen. Un segundo parámetro opcional indica a la biblioteca que reduzca la resolución de las imágenes según el tamaño de visualización en la página PDF.

//:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/compress-pdf-images.java
importar IronPDF.*;
import java.io.IOException;
importar java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws IOException {
        // Load the source PDF from disk
        String src = "C:\\Image based PDF.pdf";
        PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));

        // First pass: compress images to 60% quality
        // Lower values produce smaller files with more visible quality loss
        pdf.compressImages(60);
        pdf.saveAs(Paths.get("assets/document_compressed.pdf"));

        // Second pass (optional): compress to 90% quality with resolution scaling
        // The second parameter scales image resolution down to match display size,
        // which can reduce file size further but may cause distortion in some PDFs
        pdf.compressImages(90, true);
        pdf.saveAs(Paths.get("C:\\Compressed.pdf"));
    }
}
//:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/compress-pdf-images.java
importar IronPDF.*;
import java.io.IOException;
importar java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws IOException {
        // Load the source PDF from disk
        String src = "C:\\Image based PDF.pdf";
        PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));

        // First pass: compress images to 60% quality
        // Lower values produce smaller files with more visible quality loss
        pdf.compressImages(60);
        pdf.saveAs(Paths.get("assets/document_compressed.pdf"));

        // Second pass (optional): compress to 90% quality with resolution scaling
        // The second parameter scales image resolution down to match display size,
        // which can reduce file size further but may cause distortion in some PDFs
        pdf.compressImages(90, true);
        pdf.saveAs(Paths.get("C:\\Compressed.pdf"));
    }
}
JAVA

El código carga un PDF desde el disco y aplica la compresión en dos pasadas para ilustrar diferentes estrategias. La primera llamada compressImages(60) reduce la calidad de la imagen al 60% y guarda el resultado. La segunda llamada utiliza una calidad del 90% pero habilita la escalado de resolución, que ajusta las dimensiones de píxel de cada imagen para que coincidan con su área visible en la página.

El método compressImages() tiene dos firmas:

  • compressImages(int quality) — Remuestra todas las imágenes incrustadas al nivel de calidad JPEG dado. Use un valor entre 40 y 80 para una fuerte reducción de tamaño manteniendo las imágenes reconocibles.
  • compressImages(int quality, boolean scaleImageResolutionToVisibleSize) — Añade el escalado de resolución. Cuando true, la biblioteca detecta imágenes que se renderizan a una fracción de su resolución nativa y las escala hacia abajo de forma correspondiente. Esta opción ofrece la reducción de tamaño más agresiva pero aumenta ligeramente el tiempo de procesamiento.

ConsejosAplique múltiples pasadas para ajustar la balanza entre tamaño y calidad. Comience con una configuración moderada como 70%, verifique el tamaño del archivo de salida, luego decida si una segunda pasada a menor calidad es necesaria.

Realizar una pasada de compresión al 60% en un PDF con muchas imágenes típicamente reduce el tamaño del archivo en un 50-70% dependiendo de las imágenes de origen. Un documento con contenido principalmente de texto verá mucho menores ganancias. Compare los tamaños de archivo antes y después en el directorio de salida para evaluar el resultado para sus documentos específicos.

Para documentos que necesitan otro tipo de procesamiento además de la compresión, IronPDF soporta extraer texto, extraer imágenes y dividir PDFs.

¿Cómo es el PDF original?

Explorador de archivos mostrando el archivo PDF original de 458 KB antes de comprimir usando IronPDF

¿Cuáles son los resultados tras la compresión?

Explorador de archivos mostrando el archivo PDF comprimido con un tamaño de archivo notablemente reducido después de que IronPDF comprime imágenes al 60% de calidad

¿Cómo elijo la configuración de calidad de compresión correcta?

Elegir el nivel de calidad correcto requiere un equilibrio entre el tamaño del archivo y la fidelidad visual. El ajuste adecuado depende del propósito del documento y la sensibilidad de sus imágenes incrustadas.

La siguiente tabla ofrece pautas prácticas para casos de uso comunes:

Guía de nivel de calidad de compresión de imágenes de IronPDF
Nivel de calidad Reducción de tamaño aproximada Best para
80–100% 10–30% Documentos de calidad de impresión, registros médicos, presentaciones legales
60–79% 40–60% Informes internos, descargas web de PDFs, adjuntos de correo electrónico
40–59% 60–75% Previsualizaciones de miniaturas, documentos de borrador, copias de archivo
Por debajo del 40% 75%+ Salida muy degradada; generalmente no recomendado para distribución

El escalado de resolución funciona mejor cuando el PDF de origen se ensambló a partir de fotografías de alta resolución o páginas escaneadas, pero el documento se destina solo a la visualización en pantalla. En esos casos, escalar la resolución puede reducir el tamaño del archivo sin un cambio perceptible en la calidad en niveles de zoom normales. Para obtener más contexto sobre los estándares de codificación de imágenes PDF, consulte la documentación del formato JPEG 2000 en la Biblioteca del Congreso y la discusión sobre la compresión de imágenes PDF en Stack Overflow.

ImportanteEvite comprimir PDFs que contengan firmas digitales. Modificar las imágenes incrustadas cambia el contenido binario del documento, lo que invalidará las firmas existentes.

¿Cómo reduzco aún más el tamaño del archivo PDF más allá de la compresión de imágenes?

La compresión de imágenes maneja el mayor contribuyente al tamaño de archivo en la mayoría de los PDFs, pero técnicas adicionales pueden reducir el tamaño aún más cuando se combinan. IronPDF admite varios enfoques que complementan compressImages():

Elimine páginas innecesarias. Eliminar páginas antes de comprimir reduce tanto los datos de imagen como los gastos generales de estructura de página. Utilice los ejemplos de eliminación de páginas para quitar páginas en blanco o redundantes primero.

Elimine anotaciones. Los objetos de anotación agregan datos binarios al archivo. Eliminarlos con la API de gestión de anotaciones antes de guardar puede reducir el tamaño del archivo notablemente en documentos con muchas anotaciones.

Procesa documentos en masa. Para flujos de trabajo que comprimen muchos PDFs, itera sobre una lista de rutas de archivos y aplica compressImages() en un bucle. IronPDF maneja cada documento de manera independiente, por lo que el procesamiento por lotes no requiere una configuración especial — consulta el ejemplo de compresión de pdf como punto de partida.

Para una discusión más amplia de estrategias de optimización de PDF, la especificación del formato de archivo PDF en la Biblioteca del Congreso documenta los elementos estructurales que contribuyen al tamaño del archivo y cómo se pueden reducir.

¿Cuáles son los siguientes pasos para comprimir PDFs en Java?

El método IronPDF's compressImages() proporciona una manera práctica de reducir el tamaño del archivo PDF en aplicaciones Java. Un solo método llamado con un número entero de calidad cubre la mayoría de los casos de uso, y el parámetro opcional de escalado de resolución maneja archivos de origen pesados en imágenes que necesitan la reducción más agresiva.

Comience con una prueba gratuita para probar la compresión en sus propios documentos:

¿Listo para ver qué más puede hacer IronPDF? Consulte la biblioteca completa de tutoriales PDF Java aquí: Guías de cómo hacer de IronPDF Java

Preguntas Frecuentes

¿Qué es la compresión de PDF y por qué es importante?

La compresión de PDF reduce el tamaño del archivo al remuestrear las imágenes incrustadas y, opcionalmente, ajustar su resolución de visualización. Los archivos más pequeños son más fáciles de enviar por correo electrónico, cargar y almacenar. El método compressImages() de IronPDF maneja esto en aplicaciones Java con una sola llamada de método.

¿Cómo puedo comprimir rápidamente un archivo PDF en Java?

Carga tu PDF con PdfDocument.fromFile(), llama a compressImages(60) para reducir la calidad de imagen al 60% y luego guarda el resultado con saveAs(). Esas tres líneas manejan el flujo de trabajo principal de compresión.

¿Qué nivel de calidad de compresión debo utilizar para mis PDF?

Un valor del 60-70% proporciona un buen equilibrio entre el tamaño del archivo y la calidad visual para la mayoría de los documentos. Usa 80-100% para calidad de impresión o registros legales, y 40-59% solo para borradores o vistas previas en miniatura donde la fidelidad de la imagen no es crítica.

¿Puedo comprimir PDF que contengan varios documentos fusionados?

Sí, IronPDF comprime cualquier PDF independientemente de cómo se haya formado. El método compressImages() apunta a todas las imágenes incrustadas en el documento, ya sea que provengan de una sola fuente o de múltiples archivos fusionados.

¿Afecta la compresión a otras características de los PDF, como las marcas de agua o los formularios?

No — la compresión de IronPDF solo apunta a imágenes rasterizadas incrustadas. El texto, gráficos vectoriales, marcas de agua, fondos, marcadores y campos de formulario se preservan en el documento de salida.

¿Qué entornos de implementación admiten la compresión de PDF con IronPDF?

IronPDF admite la compresión de PDF en AWS Lambda, Azure Functions, Google Cloud y implementaciones estándar de servidores. No se requiere un motor de renderizado externo ni un visor de PDF en ninguno de estos entornos.

¿Qué hace el parámetro scaleImageResolutionToVisibleSize?

Cuando se establece en true, IronPDF detecta imágenes renderizadas en una fracción de su resolución nativa y reduce las dimensiones del píxel para que coincidan con el tamaño de visualización visible. Esto reduce aún más el tamaño del archivo que solo la reducción de calidad, pero aumenta ligeramente el tiempo de procesamiento.

¿Comprimir un PDF invalidará sus firmas digitales?

Sí. Modificar las imágenes incrustadas cambia el contenido binario del documento, lo que rompe las firmas digitales existentes. Comprime los archivos PDF antes de aplicar firmas, no después.

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.5 just released
Still Scrolling Icon

¿Aún desplazándote?

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