Toto je profesionální řešení pro kompresi EPUB pomocí Python. Použijte naše optimalizační rozhraní API EPUB k vývoji softwaru na vysoké úrovni, nezávislého na platformě v Pythonu. Vyzkoušejte to online zdarma!
Aktuálně nepřijímáme soubory DOCX jako vstup. Můžeme však vytvářet soubory DOCX jako výstup. Těšíme se na plnou podporu DOCX v blízké budoucnosti.
Python knihovna je samostatné řešení a nevyžaduje instalaci žádného softwaru třetích stran.
Zmenšete soubory DOCX bez ztráty kvality. Knihovna Python poskytuje vývojářům integrované API pro optimalizaci obsahu DOCX. Optimalizace DOCX se provádí komprimací obrázků uvnitř souborů DOCX a také odstraněním nepoužitých dat.
Bezeztrátová komprese e-knih a optimalizace obsahu je snadná s 'Aspose.Words for Python via .NET'. Následující příklad ukazuje, jak optimalizovat obsah souboru DOCX v Python:
pip install aspose-words
Kopírovat
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:
# Je na vývojáři, aby si vybral knihovnu pro kompresi obrázků.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimujte obrázek a nastavte jej zpět do tvaru.
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:
# Je na vývojáři, aby si vybral knihovnu pro kompresi obrázků.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimujte obrázek a nastavte jej zpět do tvaru.
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:
# Je na vývojáři, aby si vybral knihovnu pro kompresi obrázků.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimujte obrázek a nastavte jej zpět do tvaru.
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:
# Je na vývojáři, aby si vybral knihovnu pro kompresi obrázků.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimujte obrázek a nastavte jej zpět do tvaru.
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)):
# Nastavte maximální velikost stránky, abyste zabránili změně měřítka aktuální stránky.
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;
Naše balíčky Python hostujeme v úložištích PyPi. Postupujte prosím podle pokynů krok za krokem, jak nainstalovat "Aspose.Words for Python via .NET" do vašeho vývojářského prostředí.
Tento balíček je kompatibilní s Python ≥3.5 a <3.12. Pokud vyvíjíte software pro Linux, podívejte se prosím na další požadavky pro gcc a libpython v dokumentaci k produktu.
Můžete optimalizovat soubory v mnoha dalších formátech souborů: