Utilizați API ul nostru de optimizare a documentelor pentru a dezvolta software de nivel înalt, independent de platformă, în Python. Aceasta este o soluție puternică pentru a reduce dimensiunea documentului și a imaginii folosind Python.
Reduceți fișierele mari fără pierderi de calitate. Ștergeți datele inutile și neutilizate. Reduceți dimensiunea Word fișierelor și HTML în Python. Biblioteca noastră Python oferă dezvoltatorilor un API integrat pentru a optimiza documentele în diferite formate.
Această Python bibliotecă este o soluție autonomă și nu necesită instalarea unui software terță parte.
Efectul maxim poate fi obținut prin optimizarea imaginilor de înaltă rezoluție, precum și a documentelor care conțin astfel de imagini. Biblioteca noastră Python vă va ajuta să comprimați DOCX fișiere, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.
Optimizarea documentelor fără pierderea calității este ușoară cu 'Aspose.Words for Python via .NET'. Următorul exemplu arată cum să micșorați dimensiunea unui Word document în Python:
pip install aspose-words
Copie
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:
# Depinde de dezvoltator să aleagă biblioteca pentru compresia imaginii.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprimați imaginea și setați-o înapoi la formă.
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:
# Depinde de dezvoltator să aleagă biblioteca pentru compresia imaginii.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprimați imaginea și setați-o înapoi la formă.
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:
# Depinde de dezvoltator să aleagă biblioteca pentru compresia imaginii.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprimați imaginea și setați-o înapoi la formă.
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:
# Depinde de dezvoltator să aleagă biblioteca pentru compresia imaginii.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprimați imaginea și setați-o înapoi la formă.
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)):
# Setați dimensiunea maximă a paginii pentru a evita scalarea imaginii paginii curente.
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;
Găzduim pachetele noastre Python în depozitele PyPi. Vă rugăm să urmați instrucțiunile pas cu pas despre cum să instalați "Aspose.Words for Python via .NET" în mediul dumneavoastră de dezvoltator.
Acest pachet este compatibil cu Python ≥3.5 și <3.12. Dacă dezvoltați software pentru Linux, vă rugăm să aruncați o privire la cerințele suplimentare pentru gcc și libpython în documentația produsului.