Använd vårt API för dokumentoptimering för att utveckla plattformsoberoende programvara på hög nivå i Python. Detta är en kraftfull lösning för att minska dokument- och bildstorleken med Python.
Gör stora filer mindre utan kvalitetsförlust. Radera onödig och oanvänd data. Krymp storleken på Word och HTML filer i Python. Vårt Python bibliotek ger utvecklare ett integrerat API för att optimera dokument i olika format.
Detta Python bibliotek är en fristående lösning och kräver ingen programvara från tredje part installerad.
Den maximala effekten kan uppnås genom att optimera högupplösta bilder, såväl som dokument som innehåller sådana bilder. Vårt Python bibliotek hjälper dig att komprimera DOCX, DOC, RTF, ODT, EPUB, HTML, JPG, PNG filer.
Optimering av dokument utan kvalitetsförlust på ett enkelt sätt med 'Aspose.Words for Python via .NET'. Följande exempel visar hur man förminskar storleken på ett Word dokument 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")
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:
# 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.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:
# 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.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:
# 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.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)):
# 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.docx", 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.