Skorzystaj z naszego interfejsu API optymalizacji dokumentów, aby tworzyć zaawansowane, niezależne od platformy oprogramowanie w języku Python. Jest to potężne rozwiązanie do zmniejszania rozmiaru dokumentu i obrazu za pomocą Python.
Zmniejsz duże pliki bez utraty jakości. Usuń niepotrzebne i nieużywane dane. Zmniejsz rozmiar Word plików i HTML w Python. Nasza Python biblioteka zapewnia programistom zintegrowany interfejs API do optymalizacji dokumentów w różnych formatach.
Ta Python biblioteka jest samodzielnym rozwiązaniem i nie wymaga instalowania żadnego oprogramowania innych firm.
Maksymalny efekt można uzyskać, optymalizując obrazy o wysokiej rozdzielczości, a także dokumenty zawierające takie obrazy. Nasza Python biblioteka pomoże Ci skompresować pliki DOCX, DOC, RTF, ODT, EPUB, HTML, JPG, PNG.
Optymalizacja dokumentów bez utraty jakości jest łatwa dzięki 'Aspose.Words for Python via .NET'. Poniższy przykład pokazuje, jak zmniejszyć rozmiar Word dokumentu w Python:
pip install aspose-words
Kopiuj
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:
# Do programisty należy wybór biblioteki do kompresji obrazu.
image = Image.open(shape.image_data.to_stream())
# ...
# Skompresuj obraz i ustaw go z powrotem do kształtu.
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:
# Do programisty należy wybór biblioteki do kompresji obrazu.
image = Image.open(shape.image_data.to_stream())
# ...
# Skompresuj obraz i ustaw go z powrotem do kształtu.
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:
# Wybór biblioteki do kompresji obrazu należy do programisty.
image = Image.open(shape.image_data.to_stream())
# ...
# Skompresuj obraz i ustaw go z powrotem do kształtu.
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:
# Do programisty należy wybór biblioteki do kompresji obrazu.
image = Image.open(shape.image_data.to_stream())
# ...
# Skompresuj obraz i ustaw go z powrotem do kształtu.
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)):
# Ustaw maksymalny rozmiar strony, aby uniknąć bieżącego skalowania obrazu strony.
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;
Nasze pakiety Python hostujemy w repozytoriach PyPi. Postępuj zgodnie z instrukcjami krok po kroku, jak zainstalować "Aspose.Words for Python via .NET" w swoim środowisku deweloperskim.
Ten pakiet jest kompatybilny z Python ≥3.5 i <3.12. Jeśli tworzysz oprogramowanie dla systemu Linux, zapoznaj się z dodatkowymi wymaganiami dotyczącymi gcc i libpython w dokumentacji produktu.