Esta é uma solução profissional para compactar DOCX usando Python. Use nossa API de otimização DOCX para desenvolver software independente de plataforma de alto nível em Python. Experimente online gratuitamente!
Reduza os DOCX arquivos grandes sem perda de qualidade. Exclua dados desnecessários e não utilizados. Reduza o tamanho de um DOCX arquivo no código. A Python biblioteca fornece aos desenvolvedores uma API integrada para otimizar o conteúdo DOCX.
A Python biblioteca é uma solução autônoma e não requer a instalação de nenhum software de terceiros.
Compressão sem perdas e otimização profunda de conteúdo facilitadas com 'Aspose.Words for Python via .NET'. O exemplo a seguir demonstra como otimizar o conteúdo de um DOCX arquivo em Python:
pip install aspose-words
Cópia de
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:
# Cabe ao desenvolvedor escolher a biblioteca para compressão de imagem.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprima a imagem e defina-a de volta à forma.
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:
# Cabe ao desenvolvedor escolher a biblioteca para compressão de imagem.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprima a imagem e defina-a de volta à forma.
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:
# Cabe ao desenvolvedor escolher a biblioteca para compressão de imagem.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprima a imagem e defina-a de volta à forma.
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:
# Cabe ao desenvolvedor escolher a biblioteca para compressão de imagem.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprima a imagem e defina-a de volta à forma.
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)):
# Defina o tamanho máximo da página para evitar o dimensionamento da imagem da página atual.
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;
Hospedamos nossos pacotes Python em repositórios PyPi. Siga as instruções passo a passo sobre como instalar o "Aspose.Words for Python via .NET" em seu ambiente de desenvolvedor.
Este pacote é compatível com Python ≥3.5 e <3.12. Se você desenvolve software para Linux, consulte os requisitos adicionais para gcc e libpython na documentação do produto.
Você pode otimizar arquivos em muitos outros formatos de arquivo: