Utilice nuestra API de optimización de documentos para desarrollar software independiente de plataforma de alto nivel en Python. Esta es una solución poderosa para reducir el tamaño de documentos e imagenes usando Python.
Reduzca el tamaño de los archivos grandes sin pérdida de calidad. Elimine los datos innecesarios y no utilizados. Reduzca el tamaño de los archivos de Word y HTML en Python. Nuestra Python biblioteca proporciona a los desarrolladores una API integrada para optimizar documentos en varios formatos.
Esta Python biblioteca es una solución independiente y no requiere la instalación de ningún software de terceros.
El efecto máximo se puede obtener optimizando imagenes de alta resolución, así como documentos que contengan dichas imagenes. Nuestra Python biblioteca lo ayudará a comprimir archivos DOCX, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.
Optimización de documentos sin pérdida de calidad fácil con 'Aspose.Words for Python via .NET'. El siguiente ejemplo muestra cómo reducir el tamaño de un documento de Word en Python:
pip install aspose-words
Copiar
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:
# Depende del desarrollador elegir la biblioteca para la compresión de imágenes.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprimir imagen y volver a configurarla en la forma.
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:
# Depende del desarrollador elegir la biblioteca para la compresión de imágenes.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprimir imagen y volver a configurarla en la forma.
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:
# Depende del desarrollador elegir la biblioteca para la compresión de imágenes.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprimir imagen y volver a configurarla en la forma.
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:
# Depende del desarrollador elegir la biblioteca para la compresión de imágenes.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprimir imagen y volver a configurarla en la forma.
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)):
# Establecer el tamaño máximo de página para evitar la escala de la imagen de la página actual.
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;
Alojamos nuestros paquetes de Python en repositorios de PyPi. Siga las instrucciones paso a paso sobre cómo instalar "Aspose.Words for Python via .NET" en su entorno de desarrollador.
Este paquete es compatible con Python ≥3.5 y <3.12. Si desarrolla software para Linux, consulte los requisitos adicionales para gcc y libpython en la documentación del producto.