Ini adalah solusi profesional untuk mengompresi DOCX menggunakan Python. Gunakan DOCX API pengoptimalan kami untuk mengembangkan perangkat lunak tingkat tinggi yang tidak bergantung pada platform dengan Python. Cobalah secara online gratis!
Buat DOCX file besar menjadi lebih kecil tanpa kehilangan kualitas. Hapus data yang tidak perlu dan tidak digunakan. Kecilkan ukuran DOCX file dalam kode. Python menyediakan pengembang dengan API terintegrasi untuk mengoptimalkan konten DOCX.
Python adalah solusi yang berdiri sendiri dan tidak memerlukan perangkat lunak pihak ketiga yang diinstal.
Kompresi lossless dan pengoptimalan konten mendalam menjadi mudah dengan 'Aspose.Words for Python via .NET'. Contoh berikut menunjukkan cara mengoptimalkan konten DOCX file di Python:
pip install aspose-words
Salinan
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:
# Terserah pengembang untuk memilih perpustakaan untuk kompresi gambar.
image = Image.open(shape.image_data.to_stream())
# ...
# Kompres gambar dan atur kembali ke bentuknya.
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:
# Terserah pengembang untuk memilih perpustakaan untuk kompresi gambar.
image = Image.open(shape.image_data.to_stream())
# ...
# Kompres gambar dan atur kembali ke bentuknya.
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:
# Terserah pengembang untuk memilih perpustakaan untuk kompresi gambar.
image = Image.open(shape.image_data.to_stream())
# ...
# Kompres gambar dan atur kembali ke bentuknya.
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:
# Terserah pengembang untuk memilih perpustakaan untuk kompresi gambar.
image = Image.open(shape.image_data.to_stream())
# ...
# Kompres gambar dan atur kembali ke bentuknya.
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)):
# Atur ukuran halaman maksimum untuk menghindari penskalaan gambar halaman saat ini.
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;
Kami meng-host paket Python kami di repositori PyPi. Silakan ikuti petunjuk langkah demi langkah tentang cara menginstal "Aspose.Words for Python via .NET" ke lingkungan pengembang Anda.
Paket ini kompatibel dengan Python ≥3.5 dan <3.12. Jika Anda mengembangkan perangkat lunak untuk Linux, silakan lihat persyaratan tambahan untuk gcc dan libpython di Dokumentasi Produk.
Anda dapat mengoptimalkan file dalam banyak format file lainnya: