Det här är en professionell lösning för att komprimera DOCX med Python. Använd vårt DOCX optimerings API för att utveckla plattformsoberoende programvara på hög nivå i Python. Prova det gratis online!
Gör stora DOCX filer mindre utan kvalitetsförlust. Radera onödig och oanvänd data. Krympa storleken på en DOCX fil i kod. Python biblioteket ger utvecklare ett integrerat API för att optimera DOCX innehåll.
Python biblioteket är en fristående lösning och kräver ingen programvara från tredje part installerad.
Förlustfri komprimering och djup innehållsoptimering på ett enkelt sätt med 'Aspose.Words for Python via .NET'. Följande exempel visar hur man optimerar innehållet i en DOCX fil i Python:
pip install aspose-words
Kopiera
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:
# Det är upp till utvecklaren att välja biblioteket för bildkomprimering.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimera bilden och ställ tillbaka den till formen.
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:
# Det är upp till utvecklaren att välja biblioteket för bildkomprimering.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimera bilden och ställ tillbaka den till formen.
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:
# Det är upp till utvecklaren att välja biblioteket för bildkomprimering.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimera bilden och ställ tillbaka den till formen.
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:
# Det är upp till utvecklaren att välja biblioteket för bildkomprimering.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimera bilden och ställ tillbaka den till formen.
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)):
# Ställ in maximal sidstorlek för att undvika skalning av den aktuella sidbilden.
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;
Vi är värd för våra Python paket i PyPi- förråd. Följ steg-för-steg-instruktionerna för hur du installerar "Aspose.Words for Python via .NET" i din utvecklarmiljö.
Detta paket är kompatibelt med Python ≥3.5 och <3.12. Om du utvecklar programvara för Linux, vänligen ta en titt på ytterligare krav för gcc och libpython i produktdokumentation.
Du kan optimera filer i många andra filformat: