To je profesionalna rešitev za stiskanje EPUB s Python. Uporabite naš API za optimizacijo EPUB za razvoj programske opreme na visoki ravni, neodvisne od platforme v Pythonu. Preizkusite na spletu brezplačno!
Trenutno ne sprejemamo datotek DOCX kot vhoda. Lahko pa izdelamo datoteke DOCX kot izhod. V bližnji prihodnosti pričakujemo popolno podporo za DOCX.
Knjižnica Python je samostojna rešitev in ne zahteva nameščene programske opreme tretjih oseb.
Pomanjšajte datoteke DOCX brez izgube kakovosti. Knjižnica Python razvijalcem ponuja integriran API za optimizacijo vsebine DOCX. Optimizacija DOCX se zgodi s stiskanjem slik v datotekah DOCX, pa tudi z odstranjevanjem neuporabljenih podatkov.
Stiskanje e-knjig brez izgub in optimizacija vsebine sta preprosta z 'Aspose.Words for Python via .NET'. Naslednji primer prikazuje, kako optimizirati vsebino datoteke DOCX v Python:
pip install aspose-words
Kopirati
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:
# Razvijalec mora izbrati knjižnico za stiskanje slik.
image = Image.open(shape.image_data.to_stream())
# ...
# Stisnite sliko in jo nastavite nazaj v obliko.
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:
# Razvijalec mora izbrati knjižnico za stiskanje slik.
image = Image.open(shape.image_data.to_stream())
# ...
# Stisnite sliko in jo nastavite nazaj v obliko.
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:
# Razvijalec mora izbrati knjižnico za stiskanje slik.
image = Image.open(shape.image_data.to_stream())
# ...
# Stisnite sliko in jo nastavite nazaj v obliko.
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:
# Razvijalec mora izbrati knjižnico za stiskanje slik.
image = Image.open(shape.image_data.to_stream())
# ...
# Stisnite sliko in jo nastavite nazaj v obliko.
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)):
# Nastavite največjo velikost strani, da se izognete spreminjanju velikosti slike trenutne strani.
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;
Ta paket je združljiv s Python ≥3.5 in <3.12. Če razvijate programsko opremo za Linux, si oglejte dodatne zahteve za gcc in libpython v dokumentaciji izdelka.
Datoteke lahko optimizirate v številnih drugih oblikah datotek: