Koristite naš API za optimizaciju dokumenata za razvoj softvera visoke razine, neovisnog o platformi u Pythonu. Ovo je moćno rješenje za smanjenje veličine dokumenta i slike pomoću Python.
Smanjite velike datoteke bez gubitka kvalitete. Izbrišite nepotrebne i neiskorištene podatke. Smanjite veličinu Word i HTML datoteka u Python. Naša Python biblioteka pruža programerima integrirani API za optimizaciju dokumenata u različitim formatima.
Ova Python biblioteka je samostalno rješenje i ne zahtijeva instaliran softver treće strane.
Maksimalni učinak može se postići optimizacijom slika visoke razlučivosti, kao i dokumenata koji sadrže takve slike. Naša Python biblioteka pomoći će vam da komprimirate DOCX, DOC, RTF, ODT, EPUB, HTML, JPG, PNG datoteke.
Optimizacija dokumenata bez gubitka kvalitete olakšana uz 'Aspose.Words for Python via .NET'. Sljedeći primjer pokazuje kako smanjiti veličinu Word dokumenta u 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:
# Na programeru je da odabere biblioteku za kompresiju slike.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimirajte sliku i vratite je u oblik.
shape.image_data.set_image("yourCompressedImage")
save_options = aw.saving.OoxmlSaveOptions
save_options.compression_level = aw.saving.CompressionLevel.MAXIMUM
doc.save("Output.docx", 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:
# Na programeru je da odabere biblioteku za kompresiju slike.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimirajte sliku i vratite je u oblik.
shape.image_data.set_image("yourCompressedImage")
save_options = aw.saving.PdfSaveOptions
save_options.cache_background_graphics = true
doc.save("Output.docx", 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:
# Na programeru je da odabere biblioteku za kompresiju slika.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimirajte sliku i vratite je u oblik.
shape.image_data.set_image("yourCompressedImage")
doc.save("Output.docx")
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:
# Na programeru je da odabere biblioteku za kompresiju slike.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimirajte sliku i vratite je u oblik.
shape.image_data.set_image("yourCompressedImage")
save_options = aw.saving.OoxmlSaveOptions
save_options.compression_level = aw.saving.CompressionLevel.MAXIMUM
doc.save("Output.docx", 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.docx", 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)):
# Postavite maksimalnu veličinu stranice kako biste izbjegli skaliranje slike trenutne stranice.
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.docx", save_options)
def set_page_size(page_setup, width, height):
page_setup.page_width = width;
page_setup.page_height = height;
Naše Python pakete hostiramo u PyPi repozitorijumima. Slijedite upute korak po korak o tome kako instalirati "Aspose.Words for Python via .NET" u svoje razvojno okruženje.
Ovaj paket je kompatibilan s Python ≥3.5 i <3.12. Ako razvijate softver za Linux, pogledajte dodatne zahtjeve za gcc i libpython u dokumentaciji proizvoda.