Cómo comprimir PDF
La compresión de PDF es el proceso de reducir el tamaño de un archivo PDF.(Formato de documento portátil) documento. Esta compresión se aplica para que el archivo PDF sea más manejable a la hora de almacenarlo, compartirlo y transmitirlo, especialmente cuando se trata de documentos grandes o con muchas imágenes.
Las imágenes suelen ocupar una parte importante del tamaño de los archivos PDF porque, por lo general, son de mayor tamaño que el texto y otros contenidos. IronPdf ofrece funciones de compresión de PDF que comprimen las imágenes incrustadas y reducen la estructura de árbol que suele acompañar a los datos de tablas en los PDF.
Comience con IronPDF
Comience a usar IronPDF en su proyecto hoy con una prueba gratuita.
Cómo comprimir PDF
- Descargue la biblioteca de C# para la compresión de PDF desde NuGet
- Importa un PDF existente o crea uno nuevo
- Utiliza el
ComprimirImágenes
método para reducir el tamaño de las imágenes en el PDF - Utilice el
CompressStructTree
para minimizar la estructura de árbol del PDF - Exportar el documento PDF comprimido
Ejemplo de compresión de imágenes
Tal y como funciona el redimensionamiento de JPEG, la calidad del 100% casi no tiene pérdida, y el 1% es una imagen de salida de muy baja calidad.
- 90% o más: se considera de alta calidad
- 80%-90%: se considera de calidad media
70%-80%: se considera de baja calidad
Siéntase libre de explorar varios valores para entender la compensación entre calidad y tamaño de archivo. Es importante tener en cuenta que la reducción de calidad variará en función del tipo de imagen de entrada, y que algunas imágenes pueden experimentar una reducción de claridad más notable que otras.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-image.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Compress images in the PDF
pdf.CompressImages(40);
pdf.SaveAs("compressed.pdf");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
' Compress images in the PDF
pdf.CompressImages(40)
pdf.SaveAs("compressed.pdf")
Comprimir imágenes - Comparación de tamaños
Reducido en 39,24%!!
Opciones de compresión de imágenes
Profundicemos en los detalles de nuestras opciones de compresión de imágenes:
ReducirImagen: Esta función reduce la resolución de la imagen en función de su tamaño visible en el documento PDF. Al hacerlo, reduce significativamente el tamaño y la calidad de las imágenes, optimizándolas para un almacenamiento y una transmisión eficaces.
Submuestreo de alta calidad: Este ajuste determina el método de submuestreo de croma utilizado para la compresión de imágenes. Al seleccionar "Verdadero" se utiliza el submuestreo de croma 4:4:4, lo que garantiza una imagen de mayor calidad con todos los detalles de color. Por el contrario, si se elige "Falso" se emplea el submuestreo de croma 4:1:1, que sacrifica algunos detalles de color para reducir aún más el tamaño de la imagen.
El submuestreo cromático es una técnica crucial en la compresión digital de imágenes, cuyo objetivo es reducir los datos necesarios para representar una imagen preservando su calidad visual. Lo consigue reduciendo selectivamente la resolución de la información de color(crominancia) manteniendo toda la resolución de la información de brillo(luminancia).
En el submuestreo de croma "4:4:4", cada píxel conserva su propia información de color, por lo que no se pierden detalles de color. Por el contrario, en el submuestreo de croma "4:1:1", la información de color se submuestrea a una resolución inferior, lo que reduce el detalle del color pero también el tamaño del archivo.
Ejemplo de estructura de árbol comprimida
Esta función se utiliza para reducir el tamaño del PDF minimizando la estructura de árbol creada por Chrome Engine. Funciona bien con PDF generados por Chrome Engine a partir de HTML que contengan datos de tablas extensas. Algunos motores de renderizado de PDF pueden generar PDF sin esta estructura de árbol, lo que hace que la función no sea eficaz.
La desventaja de eliminar toda esta estructura de árbol es que para algunos PDF, resaltar texto o extraer puede no funcionar tan eficazmente.
Utilicemos el PDF con datos de tabla para probar el método CompressStructTree.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-tree-structure.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("table.pdf");
// Compress tree structure in PDF
pdf.CompressStructTree();
pdf.SaveAs("compressedTable.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("table.pdf")
' Compress tree structure in PDF
pdf.CompressStructTree()
pdf.SaveAs("compressedTable.pdf")
Comprimir estructura de árbol - Comparación de tamaños
Reducido en un 67,90%!! Este porcentaje aumenta con los PDF de tablas más grandes.
Métodos avanzados de compresión
IronPdf también tiene un método Compress
que puede utilizarse para configurar tanto la compresión de imágenes como la compresión de estructuras de árbol, haciendo que comprimir documentos sea más fácil que nunca.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-compress.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
CompressionOptions compressionOptions = new CompressionOptions();
// Configure image compression
compressionOptions.CompressImages = true;
compressionOptions.JpegQuality = 80;
compressionOptions.HighQualityImageSubsampling = true;
compressionOptions.ShrinkImages = true;
// Configure tree structure compression
compressionOptions.RemoveStructureTree = true;
pdf.Compress(compressionOptions);
pdf.SaveAs("compressed.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
Private compressionOptions As New CompressionOptions()
' Configure image compression
compressionOptions.CompressImages = True
compressionOptions.JpegQuality = 80
compressionOptions.HighQualityImageSubsampling = True
compressionOptions.ShrinkImages = True
' Configure tree structure compression
compressionOptions.RemoveStructureTree = True
pdf.Compress(compressionOptions)
pdf.SaveAs("compressed.pdf")
Explore las opciones disponibles
- ComprimirImágenes: Controla si las imágenes existentes en el documento se comprimen utilizando la codificación JPG. Por defecto es falso.
- Eliminar árbol de estructura: Eliminar el árbol de estructura puede reducir significativamente el espacio en disco utilizado por el documento. Sin embargo, puede afectar negativamente a la selección de texto, sobre todo en documentos complicados.
- CalidadJpeg: Especifica la calidad JPEG(de 1 a 100) que se utilizará durante la compresión de la imagen. Por defecto es 42.
- Submuestreo de imágenes de alta calidad: Esta propiedad determina si se utiliza el submuestreo de croma 444 para obtener una mayor calidad de imagen(verdadero) o 411 submuestreo de croma para reducir aún más el tamaño de la imagen(falso).
- ReducirImágenes: Reducir la resolución de la imagen puede reducir drásticamente el tamaño y la calidad de las imágenes del documento.