Tämä on ammattimainen ratkaisu EPUB:n pakkaamiseen Python. Käytä EPUB optimointisovellusliittymäämme korkean tason, alustasta riippumattomien ohjelmistojen kehittämiseen Pythonissa. Kokeile verkossa ilmaiseksi!
Emme tällä hetkellä hyväksy DOCX tiedostoja syötteenä. Mutta voimme tuottaa DOCX tiedostoja ulostulona. Odotamme täysimääräistä DOCX tukea lähitulevaisuudessa.
Python kirjasto on erillinen ratkaisu, joka ei vaadi kolmannen osapuolen ohjelmiston asentamista.
Pienennä DOCX tiedostoja laadun heikkenemättä. Python kirjasto tarjoaa kehittäjille integroidun API DOCX sisällön optimointia varten. DOCX optimointi tapahtuu pakkaamalla kuvia DOCX tiedostoissa sekä poistamalla käyttämättömät tiedot.
E-kirjojen häviötön pakkaus ja sisällön optimointi on tehty helpoksi 'Aspose.Words for Python via .NET'. Seuraava esimerkki osoittaa, kuinka DOCX tiedoston sisältö optimoidaan Python:
pip install aspose-words
Kopio
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:
# Kehittäjä voi valita kuvan pakkauskirjaston.
image = Image.open(shape.image_data.to_stream())
# ...
# Pakkaa kuva ja aseta se takaisin muotoon.
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:
# Kehittäjä voi valita kuvan pakkauskirjaston.
image = Image.open(shape.image_data.to_stream())
# ...
# Pakkaa kuva ja aseta se takaisin muotoon.
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:
# Kehittäjä voi valita kuvan pakkauskirjaston.
image = Image.open(shape.image_data.to_stream())
# ...
# Pakkaa kuva ja aseta se takaisin muotoon.
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:
# Kehittäjä voi valita kuvan pakkauskirjaston.
image = Image.open(shape.image_data.to_stream())
# ...
# Pakkaa kuva ja aseta se takaisin muotoon.
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)):
# Aseta sivun enimmäiskoko välttääksesi nykyisen sivun kuvan skaalaus.
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 pakettejamme PyPi- varastoissa. Noudata vaiheittaisia ohjeita, kuinka "Aspose.Words for Python via .NET" kehittäjäympäristöösi.
Tämä paketti on yhteensopiva Python ≥3.5 ja <3.12 kanssa. Jos kehität ohjelmistoja Linuxille, tutustu gcc ja libpython lisävaatimuksiin tuotedokumentaatiosta.
Voit optimoida tiedostoja monissa muissa tiedostomuodoissa: