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