هذا حل احترافي لضغط EPUB باستخدام Python. استخدم EPUB واجهة برمجة تطبيقات التحسين الخاصة بنا لتطوير برامج عالية المستوى ومستقلة عن النظام الأساسي في Python. جربه على الإنترنت مجانا!
لا نقبل حاليًا ملفات DOCX كمدخلات. لكن يمكننا إنتاج ملفات DOCX كإخراج. نتطلع إلى دعم DOCX الكامل في المستقبل القريب.
تعد مكتبة Python حلاً قائمًا بذاته ولا يتطلب تثبيت أي برنامج تابع لجهة خارجية.
اجعل ملفات DOCX أصغر دون فقدان الجودة. توفر مكتبة Python للمطورين واجهة برمجة تطبيقات متكاملة لتحسين محتوى DOCX. يحدث تحسين DOCX عن طريق ضغط الصور داخل ملفات DOCX، وكذلك عن طريق إزالة البيانات غير المستخدمة.
أصبح الضغط غير المنقوص للكتب الإلكترونية وتحسين المحتوى أمرًا سهلاً باستخدام 'Aspose.Words for Python via .NET'. يوضح المثال التالي كيفية تحسين محتوى ملف DOCX في Python:
pip install aspose-words
ينسخ
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:
# الأمر متروك للمطور لاختيار المكتبة لضغط الصور.
image = Image.open(shape.image_data.to_stream())
# ...
# ضغط الصورة وإعادة وضعها على الشكل.
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:
# الأمر متروك للمطور لاختيار المكتبة لضغط الصور.
image = Image.open(shape.image_data.to_stream())
# ...
# ضغط الصورة وإعادة وضعها على الشكل.
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:
# الأمر متروك للمطور لاختيار المكتبة لضغط الصور.
image = Image.open(shape.image_data.to_stream())
# ...
# ضغط الصورة وإعادة وضعها على الشكل.
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:
# الأمر متروك للمطور لاختيار المكتبة لضغط الصور.
image = Image.open(shape.image_data.to_stream())
# ...
# ضغط الصورة وإعادة وضعها على الشكل.
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)):
# تعيين الحد الأقصى لحجم الصفحة لتجنب تحجيم صورة الصفحة الحالية.
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;
نستضيف حزم Python بنا في مستودعات PyPi. يرجى اتباع التعليمات خطوة بخطوة حول كيفية تثبيت "Aspose.Words for Python via .NET" في بيئة المطور لديك.
هذه الحزمة متوافقة مع Python ≥3.5 و <3.12. إذا قمت بتطوير برنامج لنظام التشغيل Linux، فيرجى إلقاء نظرة على المتطلبات الإضافية لدول gcc و libpython في وثائق المنتج.