Код для стиснення DOCX в Python

Високопродуктивна бібліотека Python для оптимізації вмісту та розміру DOCX із збереженням вихідної якості та базових даних

Це професійне рішення для стиснення DOCX за допомогою Python. Використовуйте наш API оптимізації DOCX, щоб розробити високорівневе, незалежне від платформи програмне забезпечення на Python. Спробуйте онлайн безкоштовно!

Переглянути фрагмент коду

Стисніть DOCX файл у Python

Зменшуйте великі DOCX файли без втрати якості. Видаліть непотрібні та невикористовувані дані. Зменшіть розмір DOCX файлу у коді. Бібліотека Python надає розробникам інтегрований API для оптимізації вмісту DOCX.

Зменшіть розмір DOCX файлів за допомогою Python

Бібліотека Python є окремим рішенням і не потребує встановлення стороннього програмного забезпечення.

Стиснення без втрат і глибока оптимізація вмісту стали легкими завдяки 'Aspose.Words for Python via .NET'. У наступному прикладі показано, як оптимізувати вміст DOCX файлу у Python:

Приклад коду в Python для стиснення DOCX файлів
Завантажте файл, який потрібно оптимізувати/стиснути
Виконати код
Виберіть цільовий формат зі списку
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") # Оновіть налаштування сторінки, щоб обрізати документ відповідно до розміру зображення. pageSetup = builder.page_setup pageSetup.page_width = shape.width pageSetup.page_height = shape.height pageSetup.top_margin = 0 pageSetup.left_margin = 0 pageSetup.bottom_margin = 0 pageSetup.right_margin = 0 save_options = aw.saving.ImageSaveOptions(aw.SaveFormat.DOCX) doc.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;
Виконати код

Як стиснути DOCX Python

  1. Встановіть Aspose.Words for Python via .NET.
  2. Додайте посилання на бібліотеку (імпортуйте бібліотеку) до свого проекту Python.
  3. Відкрийте вихідний DOCX файл у Python.
  4. Стисніть DOCX без втрати якості.
  5. Викличте метод document_cleanup(). Отриманий код може відрізнятися в залежності від формату вихідного файлу.
  6. Отримайте стиснутий результат у вигляді DOCX файлу.

Python бібліотека для оптимізації та стиснення DOCX файлів

Ми розміщуємо наші пакунки Python у сховищах PyPi. Будь ласка, дотримуйтесь покрокових інструкцій щодо встановлення "Aspose.Words for Python via .NET" у середовище розробника.

Системні вимоги

Цей пакет сумісний з Python ≥3.5 і <3.12. Якщо ви розробляєте програмне забезпечення для Linux, перегляньте додаткові вимоги до gcc і libpython у документації продукту.

Інші підтримувані оптимізації формату файлів

Ви можете оптимізувати файли в багатьох інших форматах:

5%

Підпишіться на оновлення продукту Aspose

Отримуйте щомісячні інформаційні бюлетені та пропозиції безпосередньо на вашу поштову скриньку.

© Aspose Pty Ltd 2001-2024. Всі права захищені.