Codul de comprimat PDF în Python

Bibliotecă Python de înaltă performanță pentru a optimiza conținutul și dimensiunea PDF, păstrând calitatea originală și datele de referință

Aceasta este o soluție profesională pentru a comprima PDF folosind Python. Utilizați API ul nostru de optimizare PDF pentru a dezvolta software de nivel înalt, independent de platformă, în Python. Încercați online gratuit!

Vizualizați fragmentul de cod

Comprimați PDF în Python

Această Python bibliotecă oferă dezvoltatorilor posibilitatea de a comprima rapid și eficient PDF documentele în mod programatic. Pregătiți cu ușurință ieșiri PDF optimizate pentru imprimare, arhivare sau partajare în rețea. Este o soluție autonomă de procesare a PDF documentelor pentru Python, care nu necesită instalarea unui software terță parte.

Reduceți dimensiunea unui PDF utilizând Python

Produsul nostru oferă dezvoltatorilor Python un API integrat pentru a reduce dimensiunea PDF fișierelor. Comprimarea PDF se realizează în două treceri. În timpul primei treceri, toate paginile PDF ului sunt convertite în format imagine. Produsul nostru folosește algoritmi de comprimare a imaginii adaptabili și extrem de eficienți care permit dezvoltatorilor să obțină rezultate compacte PDF, menținând în același timp calitatea optimă a documentului. La următoarea trecere, secvența de imagini este comprimată și combinată pentru a forma conținutul unui PDF fișier nou, optimizat.

Comprimarea PDF este ușoară cu 'Aspose.Words for Python via .NET'. Următorul exemplu demonstrează cum se reduce dimensiunea unui PDF fișier în Python:

Exemplu de cod în Python pentru a comprima PDF fișiere
Încărcați un fișier pe care doriți să îl optimizați/comprimați
Rulați codul
Selectați formatul țintă din listă
50%
pip install aspose-words
Copie
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)):
    # Setați dimensiunea maximă a paginii pentru a evita scalarea imaginii paginii curente.
    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: # Depinde de dezvoltator să aleagă biblioteca pentru compresia imaginii. image = Image.open(shape.image_data.to_stream()) # ... # Comprimați imaginea și setați-o înapoi la formă. 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: # Depinde de dezvoltator să aleagă biblioteca pentru compresia imaginii. image = Image.open(shape.image_data.to_stream()) # ... # Comprimați imaginea și setați-o înapoi la formă. 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: # Depinde de dezvoltator să aleagă biblioteca pentru compresia imaginii. image = Image.open(shape.image_data.to_stream()) # ... # Comprimați imaginea și setați-o înapoi la formă. 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") # Actualizați setările paginii pentru a decupa documentul pentru a se potrivi cu dimensiunea imaginii. 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)): # Setați dimensiunea maximă a paginii pentru a evita scalarea imaginii paginii curente. 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;
Rulați codul

Cum să comprimați PDF

  1. Instalați Aspose.Words for Python via .NET.
  2. Adăugați o referință la bibliotecă (importați biblioteca) în proiectul dvs. Python.
  3. Deschideți fișierul sursă PDF în Python.
  4. Comprimați PDF fără a pierde calitatea.
  5. Apelați metoda document_cleanup(). Codul rezultat poate varia în funcție de formatul fișierului de ieșire.
  6. Obțineți rezultatul comprimat ca PDF fișier.

Python bibliotecă pentru a optimiza și comprima PDF fișiere

Găzduim pachetele noastre Python în depozitele PyPi. Vă rugăm să urmați instrucțiunile pas cu pas despre cum să instalați "Aspose.Words for Python via .NET" în mediul dumneavoastră de dezvoltator.

Cerințe de sistem

Acest pachet este compatibil cu Python ≥3.5 și <3.12. Dacă dezvoltați software pentru Linux, vă rugăm să aruncați o privire la cerințele suplimentare pentru gcc și libpython în documentația produsului.

Alte optimizări de format de fișier acceptate

Puteți optimiza fișiere în multe alte formate de fișiere:

5%

Abonați-vă la Actualizări de produse Aspose

Primiți buletine informative lunare și oferte livrate direct în căsuța dvs. poștală.

© Aspose Pty Ltd 2001-2024. Toate drepturile rezervate.