Uporabite naš API za optimizacijo dokumentov za razvoj programske opreme na visoki ravni, neodvisne od platforme v Pythonu. To je zmogljiva rešitev za zmanjšanje velikosti dokumenta in slike s Python.
Pomanjšajte velike datoteke brez izgube kakovosti. Izbrišite nepotrebne in neuporabljene podatke. Zmanjšajte velikost Word datotek in HTML v Python. Naša knjižnica Python razvijalcem ponuja integriran API za optimizacijo dokumentov v različnih formatih.
Ta knjižnica Python je samostojna rešitev in ne zahteva nameščene programske opreme tretjih oseb.
Največji učinek je mogoče doseči z optimizacijo slik visoke ločljivosti, pa tudi dokumentov, ki vsebujejo takšne slike. Naša knjižnica Python vam bo pomagala stisniti datoteke DOCX, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.
Optimizacija dokumentov brez izgube kakovosti je enostavna z 'Aspose.Words for Python via .NET'. Naslednji primer prikazuje, kako zmanjšati velikost Word dokumenta v Python:
pip install aspose-words Kopirati import aspose.words as aw doc = aw.Document("Input.docx") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # Razvijalec mora izbrati knjižnico za stiskanje slik. image = Image.open(shape.image_data.to_stream()) # ... # Stisnite sliko in jo nastavite nazaj v obliko. shape.image_data.set_image("yourCompressedImage") save_options = aw.saving.OoxmlSaveOptions save_options.compression_level = aw.saving.CompressionLevel.MAXIMUM doc.save("Output.docx", save_options) import aspose.words as aw doc = aw.Document("Input.docx") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # Razvijalec mora izbrati knjižnico za stiskanje slik. image = Image.open(shape.image_data.to_stream()) # ... # Stisnite sliko in jo nastavite nazaj v obliko. shape.image_data.set_image("yourCompressedImage") save_options = aw.saving.PdfSaveOptions save_options.cache_background_graphics = true doc.save("Output.docx", save_options) import aspose.words as aw doc = aw.Document("Input.docx") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # Razvijalec mora izbrati knjižnico za stiskanje slik. image = Image.open(shape.image_data.to_stream()) # ... # Stisnite sliko in jo nastavite nazaj v obliko. shape.image_data.set_image("yourCompressedImage") doc.save("Output.docx") import aspose.words as aw doc = aw.Document("Input.docx") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # Razvijalec mora izbrati knjižnico za stiskanje slik. image = Image.open(shape.image_data.to_stream()) # ... # Stisnite sliko in jo nastavite nazaj v obliko. shape.image_data.set_image("yourCompressedImage") save_options = aw.saving.OoxmlSaveOptions save_options.compression_level = aw.saving.CompressionLevel.MAXIMUM doc.save("Output.docx", save_options) import aspose.words as aw doc = aw.Document() builder = aw.DocumentBuilder(doc) shape = builder.InsertImage("Input.docx") save_options = aw.saving.ImageSaveOptions(aw.SaveFormat.DOCX) shape.get_shape_renderer().save("Output.docx", 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.docx", '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)): # Nastavite največjo velikost strani, da se izognete spreminjanju velikosti slike trenutne strani. 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.docx", save_options) def set_page_size(page_setup, width, height): page_setup.page_width = width; page_setup.page_height = height; Ta paket je združljiv s Python ≥3.5 in <3.12. Če razvijate programsko opremo za Linux, si oglejte dodatne zahteve za gcc in libpython v dokumentaciji izdelka.