Используйте наш 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:
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;
Мы размещаем наши пакеты Python в репозиториях PyPi. Следуйте пошаговым инструкциям по установке "Aspose.Words for Python via .NET" в среду разработчика.
Этот пакет совместим с Python ≥3.5 и <3.12. Если вы разрабатываете программное обеспечение для Linux, ознакомьтесь с дополнительными требованиями для gcc и libpython в документации по продукту.