Kód na kompresiu PDF v Python

Vysokovýkonná knižnica Python na optimalizáciu obsahu a veľkosti PDF pri zachovaní pôvodnej kvality a základných údajov

Toto je profesionálne riešenie na kompresiu PDF pomocou Python. Použite naše rozhranie API na optimalizáciu PDF na vývoj softvéru na vysokej úrovni, ktorý je nezávislý od platformy v jazyku Python. Vyskúšajte to online zadarmo!

Zobraziť útržok kódu

Komprimujte PDF v Python

Táto knižnica Python poskytuje vývojárom možnosť rýchlo a efektívne programovo komprimovať PDF dokumenty. Jednoducho získajte optimalizovaný výstup PDF pripravený na tlač, archiváciu alebo zdieľanie cez sieť. Je to samostatné riešenie na spracovanie PDF dokumentov pre Python, ktoré nevyžaduje inštaláciu softvéru tretích strán.

Zmenšite veľkosť PDF pomocou Python

Náš produkt poskytuje vývojárom Python integrované rozhranie API na zníženie veľkosti PDF súborov. Kompresia PDF sa vykonáva v dvoch prechodoch. Počas prvého prechodu sa všetky strany PDF skonvertujú do obrazového formátu. Náš produkt využíva adaptívne a vysoko efektívne algoritmy kompresie obrázkov, ktoré umožňujú vývojárom získať kompaktný výstup PDF pri zachovaní optimálnej kvality dokumentu. Pri ďalšom prechode sa sekvencia obrázkov skomprimuje a skombinuje tak, aby vytvoril obsah nového optimalizovaného PDF súboru.

Kompresia PDF je jednoduchá vďaka 'Aspose.Words for Python via .NET'. Nasledujúci príklad ukazuje, ako zmenšiť veľkosť PDF súboru v Python:

Príklad kódu v Python na kompresiu PDF súborov
Nahrajte súbor, ktorý chcete optimalizovať/komprimovať
Spustiť kód
Vyberte cieľový formát zo zoznamu
50%
pip install aspose-words
Kopírovať
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)):
    # Nastavte maximálnu veľkosť strany, aby ste sa vyhli zmene mierky aktuálnej strany.
    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: # Je na vývojárovi, aby si vybral knižnicu pre kompresiu obrázkov. image = Image.open(shape.image_data.to_stream()) # ... # Komprimujte obrázok a nastavte ho späť do tvaru. 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: # Je na vývojárovi, aby si vybral knižnicu na kompresiu obrázkov. image = Image.open(shape.image_data.to_stream()) # ... # Komprimujte obrázok a nastavte ho späť do tvaru. 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: # Je na vývojárovi, aby si vybral knižnicu pre kompresiu obrázkov. image = Image.open(shape.image_data.to_stream()) # ... # Komprimujte obrázok a nastavte ho späť do tvaru. 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") # Aktualizujte nastavenia strany, aby ste orezali dokument tak, aby zodpovedal veľkosti obrázka. 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)): # Nastavte maximálnu veľkosť strany, aby ste sa vyhli zmene mierky aktuálnej strany. 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;
Spustiť kód

Ako komprimovať PDF

  1. Nainštalujte Aspose.Words for Python via .NET.
  2. Pridajte odkaz na knižnicu (importujte knižnicu) do svojho Python projektu.
  3. Otvorte zdrojový PDF súbor v Python.
  4. Komprimujte PDF bez straty kvality.
  5. Zavolajte metódu document_cleanup(). Výsledný kód sa môže líšiť v závislosti od formátu výstupného súboru.
  6. Získajte komprimovaný výsledok ako PDF súbor.

Knižnica Python na optimalizáciu a kompresiu PDF súborov

Naše balíčky Python hostíme v úložiskách PyPi. Postupujte podľa podrobných pokynov, ako nainštalovať "Aspose.Words for Python via .NET" do vášho vývojárskeho prostredia.

Požiadavky na systém

Tento balík je kompatibilný s Python ≥3.5 a <3.12. Ak vyvíjate softvér pre Linux, pozrite si ďalšie požiadavky pre gcc a libpython v dokumentácii k produktu.

Ďalšie podporované optimalizácie formátu súborov

Môžete optimalizovať súbory v mnohých iných formátoch súborov:

5%

Prihláste sa na odber aktualizácií produktov Aspose

Získajte mesačné bulletiny a ponuky priamo do vašej poštovej schránky.

© Aspose Pty Ltd 2001-2024. Všetky práva vyhradené.