Il codice per comprimere PDF in Python

Libreria Python ad alte prestazioni per ottimizzare PDF contenuto e dimensioni mantenendo la qualità originale e i dati di base

Questa è una soluzione professionale per comprimere PDF utilizzando Python. Utilizza la nostra PDF API di ottimizzazione per sviluppare software di alto livello indipendente dalla piattaforma in Python. Provalo online gratuitamente!

Visualizza lo snippet di codice

Comprimi PDF in Python

Questa libreria Python offre agli sviluppatori la possibilità di comprimere i PDF documenti in modo rapido ed efficiente in modo programmatico. Ottieni facilmente output PDF ottimizzato pronto per la stampa, l'archiviazione o la condivisione in rete. È una soluzione di elaborazione di PDF documenti standalone per Python che non richiede l'installazione di software di terze parti.

Riduci le dimensioni di un PDF utilizzando Python

Il nostro prodotto fornisce agli sviluppatori Python un'API integrata per ridurre le dimensioni dei PDF file. La compressione PDF viene eseguita in due passaggi. Durante il primo passaggio, tutte le pagine del PDF vengono convertite in formato immagine. Il nostro prodotto utilizza algoritmi di compressione delle immagini adattivi e altamente efficienti che consentono agli sviluppatori di ottenere un output PDF compatto mantenendo la qualità ottimale del documento. Al passaggio successivo, la sequenza di immagini viene compressa e combinata per formare il contenuto di un nuovo PDF file ottimizzato.

Compressione PDF semplificata con 'Aspose.Words for Python via .NET'. L'esempio seguente mostra come ridurre le dimensioni di un PDF file in Python:

Esempio di codice in Python per comprimere PDF file
Carica un file che desideri ottimizzare/comprimere
Esegui codice
Seleziona il formato di destinazione dall'elenco
50%
pip install aspose-words
Copia
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)):
    # Imposta la dimensione massima della pagina per evitare il ridimensionamento dell'immagine della pagina corrente.
    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: # Spetta allo sviluppatore scegliere la libreria per la compressione delle immagini. image = Image.open(shape.image_data.to_stream()) # ... # Comprimi l'immagine e riportala alla 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: # Spetta allo sviluppatore scegliere la libreria per la compressione delle immagini. image = Image.open(shape.image_data.to_stream()) # ... # Comprimi l'immagine e riportala alla 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: # Spetta allo sviluppatore scegliere la libreria per la compressione delle immagini. image = Image.open(shape.image_data.to_stream()) # ... # Comprimi l'immagine e riportala alla 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") # Aggiorna le impostazioni della pagina per ritagliare il documento per adattarlo alle dimensioni dell'immagine. pageSetup = builder.page_setup pageSetup.page_width = shape.width pageSetup.page_height = shape.height pageSetup.top_margin = 0 pageSetup.left_margin = 0 pageSetup.bottom_margin = 0 pageSetup.right_margin = 0 save_options = aw.saving.ImageSaveOptions(aw.SaveFormat.PDF) doc.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)): # Imposta la dimensione massima della pagina per evitare il ridimensionamento dell'immagine della pagina corrente. 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;
Esegui codice

Come comprimere PDF Python

  1. Installa Aspose.Words for Python via .NET.
  2. Aggiungi un riferimento alla libreria (importa la libreria) al tuo progetto Python.
  3. Apri il file di origine PDF in Python.
  4. Comprimi PDF senza perdere qualità.
  5. Chiama il metodo document_cleanup(). Il codice risultante può variare a seconda del formato del file di output.
  6. Ottieni il risultato compresso come PDF file.

Python libreria per ottimizzare e comprimere PDF file

Ospitiamo i nostri pacchetti Python nei repository PyPi. Segui le istruzioni passo passo su come installare "Aspose.Words for Python via .NET" nel tuo ambiente di sviluppo.

Requisiti di sistema

Questo pacchetto è compatibile con Python ≥3.5 e <3.12. Se sviluppi software per Linux, dai un'occhiata ai requisiti aggiuntivi per gcc e libpython nella documentazione del prodotto.

Altre ottimizzazioni del formato file supportate

Puoi ottimizzare i file in molti altri formati di file:

5%

Iscriviti agli aggiornamenti del prodotto Aspose

Ricevi newsletter mensili e offerte direttamente nella tua casella di posta.

© Aspose Pty Ltd 2001-2024. Tutti i diritti riservati.