Det här är en professionell lösning för att komprimera EPUB med Python. Använd vårt EPUB optimerings API för att utveckla plattformsoberoende programvara på hög nivå i Python. Prova det gratis online!
Vi accepterar för närvarande inte DOCX filer som indata. Men vi kan producera DOCX filer som en utdata. Vi ser fram emot fullt DOCX stöd inom en snar framtid.
Python biblioteket är en fristående lösning och kräver ingen programvara från tredje part installerad.
Gör DOCX filer mindre utan kvalitetsförlust. Python biblioteket ger utvecklare ett integrerat API för att optimera DOCX innehåll. DOCX optimering sker genom att komprimera bilder inuti DOCX filer, samt genom att ta bort oanvänd data.
E-bok förlustfri komprimering och innehållsoptimering på ett enkelt sätt med 'Aspose.Words for Python via .NET'. Följande exempel visar hur man optimerar innehållet i en DOCX fil i Python:
pip install aspose-words
Kopiera
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:
# Det är upp till utvecklaren att välja biblioteket för bildkomprimering.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimera bilden och ställ tillbaka den till formen.
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:
# Det är upp till utvecklaren att välja biblioteket för bildkomprimering.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimera bilden och ställ tillbaka den till formen.
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:
# Det är upp till utvecklaren att välja biblioteket för bildkomprimering.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimera bilden och ställ tillbaka den till formen.
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:
# Det är upp till utvecklaren att välja biblioteket för bildkomprimering.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimera bilden och ställ tillbaka den till formen.
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)):
# Ställ in maximal sidstorlek för att undvika skalning av den aktuella sidbilden.
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;
Vi är värd för våra Python paket i PyPi- förråd. Följ steg-för-steg-instruktionerna för hur du installerar "Aspose.Words for Python via .NET" i din utvecklarmiljö.
Detta paket är kompatibelt med Python ≥3.5 och <3.12. Om du utvecklar programvara för Linux, vänligen ta en titt på ytterligare krav för gcc och libpython i produktdokumentation.
Du kan optimera filer i många andra filformat: