Questa è una soluzione professionale per comprimere EPUB utilizzando Python. Utilizza la nostra EPUB API di ottimizzazione per sviluppare software di alto livello indipendente dalla piattaforma in Python. Provalo online gratuitamente!
Al momento non accettiamo file DOCX come input. Ma possiamo produrre file DOCX come output. Non vediamo l'ora di ricevere il pieno supporto DOCX nel prossimo futuro.
La libreria Python è una soluzione autonoma e non richiede l'installazione di software di terze parti.
Riduci i file DOCX senza perdita di qualità. La libreria Python fornisce agli sviluppatori un'API integrata per ottimizzare il contenuto DOCX. L'ottimizzazione DOCX avviene comprimendo le immagini all'interno di file DOCX, nonché rimuovendo i dati inutilizzati.
Compressione senza perdita di ebook e ottimizzazione dei contenuti semplificati con 'Aspose.Words for Python via .NET'. L'esempio seguente mostra come ottimizzare il contenuto di un file DOCX in Python:
pip install aspose-words
Copia
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:
# Spetta allo sviluppatore scegliere la libreria per la compressione delle immagini.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprimi l'immagine e riportala alla forma.
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:
# Spetta allo sviluppatore scegliere la libreria per la compressione delle immagini.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprimi l'immagine e riportala alla forma.
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:
# Spetta allo sviluppatore scegliere la libreria per la compressione delle immagini.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprimi l'immagine e riportala alla forma.
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:
# Spetta allo sviluppatore scegliere la libreria per la compressione delle immagini.
image = Image.open(shape.image_data.to_stream())
# ...
# Comprimi l'immagine e riportala alla forma.
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)):
# Imposta la dimensione massima della pagina per evitare il ridimensionamento dell'immagine della pagina corrente.
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;
Ospitiamo i nostri pacchetti Python nei repository PyPi. Segui le istruzioni passo passo su come installare "Aspose.Words for Python via .NET" nel tuo ambiente di sviluppo.
Questo pacchetto è compatibile con Python ≥3.5 e <3.12. Se sviluppi software per Linux, dai un'occhiata ai requisiti aggiuntivi per gcc e libpython nella documentazione del prodotto.
Puoi ottimizzare i file in molti altri formati di file: