De code om PDF te comprimeren in Python

Hoogwaardige Python bibliotheek om PDF inhoud en grootte te optimaliseren met behoud van de oorspronkelijke kwaliteit en basislijngegevens

Dit is een professionele oplossing om PDF te comprimeren met Python. Gebruik onze PDF optimalisatie API om platformonafhankelijke software op hoog niveau in Python te ontwikkelen. Probeer het gratis online!

Codefragment bekijken

Comprimeer PDF in Python

Deze Python bibliotheek biedt ontwikkelaars de mogelijkheid om PDF documenten snel en efficiënt programmatisch te comprimeren. Maak eenvoudig geoptimaliseerde PDF uitvoer die klaar is om af te drukken, te archiveren of te delen via het netwerk. Het is een zelfstandige oplossing voor het verwerken van PDF documenten voor Python waarvoor geen software van derden hoeft te worden geïnstalleerd.

Verklein de grootte van een PDF met Python

Ons product biedt Python ontwikkelaars een geïntegreerde API om de grootte van PDF bestanden te verkleinen. PDF compressie wordt in twee stappen uitgevoerd. Tijdens de eerste doorgang worden alle pagina's van de PDF geconverteerd naar afbeeldingsformaat. Ons product maakt gebruik van adaptieve en zeer efficiënte algoritmen voor beeldcompressie waarmee ontwikkelaars compacte PDF uitvoer kunnen krijgen met behoud van de optimale kwaliteit van het document. Bij de volgende doorgang wordt de reeks afbeeldingen gecomprimeerd en gecombineerd om de inhoud van een nieuw, geoptimaliseerd PDF bestand te vormen.

PDF compressie gemakkelijk gemaakt met 'Aspose.Words for Python via .NET'. Het volgende voorbeeld laat zien hoe u de grootte van een PDF bestand in Python kunt verkleinen:

Codevoorbeeld in Python om PDF bestanden te comprimeren
Upload een bestand dat u wilt optimaliseren/comprimeren
Voer code uit
Selecteer het doelformaat uit de lijst
50%
pip install aspose-words
Kopiëren
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)):
    # Stel de maximale paginagrootte in om te voorkomen dat de huidige pagina-afbeelding wordt geschaald.
    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: # Het is aan de ontwikkelaar om de bibliotheek voor beeldcompressie te kiezen. image = Image.open(shape.image_data.to_stream()) # ... # Comprimeer de afbeelding en zet deze terug in de vorm. 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: # Het is aan de ontwikkelaar om de bibliotheek voor beeldcompressie te kiezen. image = Image.open(shape.image_data.to_stream()) # ... # Comprimeer de afbeelding en zet deze terug in de vorm. 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: # Het is aan de ontwikkelaar om de bibliotheek voor beeldcompressie te kiezen. image = Image.open(shape.image_data.to_stream()) # ... # Comprimeer de afbeelding en zet deze terug in de vorm. 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)): # Stel de maximale paginagrootte in om te voorkomen dat de huidige pagina-afbeelding wordt geschaald. 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;
Voer code uit

Hoe PDF in Python te comprimeren

  1. Installeer Aspose.Words for Python via .NET.
  2. Voeg een bibliotheekreferentie toe (importeer de bibliotheek) aan uw Python project.
  3. Open het bronbestand PDF in Python.
  4. Comprimeer PDF zonder kwaliteitsverlies.
  5. Roep de methode document_cleanup() aan. De resulterende code kan variëren, afhankelijk van het uitvoerbestandsformaat.
  6. Haal het gecomprimeerde resultaat op als een PDF bestand.

Python bibliotheek om PDF bestanden te optimaliseren en te comprimeren

We hosten onze Python pakketten in PyPi- repositories. Volg de stapsgewijze instructies voor het installeren van "Aspose.Words for Python via .NET" in uw ontwikkelomgeving.

systeem vereisten

Dit pakket is compatibel met Python ≥3.5 en <3.12. Als u software voor Linux ontwikkelt, bekijk dan de aanvullende vereisten voor gcc en libpython in Productdocumentatie.

Andere ondersteunde optimalisaties van bestandsindelingen

U kunt bestanden in vele andere bestandsindelingen optimaliseren:

5%

Abonneer u op productupdates van Aspose

Ontvang maandelijkse nieuwsbrieven en aanbiedingen direct in je mailbox.

© Aspose Pty Ltd 2001-2024. Alle rechten voorbehouden.