Главное Авторские колонки Вакансии Вопросы
357 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Как уменьшить размер PDF-файла в Python

В этом посте я покажу, как сжимать PDF-документы в Python с помощью библиотеки Python PDF.
Мнение автора может не совпадать с мнением редакции

Документы PDF могут стать громоздкими из-за встроенных изображений, шрифтов и другого содержимого. Эффективное сжатие этих файлов имеет решающее значение для уменьшения их размера, повышения скорости передачи и оптимизации пространства для хранения.

В этом посте я покажу, как сжимать PDF-документы в Python с помощью библиотеки Python PDF.

  • Сжатие PDF-документа в Python
  • Сжатие изображений в PDF-документе на Python

Установите зависимость

Это решение требует установки в качестве зависимости Spire.PDF for Python, которая представляет собой библиотеку Python для чтения, создания и работы с PDF-документами в программах на Python. Вы можете установить ее, выполнив следующую команду pip.

pip install Spire.PDF

Сжатие PDF-документа в Python

Библиотека Spire.PDF предоставляет класс PdfCompressor, который можно использовать для сжатия различных элементов в PDF-документе. Следующий пример кода демонстрирует, как это сделать.

from spire.pdf.common import *

from spire.pdf import *

# Create a PdfCompressor object, specifying the path of the PDF document to be compressed

compressor = PdfCompressor("C:\Users\Administrator\Desktop\input.pdf")

# Get the OptimizationOptions object

compression_options = compressor.OptimizationOptions

# Compress content

compression_options.SetIsCompressContents(True)

# Compress fonts

compression_options.SetIsCompressFonts(True)

# Enable image compression

compression_options.SetIsCompressImage(True)

# Set image quality

compression_options.SetImageQuality(ImageQuality.Medium)

# Enable image resizing

compression_options.SetResizeImages(True)

# Save the compressed document

compressor.CompressToFile("output/Compressed.pdf")

Сжатие изображений в PDF-документе на Python

Следующий код демонстрирует, как получить изображения в PDF-документе и заменить их сжатыми версиями на языке Python.

from spire.pdf.common import *

from spire.pdf import *

# Create a PdfDocument object

doc = PdfDocument()

# Load a PDF document

doc.LoadFromFile("C:\Users\Administrator\Desktop\input.pdf")

# Set IncrementalUpdate as false

doc.FileInfo.IncrementalUpdate = False

# Create a PdfImageHelper object

imageHelper = PdfImageHelper()

# Iterate through the pages in the document

for i in range(doc.Pages.Count):

# Get a specific page

page = doc.Pages[i]

# Get image information from the page

imagesInfo = imageHelper.GetImagesInfo(page)

# Determine if there is image info in the page

if(len(imagesInfo) > 0):

# Iterater through the image info

for j in range(len(imagesInfo)):

# Get info of a specific image

imageInfo = imagesInfo[j]

# Create a PdfBitmap object based on the image

pdfBitmap = PdfBitmap(imageInfo.Image)

# Set the compression level on a scale from 0 to 100

pdfBitmap.Quality = 80

# Replace the original image with the compressed one

imageHelper.ReplaceImage(imageInfo, pdfBitmap)

# Save the document to a different PDF file

doc.SaveToFile("output/CompressImages.pdf",FileFormat.PDF)

# Dispose resources

doc.Dispose()

Заключение

В этой статье мы рассмотрели, как уменьшить размер PDF-документа с помощью Spire.PDF для Python. Будучи продвинутой библиотекой Python, она позволяет разработчикам выполнять широкий спектр операций с PDF-документами, таких как:

Преобразование PDF в Word с помощью Python

Преобразование PDF в изображения с помощью Python

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.