El código para comprimir PDF en Python

Biblioteca de Python de alto rendimiento para optimizar el contenido y el tamaño de PDF conservando la calidad original y los datos de referencia

Esta es una solución profesional para comprimir PDF usando Python. Utilice nuestra API de optimización PDF para desarrollar software independiente de plataforma de alto nivel en Python. ¡Pruébelo online gratis!

Ver fragmento de código

Comprimir PDF en Python

Esta biblioteca de Python brinda a los desarrolladores la capacidad de comprimir PDF documentos de manera rápida y eficiente mediante programación. Obtenga fácilmente una salida PDF optimizada lista para imprimir, archivar o compartir a través de la red. Es una solución independiente de procesamiento de PDF documentos para Python que no requiere la instalación de ningún software de terceros.

Reducir el tamaño de un PDF usando Python

Nuestro producto proporciona a los desarrolladores de Python una API integrada para reducir el tamaño de los PDF archivos. La compresión de PDF se realiza en dos pasos. Durante la primera pasada, todas las paginas del PDF se convierten a formato de imagen. Nuestro producto utiliza algoritmos de compresión de imagenes adaptables y altamente eficientes que permiten a los desarrolladores obtener una salida PDF compacta manteniendo la calidad óptima del documento. En la siguiente pasada, la secuencia de imagenes se comprime y combina para formar el contenido de un nuevo PDF archivo optimizado.

Compresión de PDF fácil con 'Aspose.Words for Python via .NET'. El siguiente ejemplo demuestra cómo reducir el tamaño de un PDF archivo en Python:

Ejemplo de código en Python para comprimir PDF archivos
Sube un archivo que quieras optimizar/comprimir
Ejecutar código
Seleccione el formato de destino de la lista
50%
pip install aspose-words
Copiar
import aspose.words as aw

renderer = aw.pdf2word.fixedformats.PdfFixedRenderer()
pdf_read_options = aw.pdf2word.fixedformats.PdfFixedOptions()
pdf_read_options.image_format = aw.pdf2word.fixedformats.FixedImageFormat.JPEG
pdf_read_options.jpeg_quality = 50

with open ("Input.pdf", 'rb') as pdf_stream:
    pages_stream = renderer.save_pdf_as_images(pdf_stream, pdf_read_options);

builder = aw.DocumentBuilder()
for i in range(0, len(pages_stream)):
    # Establecer el tamaño máximo de página para evitar la escala de la imagen de la página actual.
    max_page_dimension = 1584
    page_setup = builder.page_setup
    set_page_size(page_setup, max_page_dimension, max_page_dimension)

    page_image = builder.insert_image(pages_stream[i])

    set_page_size(page_setup, page_image.width, page_image.height)
    page_setup.top_margin = 0
    page_setup.left_margin = 0
    page_setup.bottom_margin = 0
    page_setup.right_margin = 0

    if i != len(pages_stream) - 1:
        builder.insert_break(aw.BreakType.SECTION_BREAK_NEW_PAGE)

save_options = aw.saving.PdfSaveOptions()
save_options.cache_background_graphics = true

builder.document.save("Output.pdf", save_options)

def set_page_size(page_setup, width, height):

    page_setup.page_width = width;
    page_setup.page_height = height;
import aspose.words as aw doc = aw.Document("Input.pdf") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # Depende del desarrollador elegir la biblioteca para la compresión de imágenes. image = Image.open(shape.image_data.to_stream()) # ... # Comprimir imagen y volver a configurarla en la forma. shape.image_data.set_image("yourCompressedImage") save_options = aw.saving.PdfSaveOptions save_options.cache_background_graphics = true doc.save("Output.pdf", save_options) import aspose.words as aw doc = aw.Document("Input.pdf") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # Depende del desarrollador elegir la biblioteca para la compresión de imágenes. image = Image.open(shape.image_data.to_stream()) # ... # Comprimir imagen y volver a configurarla en la forma. shape.image_data.set_image("yourCompressedImage") doc.save("Output.pdf") import aspose.words as aw doc = aw.Document("Input.pdf") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # Depende del desarrollador elegir la biblioteca para la compresión de imágenes. image = Image.open(shape.image_data.to_stream()) # ... # Comprimir imagen y volver a configurarla en la forma. shape.image_data.set_image("yourCompressedImage") save_options = aw.saving.OoxmlSaveOptions save_options.compression_level = aw.saving.CompressionLevel.MAXIMUM doc.save("Output.pdf", save_options) import aspose.words as aw doc = aw.Document() builder = aw.DocumentBuilder(doc) shape = builder.InsertImage("Input.pdf") save_options = aw.saving.ImageSaveOptions(aw.SaveFormat.PDF) shape.get_shape_renderer().save("Output.pdf", save_options) import aspose.words as aw renderer = aw.pdf2word.fixedformats.PdfFixedRenderer() pdf_read_options = aw.pdf2word.fixedformats.PdfFixedOptions() pdf_read_options.image_format = aw.pdf2word.fixedformats.FixedImageFormat.JPEG pdf_read_options.jpeg_quality = 50 with open ("Input.pdf", 'rb') as pdf_stream: pages_stream = renderer.save_pdf_as_images(pdf_stream, pdf_read_options); builder = aw.DocumentBuilder() for i in range(0, len(pages_stream)): # Establecer el tamaño máximo de página para evitar la escala de la imagen de la página actual. max_page_dimension = 1584 page_setup = builder.page_setup set_page_size(page_setup, max_page_dimension, max_page_dimension) page_image = builder.insert_image(pages_stream[i]) set_page_size(page_setup, page_image.width, page_image.height) page_setup.top_margin = 0 page_setup.left_margin = 0 page_setup.bottom_margin = 0 page_setup.right_margin = 0 if i != len(pages_stream) - 1: builder.insert_break(aw.BreakType.SECTION_BREAK_NEW_PAGE) save_options = aw.saving.PdfSaveOptions() save_options.cache_background_graphics = true builder.document.save("Output.pdf", save_options) def set_page_size(page_setup, width, height): page_setup.page_width = width; page_setup.page_height = height;
Ejecutar código

Cómo comprimir PDF en Python

  1. Instale Aspose.Words for Python via .NET.
  2. Agregue una referencia de biblioteca (importe la biblioteca) a su proyecto Python.
  3. Abra el archivo fuente PDF en Python.
  4. Comprime PDF sin perder calidad.
  5. Llame al método document_cleanup(). El código resultante puede variar según el formato del archivo de salida.
  6. Obtenga el resultado comprimido como un PDF archivo.

Python biblioteca para optimizar y comprimir PDF archivos

Alojamos nuestros paquetes de Python en repositorios de PyPi. Siga las instrucciones paso a paso sobre cómo instalar "Aspose.Words for Python via .NET" en su entorno de desarrollador.

Requisitos del sistema

Este paquete es compatible con Python ≥3.5 y <3.12. Si desarrolla software para Linux, consulte los requisitos adicionales para gcc y libpython en la documentación del producto.

Otras optimizaciones de formato de archivo compatibles

Puede optimizar archivos en muchos otros formatos de archivo:

5%

Suscríbase a las actualizaciones de productos de Aspose

Reciba boletines y ofertas mensuales directamente en su buzón.

© Aspose Pty Ltd 2001-2024. Reservados todos los derechos.