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 DOCX datoteke, 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.