Код для стиснення PDF в Python

Високопродуктивна бібліотека Python для оптимізації вмісту та розміру PDF із збереженням вихідної якості та базових даних

Це професійне рішення для стиснення PDF за допомогою Python. Використовуйте наш API оптимізації PDF, щоб розробити високорівневе, незалежне від платформи програмне забезпечення на Python. Спробуйте онлайн безкоштовно!

Переглянути фрагмент коду

Стисніть PDF у Python

Ця бібліотека Python надає розробникам можливість швидко та ефективно стискати PDF документи програмним шляхом. Легко отримайте оптимізований вихідний PDF файл, готовий до друку, архівування або обміну в мережі. Це самостійне рішення для обробки PDF документів для Python, яке не вимагає встановлення стороннього програмного забезпечення.

Зменште розмір PDF файлу за допомогою Python

Наш продукт надає розробникам Python інтегрований API для зменшення розміру PDF файлів. Стиснення PDF виконується за два проходи. Під час першого проходу всі сторінки PDF конвертуються у формат зображення. У нашому продукті використовуються адаптивні та високоефективні алгоритми стиснення зображень, які дозволяють розробникам отримувати компактний вихідний PDF файл, зберігаючи при цьому оптимальну якість документа. На наступному проході послідовність зображень стискається та об'єднується, щоб утворити вміст нового, оптимізованого PDF файлу.

Стиснення PDF стало простішим за допомогою 'Aspose.Words for Python via .NET'. У наступному прикладі показано, як зменшити розмір PDF файлу в Python:

Приклад коду в Python для стиснення PDF файлів
Завантажте файл, який потрібно оптимізувати/стиснути
Виконати код
Виберіть цільовий формат зі списку
50%
pip install aspose-words
Копія
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.pdf", '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.pdf", save_options)

def set_page_size(page_setup, width, height):

    page_setup.page_width = width;
    page_setup.page_height = height;
import aspose.words as aw doc = aw.Document("Input.pdf") 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.pdf", save_options) import aspose.words as aw doc = aw.Document("Input.pdf") 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.pdf") import aspose.words as aw doc = aw.Document("Input.pdf") 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.pdf", save_options) import aspose.words as aw doc = aw.Document() builder = aw.DocumentBuilder(doc) shape = builder.InsertImage("Input.pdf") save_options = aw.saving.ImageSaveOptions(aw.SaveFormat.PDF) shape.get_shape_renderer().save("Output.pdf", 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.pdf", '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.pdf", save_options) def set_page_size(page_setup, width, height): page_setup.page_width = width; page_setup.page_height = height;
Виконати код

Як стиснути PDF Python

  1. Встановіть Aspose.Words for Python via .NET.
  2. Додайте посилання на бібліотеку (імпортуйте бібліотеку) до свого проекту Python.
  3. Відкрийте вихідний PDF файл у Python.
  4. Стисніть PDF без втрати якості.
  5. Викличте метод document_cleanup(). Отриманий код може відрізнятися в залежності від формату вихідного файлу.
  6. Отримайте стиснутий результат у вигляді PDF файлу.

Python бібліотека для оптимізації та стиснення PDF файлів

Ми розміщуємо наші пакунки Python у сховищах PyPi. Будь ласка, дотримуйтесь покрокових інструкцій щодо встановлення "Aspose.Words for Python via .NET" у середовище розробника.

Системні вимоги

Цей пакет сумісний з Python ≥3.5 і <3.12. Якщо ви розробляєте програмне забезпечення для Linux, перегляньте додаткові вимоги до gcc і libpython у документації продукту.

Інші підтримувані оптимізації формату файлів

Ви можете оптимізувати файли в багатьох інших форматах:

5%

Підпишіться на оновлення продукту Aspose

Отримуйте щомісячні інформаційні бюлетені та пропозиції безпосередньо на вашу поштову скриньку.

© Aspose Pty Ltd 2001-2024. Всі права захищені.