Це професійне рішення для стиснення JPG за допомогою Python. Використовуйте наш API оптимізації JPG, щоб розробити високорівневе, незалежне від платформи програмне забезпечення на Python. Спробуйте онлайн безкоштовно!
Зменшуйте великі JPG файли без втрати якості. Видаліть непотрібні та невикористовувані дані. Зменшіть розмір JPG файлу у коді. Бібліотека Python надає розробникам інтегрований API для оптимізації вмісту JPG.
Бібліотека Python є окремим рішенням і не потребує встановлення стороннього програмного забезпечення.
Стиснення без втрат і глибока оптимізація вмісту стали легкими завдяки 'Aspose.Words for Python via .NET'. У наступному прикладі показано, як оптимізувати вміст JPG файлу у Python:
pip install aspose-words
Копія
import aspose.words as aw
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
shape = builder.InsertImage("Input.jpg")
save_options = aw.saving.ImageSaveOptions(aw.SaveFormat.JPEG)
save_options.jpeg_quality = 50
shape.get_shape_renderer().save("Output.jpg", save_options)
import aspose.words as aw
doc = aw.Document("Input.jpg")
doc.cleanup()
shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)]
for shape in shapes:
if shape.isImage:
# Вибір бібліотеки для стиснення зображень залежить від розробника.
image = Image.open(shape.image_data.to_stream())
# ...
# Стисніть зображення та поверніть його до форми.
shape.image_data.set_image("yourCompressedImage")
save_options = aw.saving.PdfSaveOptions
save_options.cache_background_graphics = true
doc.save("Output.jpg", save_options)
import aspose.words as aw
doc = aw.Document("Input.jpg")
doc.cleanup()
shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)]
for shape in shapes:
if shape.isImage:
# Розробник повинен вибрати бібліотеку для стиснення зображень.
image = Image.open(shape.image_data.to_stream())
# ...
# Стисніть зображення та поверніть його до форми.
shape.image_data.set_image("yourCompressedImage")
doc.save("Output.jpg")
import aspose.words as aw
doc = aw.Document("Input.jpg")
doc.cleanup()
shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)]
for shape in shapes:
if shape.isImage:
# Вибір бібліотеки для стиснення зображень залежить від розробника.
image = Image.open(shape.image_data.to_stream())
# ...
# Стисніть зображення та поверніть його до форми.
shape.image_data.set_image("yourCompressedImage")
save_options = aw.saving.OoxmlSaveOptions
save_options.compression_level = aw.saving.CompressionLevel.MAXIMUM
doc.save("Output.jpg", save_options)
import aspose.words as aw
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
shape = builder.InsertImage("Input.jpg")
save_options = aw.saving.ImageSaveOptions(aw.SaveFormat.JPEG)
save_options.jpeg_quality = 50
shape.get_shape_renderer().save("Output.jpg", 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.jpg", '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)):
# Встановіть максимальний розмір сторінки, щоб уникнути масштабування зображення поточної сторінки.
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.jpg", save_options)
def set_page_size(page_setup, width, height):
page_setup.page_width = width;
page_setup.page_height = height;
Ми розміщуємо наші пакунки Python у сховищах PyPi. Будь ласка, дотримуйтесь покрокових інструкцій щодо встановлення "Aspose.Words for Python via .NET" у середовище розробника.
Цей пакет сумісний з Python ≥3.5 і <3.12. Якщо ви розробляєте програмне забезпечення для Linux, перегляньте додаткові вимоги до gcc і libpython у документації продукту.
Ви можете оптимізувати файли в багатьох інших форматах: