Il s'agit d'une solution professionnelle pour compresser EPUB en utilisant Python. Utilisez notre API d'optimisation EPUB pour développer des logiciels de haut niveau indépendants de la plate-forme en Python. Essayez-le en ligne gratuitement!
Nous n'acceptons actuellement pas les fichiers DOCX en entrée. Mais nous pouvons produire des fichiers DOCX en sortie. Nous attendons avec impatience la prise en charge complète d'DOCX dans un proche avenir.
Python bibliothèque est une solution autonome et ne nécessite l'installation d'aucun logiciel tiers.
Réduisez la taille des fichiers DOCX sans perte de qualité. La Python bibliothèque fournit aux développeurs une API intégrée pour optimiser le contenu DOCX. L'optimisation DOCX se produit en compressant les images dans les fichiers DOCX, ainsi qu'en supprimant les données inutilisées.
Compression sans perte d'ebook et optimisation du contenu simplifiées avec 'Aspose.Words for Python via .NET'. L'exemple suivant montre comment optimiser le contenu d'un fichier DOCX 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")
doc.save("Output.epub")
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.epub", 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.epub")
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.epub", 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.epub", 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.epub", 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.
Vous pouvez optimiser des fichiers dans de nombreux autres formats de fichiers: