Koden för att komprimera PDF i Python

Högpresterande Python bibliotek för att optimera PDF innehåll och storlek med bibehållen originalkvalitet och baslinjedata

Det här är en professionell lösning för att komprimera PDF med Python. Använd vårt PDF optimerings API för att utveckla plattformsoberoende programvara på hög nivå i Python. Prova det gratis online!

Visa kodavsnitt

Komprimera PDF i Python

Detta Python bibliotek ger utvecklare möjligheten att snabbt och effektivt komprimera PDF dokument programmatiskt. Få enkelt optimerad PDF utdata redo för utskrift, arkivering eller delning över nätverket. Det är en fristående PDF dokumentbehandlingslösning för Python som inte kräver att någon programvara från tredje part installeras.

Minska storleken på en PDF med Python

Vår produkt förser Python utvecklare med ett integrerat API för att minska storleken på PDF filer. PDF komprimering utförs i två omgångar. Under det första passet konverteras alla sidor i PDF till bildformat. Vår produkt använder adaptiva och mycket effektiva bildkomprimeringsalgoritmer som gör att utvecklare kan få kompakt PDF utdata samtidigt som dokumentets optimala kvalitet bibehålls. Vid nästa pass komprimeras bildsekvensen och kombineras för att bilda innehållet i en ny, optimerad PDF fil.

PDF komprimering på ett enkelt sätt med 'Aspose.Words for Python via .NET'. Följande exempel visar hur du kan minska storleken på en PDF fil i Python:

Kodexempel i Python för att komprimera PDF filer
Ladda upp en fil du vill optimera/komprimera
Kör kod
Välj målformat från listan
50%
pip install aspose-words
Kopiera
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)):
    # Ställ in maximal sidstorlek för att undvika skalning av den aktuella sidbilden.
    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: # Det är upp till utvecklaren att välja biblioteket för bildkomprimering. image = Image.open(shape.image_data.to_stream()) # ... # Komprimera bilden och ställ tillbaka den till formen. 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: # Det är upp till utvecklaren att välja biblioteket för bildkomprimering. image = Image.open(shape.image_data.to_stream()) # ... # Komprimera bilden och ställ tillbaka den till formen. 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: # Det är upp till utvecklaren att välja biblioteket för bildkomprimering. image = Image.open(shape.image_data.to_stream()) # ... # Komprimera bilden och ställ tillbaka den till formen. 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)): # Ställ in maximal sidstorlek för att undvika skalning av den aktuella sidbilden. 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;
Kör kod

Så här komprimerar du PDF

  1. Installera Aspose.Words for Python via .NET.
  2. Lägg till en biblioteksreferens (importera biblioteket) till ditt Python projekt.
  3. Öppna källfilen PDF i Python.
  4. Komprimera PDF utan att förlora kvalitet.
  5. Anropa metoden document_cleanup(). Den resulterande koden kan variera beroende på utdatafilformatet.
  6. Hämta det komprimerade resultatet som en PDF fil.

Python bibliotek för att optimera och komprimera PDF filer

Vi är värd för våra Python paket i PyPi- förråd. Följ steg-för-steg-instruktionerna för hur du installerar "Aspose.Words for Python via .NET" i din utvecklarmiljö.

Systemkrav

Detta paket är kompatibelt med Python ≥3.5 och <3.12. Om du utvecklar programvara för Linux, vänligen ta en titt på ytterligare krav för gcc och libpython i produktdokumentation.

Andra filformatsoptimeringar som stöds

Du kan optimera filer i många andra filformat:

5%

Prenumerera på Aspose produktuppdateringar

Få månatliga nyhetsbrev och erbjudanden direkt levererade till din brevlåda.

© Aspose Pty Ltd 2001-2024. Alla rättigheter förbehållna.