Utilisez notre API d'optimisation de documents pour développer des logiciels de haut niveau indépendants de la plate-forme en Python. Il s'agit d'une solution puissante pour réduire la taille des documents et des images à l'aide de Python.
Réduisez la taille des fichiers volumineux sans perte de qualité. Supprimez les données inutiles et inutilisées. Réduisez la taille des Word fichiers et HTML dans Python. Notre Python bibliothèque fournit aux développeurs une API intégrée pour optimiser les documents dans différents formats.
Cette Python bibliothèque est une solution autonome et ne nécessite l'installation d'aucun logiciel tiers.
L'effet maximal peut être obtenu en optimisant les images haute résolution, ainsi que les documents contenant de telles images. Notre Python bibliothèque vous aidera à compresser les fichiers DOCX, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.
Optimisation des documents sans perte de qualité simplifiée avec 'Aspose.Words for Python via .NET'. L'exemple suivant montre comment réduire la taille d'un Word document dans 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:
# C'est au développeur de choisir la bibliothèque pour la compression d'image.
image = Image.open(shape.image_data.to_stream())
# ...
# Compressez l'image et remettez-la à la forme.
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:
# C'est au développeur de choisir la bibliothèque pour la compression d'image.
image = Image.open(shape.image_data.to_stream())
# ...
# Compressez l'image et remettez-la à la forme.
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:
# C'est au développeur de choisir la bibliothèque pour la compression d'image.
image = Image.open(shape.image_data.to_stream())
# ...
# Compressez l'image et remettez-la à la forme.
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:
# C'est au développeur de choisir la bibliothèque pour la compression d'image.
image = Image.open(shape.image_data.to_stream())
# ...
# Compressez l'image et remettez-la à la forme.
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)):
# Définissez la taille de page maximale pour éviter la mise à l'échelle de l'image de la page actuelle.
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;
Nous hébergeons Python dans des référentiels PyPi. Veuillez suivre les instructions étape par étape sur la façon d'installer "Aspose.Words for Python via .NET" dans votre environnement de développeur.
Ce package est compatible avec Python ≥3.5 et <3.12. Si vous développez des logiciels pour Linux, veuillez consulter les exigences supplémentaires pour gcc et libpython dans Product Documentation.