Kodas suspausti PDF į Python

Didelio našumo Python biblioteka, skirta optimizuoti PDF turinį ir dydį, išlaikant pradinę kokybę ir pradinius duomenis

Tai profesionalus sprendimas suspausti PDF naudojant Python. Naudokite mūsų PDF optimizavimo API, kad sukurtumėte aukšto lygio, nuo platformos nepriklausomą programinę įrangą Python. Išbandykite internetu nemokamai!

Peržiūrėkite kodo fragmentą

Suspausti PDF Python

Ši Python biblioteka suteikia kūrėjams galimybę greitai ir efektyviai programiškai suspausti PDF dokumentus. Lengvai paruoškite optimizuotą PDF išvestį spausdinimui, archyvavimui ar bendrinimui tinkle. Tai atskiras PDF dokumentų apdorojimo sprendimas, skirtas Python, kuriam nereikia įdiegti jokios trečiosios šalies programinės įrangos.

Sumažinkite PDF dydį naudodami Python

Mūsų produktas suteikia Python kūrėjams integruotą API, kad sumažintų PDF failų dydį. PDF suspaudimas atliekamas dviem važiavimais. Pirmojo praėjimo metu visi PDF puslapiai konvertuojami į vaizdo formatą. Mūsų gaminyje naudojami prisitaikantys ir labai efektyvūs vaizdų glaudinimo algoritmai, leidžiantys kūrėjams gauti kompaktišką PDF išvestį išlaikant optimalią dokumento kokybę. Kitą kartą vaizdų seka suglaudinama ir sujungiama, kad susidarytų naujo optimizuoto PDF failo turinys.

PDF glaudinimas palengvinamas naudojant 'Aspose.Words for Python via .NET'. Šis pavyzdys parodo, kaip sumažinti PDF failo dydį Python:

Kodo pavyzdys Python norint suspausti PDF failus
Įkelkite failą, kurį norite optimizuoti / suspausti
Vykdyti kodą
Iš sąrašo pasirinkite tikslinį formatą
50%
pip install aspose-words
Kopijuoti
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)):
    # Nustatykite maksimalų puslapio dydį, kad išvengtumėte dabartinio puslapio vaizdo mastelio.
    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: # Kūrėjas turi pasirinkti vaizdo glaudinimo biblioteką. image = Image.open(shape.image_data.to_stream()) # ... # Suspauskite vaizdą ir nustatykite jį atgal į 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: # Kūrėjas turi pasirinkti vaizdo glaudinimo biblioteką. image = Image.open(shape.image_data.to_stream()) # ... # Suspauskite vaizdą ir nustatykite jį atgal į 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: # Kūrėjas turi pasirinkti vaizdo glaudinimo biblioteką. image = Image.open(shape.image_data.to_stream()) # ... # Suspauskite vaizdą ir nustatykite jį atgal į 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") # Atnaujinkite puslapio nustatymus, kad apkarpytumėte dokumentą, kad jis atitiktų nuotraukos dydį. 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)): # Nustatykite maksimalų puslapio dydį, kad išvengtumėte dabartinio puslapio vaizdo mastelio. 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;
Vykdyti kodą

Kaip suspausti PDF

  1. Įdiekite Aspose.Words for Python via .NET.
  2. Pridėkite bibliotekos nuorodą (importuokite biblioteką) prie savo Python projekto.
  3. Atidarykite šaltinio PDF Python failą.
  4. Suspausti PDF neprarandant kokybės.
  5. Iškvieskite metodą document_cleanup(). Gautas kodas gali skirtis priklausomai nuo išvesties failo formato.
  6. Gaukite suglaudintą rezultatą kaip PDF failą.

Python biblioteka, skirta optimizuoti ir suspausti PDF failus

Python paketus talpiname PyPi saugyklose. Vadovaukitės nuosekliomis instrukcijomis, kaip įdiegti "Aspose.Words for Python via .NET" į kūrėjo aplinką.

Sistemos reikalavimai

Šis paketas suderinamas su Python ≥3.5 ir <3.12. Jei kuriate programinę įrangą, skirtą Linux, peržiūrėkite papildomus gcc ir libpython reikalavimus produkto dokumentacijoje.

Kiti palaikomi failų formatų optimizavimai

Galite optimizuoti daugelio kitų failų formatų failus:

5%

Prenumeruokite "Aspose" produktų naujinius

Gaukite mėnesinius naujienlaiškius ir pasiūlymus, pristatomus tiesiai į jūsų pašto dėžutę.

© Aspose Pty Ltd 2001-2024. Visos teisės saugomos.