Αυτή είναι μια επαγγελματική λύση για τη συμπίεση του EPUB χρησιμοποιώντας Python. Χρησιμοποιήστε το API βελτιστοποίησης EPUB για να αναπτύξετε λογισμικό υψηλού επιπέδου, ανεξάρτητο από πλατφόρμα στην Python. Δοκιμάστε το online δωρεάν!
Προς το παρόν δεν δεχόμαστε αρχεία DOCX ως είσοδο. Μπορούμε όμως να παράγουμε αρχεία DOCX ως έξοδο. Ανυπομονούμε για πλήρη υποστήριξη DOCX στο εγγύς μέλλον.
Η βιβλιοθήκη Python είναι μια αυτόνομη λύση και δεν απαιτεί εγκατάσταση λογισμικού τρίτων.
Κάντε τα αρχεία DOCX μικρότερα χωρίς απώλεια ποιότητας. Η βιβλιοθήκη Python παρέχει στους προγραμματιστές ένα ενσωματωμένο API για τη βελτιστοποίηση του περιεχομένου DOCX. Η βελτιστοποίηση DOCX πραγματοποιείται με τη συμπίεση εικόνων μέσα σε αρχεία DOCX, καθώς και με την αφαίρεση των αχρησιμοποίητων δεδομένων.
Η συμπίεση χωρίς απώλειες ηλεκτρονικών βιβλίων και η βελτιστοποίηση περιεχομένου γίνονται εύκολα με 'Aspose.Words for Python via .NET'. Το ακόλουθο παράδειγμα δείχνει πώς να βελτιστοποιήσετε το περιεχόμενο ενός αρχείου DOCX στο Python:
pip install aspose-words
αντίγραφο
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:
# Εναπόκειται στον προγραμματιστή να επιλέξει τη βιβλιοθήκη για συμπίεση εικόνας.
image = Image.open(shape.image_data.to_stream())
# ...
# Συμπιέστε την εικόνα και επαναφέρετέ την στο σχήμα.
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:
# Εναπόκειται στον προγραμματιστή να επιλέξει τη βιβλιοθήκη για τη συμπίεση εικόνας.
image = Image.open(shape.image_data.to_stream())
# ...
# Συμπιέστε την εικόνα και επαναφέρετέ την στο σχήμα.
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:
# Εναπόκειται στον προγραμματιστή να επιλέξει τη βιβλιοθήκη για συμπίεση εικόνας.
image = Image.open(shape.image_data.to_stream())
# ...
# Συμπιέστε την εικόνα και επαναφέρετέ την στο σχήμα.
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:
# Εναπόκειται στον προγραμματιστή να επιλέξει τη βιβλιοθήκη για τη συμπίεση εικόνας.
image = Image.open(shape.image_data.to_stream())
# ...
# Συμπιέστε την εικόνα και επαναφέρετέ την στο σχήμα.
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)):
# Ρυθμίστε το μέγιστο μέγεθος σελίδας για να αποφύγετε την κλιμάκωση της τρέχουσας εικόνας σελίδας.
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;
Φιλοξενούμε τα πακέτα Python μας στα αποθετήρια PyPi. Ακολουθήστε τις οδηγίες βήμα προς βήμα σχετικά με τον τρόπο εγκατάστασης του "Aspose.Words for Python via .NET" στο περιβάλλον προγραμματιστή σας.
Αυτό το πακέτο είναι συμβατό με Python ≥3.5 και <3.12. Εάν αναπτύσσετε λογισμικό για Linux, ρίξτε μια ματιά στις πρόσθετες απαιτήσεις για gcc και libpython στην Τεκμηρίωση προϊόντος.
Μπορείτε να βελτιστοποιήσετε αρχεία σε πολλές άλλες μορφές αρχείων: