Кодът за компресиране на PDF в Python

Високопроизводителна библиотека на Python за оптимизиране на съдържанието и размера на PDF, запазвайки оригиналното качество и базовите данни

Това е професионално решение за компресиране на PDF с помощта на Python. Използвайте нашия PDF API за оптимизация, за да разработите софтуер на високо ниво, независим от платформата в 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") # Актуализирайте настройките на страницата, за да изрежете документа, за да пасне на размера на картината. pageSetup = builder.page_setup pageSetup.page_width = shape.width pageSetup.page_height = shape.height pageSetup.top_margin = 0 pageSetup.left_margin = 0 pageSetup.bottom_margin = 0 pageSetup.right_margin = 0 save_options = aw.saving.ImageSaveOptions(aw.SaveFormat.PDF) doc.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

  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. Всички права запазени.