Използвайте нашия 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 в продуктовата документация.