O código para compactar PDF em Python

Biblioteca Python de alto desempenho para otimizar o conteúdo e o tamanho de PDF, mantendo a qualidade original e os dados de linha de base

Esta é uma solução profissional para compactar PDF usando Python. Use nossa API de otimização PDF para desenvolver software independente de plataforma de alto nível em Python. Experimente online gratuitamente!

Ver trecho de código

Compactar PDF em Python

Essa Python biblioteca oferece aos desenvolvedores a capacidade de compactar de forma rápida e eficiente PDF documentos de forma programática. Obtenha facilmente saídas PDF otimizadas para impressão, arquivamento ou compartilhamento pela rede. É uma solução independente de processamento de PDF documentos para Python que não requer a instalação de nenhum software de terceiros.

Reduza o tamanho de um PDF usando Python

Nosso produto fornece aos desenvolvedores Python uma API integrada para reduzir o tamanho dos PDF arquivos. A compactação de PDF é realizada em duas passagens. Durante a primeira passagem, todas as páginas do PDF são convertidas para o formato de imagem. Nosso produto usa algoritmos de compactação de imagem adaptáveis e altamente eficientes que permitem aos desenvolvedores obter uma saída compacta em PDF, mantendo a qualidade ideal do documento. Na próxima passagem, a sequência de imagens é compactada e combinada para formar o conteúdo de um novo PDF arquivo otimizado.

Compressão de PDF facilitada com 'Aspose.Words for Python via .NET'. O exemplo a seguir demonstra como reduzir o tamanho de um PDF arquivo em Python:

Exemplo de código em Python para compactar PDF arquivos
Carregue um arquivo que você deseja otimizar/compactar
Código de execução
Selecione o formato de destino na lista
50%
pip install aspose-words
Cópia de
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)):
    # Defina o tamanho máximo da página para evitar o dimensionamento da imagem da página atual.
    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: # Cabe ao desenvolvedor escolher a biblioteca para compressão de imagem. image = Image.open(shape.image_data.to_stream()) # ... # Comprima a imagem e defina-a de volta à 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: # Cabe ao desenvolvedor escolher a biblioteca para compressão de imagem. image = Image.open(shape.image_data.to_stream()) # ... # Comprima a imagem e defina-a de volta à 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: # Cabe ao desenvolvedor escolher a biblioteca para compressão de imagem. image = Image.open(shape.image_data.to_stream()) # ... # Comprima a imagem e defina-a de volta à 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)): # Defina o tamanho máximo da página para evitar o dimensionamento da imagem da página atual. 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;
Código de execução

Como compactar PDF

  1. Instale Aspose.Words for Python via .NET.
  2. Adicione uma referência de biblioteca (importe a biblioteca) ao seu projeto Python.
  3. Abra o arquivo de origem PDF em Python.
  4. Compacte PDF sem perder qualidade.
  5. Chame o método document_cleanup(). O código resultante pode variar dependendo do formato do arquivo de saída.
  6. Obtenha o resultado compactado como um PDF arquivo.

Python biblioteca para otimizar e compactar PDF arquivos

Hospedamos nossos pacotes Python em repositórios PyPi. Siga as instruções passo a passo sobre como instalar o "Aspose.Words for Python via .NET" em seu ambiente de desenvolvedor.

Requisitos de sistema

Este pacote é compatível com Python ≥3.5 e <3.12. Se você desenvolve software para Linux, consulte os requisitos adicionais para gcc e libpython na documentação do produto.

Outras otimizações de formato de arquivo compatíveis

Você pode otimizar arquivos em muitos outros formatos de arquivo:

5%

Inscreva-se para receber atualizações do produto Aspose

Receba boletins e ofertas mensais diretamente em sua caixa de correio.

© Aspose Pty Ltd 2001-2024. Todos os direitos reservados.