این یک راه حل حرفه ای برای فشرده سازی EPUB با استفاده از Python است. از API بهینه سازی EPUB ما برای توسعه نرم افزار سطح بالا و مستقل از پلت فرم در پایتون استفاده کنید. آن را به صورت آنلاین به صورت رایگان امتحان کنید!
ما در حال حاضر فایل های DOCX را به عنوان ورودی نمی پذیریم. اما ما می توانیم فایل های DOCX را به عنوان یک خروجی تولید کنیم. ما مشتاقانه منتظر پشتیبانی کامل DOCX در آینده نزدیک هستیم.
کتابخانه Python یک راه حل مستقل است و نیازی به نصب نرم افزار شخص ثالث ندارد.
فایل های DOCX را بدون افت کیفیت کوچکتر کنید. کتابخانه Python یک API یکپارچه برای بهینه سازی محتوای 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 سازگار است. اگر نرمافزاری برای لینوکس توسعه میدهید، لطفاً به الزامات اضافی برای gcc و libpython در مستندات محصول نگاهی بیندازید.
شما می توانید فایل ها را در بسیاری از فرمت های فایل دیگر بهینه سازی کنید: