To je profesionalna rešitev za stiskanje DOCX s Python. Uporabite naš API za optimizacijo DOCX za razvoj programske opreme na visoki ravni, neodvisne od platforme v Pythonu. Preizkusite na spletu brezplačno!
Pomanjšajte velike DOCX datoteke brez izgube kakovosti. Izbrišite nepotrebne in neuporabljene podatke. Zmanjšajte velikost DOCX datoteke v kodi. Knjižnica Python razvijalcem ponuja integriran API za optimizacijo vsebine DOCX.
Knjižnica Python je samostojna rešitev in ne zahteva nameščene programske opreme tretjih oseb.
Stiskanje brez izgub in globoka optimizacija vsebine sta poenostavljena z 'Aspose.Words for Python via .NET'. Naslednji primer prikazuje, kako optimizirati vsebino DOCX datoteke 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.
Datoteke lahko optimizirate v številnih drugih oblikah datotek: