Використовуйте наш API оптимізації документів, щоб розробляти високорівневе, незалежне від платформи програмне забезпечення на Python. Це потужне рішення для зменшення розміру документа та зображення за допомогою Python.
Зменште великі файли без втрати якості. Видаліть непотрібні та невикористані дані. Зменшити розмір Word файлів і HTML у Python. Наша бібліотека Python надає розробникам інтегрований API для оптимізації документів у різних форматах.
Ця бібліотека Python є самостійним рішенням і не вимагає встановлення стороннього програмного забезпечення.
Максимальний ефект можна отримати при оптимізації зображень з високою роздільною здатністю, а також документів, що містять такі зображення. Наша бібліотека Python допоможе вам стиснути файли DOCX, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.
Оптимізація документів без втрати якості стала легкою за допомогою 'Aspose.Words for Python via .NET'. У наступному прикладі показано, як зменшити розмір Word документа у 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 у документації продукту.