Ini adalah solusi profesional untuk mengompresi EPUB menggunakan Python. Gunakan EPUB API pengoptimalan kami untuk mengembangkan perangkat lunak tingkat tinggi yang tidak bergantung pada platform dengan Python. Cobalah secara online gratis!
Saat ini kami tidak menerima file DOCX sebagai input. Tetapi kami dapat menghasilkan file DOCX sebagai output. Kami menantikan dukungan penuh DOCX dalam waktu dekat.
Python adalah solusi yang berdiri sendiri dan tidak memerlukan perangkat lunak pihak ketiga yang diinstal.
Buat file DOCX lebih kecil tanpa kehilangan kualitas. Python menyediakan pengembang dengan API terintegrasi untuk mengoptimalkan konten DOCX. Optimalisasi DOCX terjadi dengan mengompresi gambar di dalam file DOCX, serta dengan menghapus data yang tidak digunakan.
Kompresi lossless ebook dan pengoptimalan konten menjadi mudah dengan 'Aspose.Words for Python via .NET'. Contoh berikut menunjukkan cara mengoptimalkan konten file DOCX 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")
doc.save("Output.epub")
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.epub", 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.epub")
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.epub", 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.epub", 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.epub", 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: