Compresión de PDF: ejemplos de código

Uso de una API potente, segura y de alta velocidad para comprimir documentos PDF en varios lenguajes de programación

Cómo comprimir archivos PDF con la biblioteca Aspose.PDF

Aspose.PDF admite la compresión de archivos PDF. La forma en que se puede reducir la mayoría del tamaño de los archivos PDF es reduciendo el tamaño de las imágenes incrustadas en el documento PDF. Además, podemos linealizar el documento para abrir la primera página lo más rápido posible:

La invocación de este método en realidad no guarda el documento. Por el contrario, el documento solo está preparado para tener una estructura optimizada, luego llame a «Guardar» para obtener un documento optimizado.

Pasos para reducir el tamaño del archivo PDF


Necesita biblioteca Aspose.PDF para probar el código en su entorno.

  1. Abra un documento PDF mediante el objeto Document.
  2. Llame al método de optimización del objeto del documento, que elimina los objetos innecesarios y comprime las imágenes del archivo PDF
  3. Guarde el documento optimizado en la nueva ruta mediante el método Save ().

Ejemplo de C#: comprimir un documento PDF

Reducir el tamaño del documento PDF con C#

Document pdfDocument = new Document(dataDir + "input.pdf");
pdfDocument.OptimizeResources();
pdfDocument.Save(dataDir + "output.pdf");

Cómo optimizar un documento PDF para la Web con Aspose.PDF para Java

La linealización es un proceso que consiste en crear un archivo PDF adecuado para la navegación en línea mediante un navegador web. Un archivo PDF linealizado está estructurado de manera que permite mostrar la primera página del archivo PDF en el navegador web del usuario antes de que se descargue todo el archivo del servidor web. Esto agiliza la visualización en la web y el usuario no necesita esperar a que se cargue todo el PDF para empezar a ver el documento. Usando el método Optimize podemos:

  • abra la primera página lo más rápido posible;
  • mostrar la página siguiente o seguir mediante un enlace a la página siguiente lo más rápido posible
  • mostrar la página de forma incremental a medida que llega cuando los datos de una página se entreguen a través de un canal lento (muestre primero los datos más útiles);
  • permiten que la interacción del usuario, como seguir un enlace, se realice incluso antes de recibir y mostrar toda la página.

Pasos para reducir el tamaño del archivo PDF a través de Java

  1. Abra un documento PDF mediante el objeto Document.
  2. Utilice el método Optimize del objeto del documento, que elimina los objetos innecesarios y comprime las imágenes del archivo PDF
  3. Guarde el documento optimizado en la nueva ruta mediante el método Save ().

Ejemplo de Java: comprimir un documento PDF para la Web

Reducir el tamaño del documento PDF con Java

Document pdfDocument = new Document(dataDir + "input.pdf");
// Optimize for web
pdfDocument.optimize();
pdfDocument.save(dataDir + "output.pdf");

Cómo eliminar o aplanar anotaciones con Aspose.PDF para C++

Añadir anotaciones a tu documento PDF aumenta naturalmente su tamaño. Las anotaciones se pueden eliminar si no son necesarias. Se pueden aplanar si es necesario, pero no requieren modificaciones adicionales. Ambos métodos reducirán el tamaño del archivo. Usando el método Flatten podemos:

  • abra el documento lo más rápido posible;
  • mostrar página como entidad única

Pasos para reducir el tamaño del archivo PDF a través de C++

  1. Cree un objeto de documento denominado documento que abra el archivo PDF de entrada mediante la función MakeObject.
  2. Recorra cada objeto de página del objeto de documento mediante un bucle para cada uno y un iterador basado en rangos denominado page.
  3. Recorra cada objeto de anotación del objeto de página mediante un bucle para cada uno y un iterador basado en rangos denominado anotación.
  4. Ejecute el método Flatten en el objeto de anotación para fusionarlo con el contenido de la página y eliminar cualquier interactividad.
  5. Llame al método Save del objeto del documento para guardar el archivo PDF actualizado.

Ejemplo para C++: aplanar un documento PDF

Elimine las anotaciones innecesarias para reducir el tamaño de los documentos PDF con C++

// String for path name
String _dataDir("C:\\Samples\\");

// String for input file name
String infilename("OptimizeDocument.pdf");
// String for output file name
String outfilename("OptimizeDocument_out.pdf");

// Open document
auto document = MakeObject<Document>(_dataDir + infilename);

// Flatten annotations
for(auto page : document->get_Pages())
{
    for(auto annotation : page->get_Annotations())
    {
    annotation->Flatten();
    }
}
// Save updated document
document->Save(_dataDir + outfilename);

Acerca de la API Aspose.PDF

Una biblioteca de procesamiento de PDF para crear aplicaciones multiplataforma con la capacidad de generar, modificar, convertir, renderizar, proteger e imprimir documentos sin usar Adobe Acrobat. Admite la conversión de varios formatos de archivo a PDF, incluido HTML, y la conversión de documentos PDF a varios formatos de salida. Los desarrolladores pueden renderizar fácilmente todo el contenido HTML en un PDF de una sola página, así como convertir archivos HTML con etiquetas gráficas SVG en archivos PDF etiquetados. La API de.NET PDF ofrece compresión, creación de tablas, funciones de gráficos e imágenes, hipervínculos, tareas de sellos y marcas de agua, controles de seguridad ampliados y manejo personalizado de fuentes.