Легко добавляйте фоновый цвет или изображение в PDF с помощью Python
Добавление фонового цвета или изображения в PDF-файлы — распространённая задача в офисной работе и обработке документов, будь то для улучшения внешнего вида или выделения важного содержимого. В этой статье показано, как с помощью бесплатной библиотеки Free Spire.PDF для Python добавить и фоновые цвета, и фоновые изображения в PDF всего в несколько строк кода.
Подготовка
Сначала установите библиотеку Free Spire.PDF для Python. Откройте командную строку и выполните:
pip install spire.pdf.free
После установки можно начинать писать код. Обратите внимание, что Free Spire.PDF — бесплатная версия и имеет ограничение по страницам (до 10 страниц в документе). Для повседневной небольшой обработки документов это обычно достаточно.
Добавление фонового цвета в PDF
Добавить фоновой цвет в PDF очень просто. Переберите каждую страницу PDF и установите её свойство BackgroundColor. Вот полный пример:
from spire.pdf.common import *
from spire.pdf import *
# Create a PdfDocument object
doc = PdfDocument()
# Load the PDF file
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\input.pdf")
# Iterate through all pages in the document
for i in range(doc.Pages.Count):
# Get the current page
page = doc.Pages.get_Item(i)
# Set the background color to light green
page.BackgroundColor = Color.get_LightGreen()
# Save the document
doc.SaveToFile("output.pdf")
Пояснение ключевых частей кода
Создание объекта документа: PdfDocument() создаёт объект PDF-документа, с которым будут выполняться все последующие операции.
Загрузка исходного файла: LoadFromFile() загружает обрабатываемый PDF; аргумент — путь к файлу.
Перебор страниц: используйте doc.Pages.Count, чтобы получить общее число страниц, и пройдитесь по каждой странице.
Установка фонового цвета: свойство page.BackgroundColor задаёт фоновый цвет для текущей страницы. Color.get_LightGreen() возвращает объект цвета светло-зелёного. Класс Color предоставляет множество предопределённых цветов, таких как get_LightBlue(), get_LightYellow(), get_Pink() и т. п., которые можно выбирать по необходимости.
Сохранение файла: SaveToFile() сохраняет изменённый документ по указанному пути.
Добавление фонового изображения в PDF
Если вы хотите добавить фоновое изображение в PDF, используйте свойство BackgroundImage. Код выглядит следующим образом:
from spire.pdf.common import *
from spire.pdf import *
# Create a PdfDocument object
doc = PdfDocument()
# Load the PDF file
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\input.pdf")
# Load the image
image = Stream("C:\\Users\\Administrator\\Desktop\\img.jpg")
# Iterate through all pages in the document
for i in range(doc.Pages.Count):
# Get the current page
page = doc.Pages.get_Item(i)
# Set the background image
page.BackgroundImage = image
# Save the document
doc.SaveToFile("output.pdf")
Пояснение ключевых частей кода
Создание и загрузка: так же, как при добавлении фонового цвета, сначала создайте объект PdfDocument и загрузите целевой PDF-файл.
Перебор страниц: пройдитесь по каждой странице, чтобы одно и то же фоновое изображение применялось ко всем страницам.
Установка фонового изображения: свойство page.BackgroundImage принимает объект Stream; передайте путь к файлу изображения при создании потока. Поддерживаются распространённые форматы (JPG, PNG, BMP и др.). После установки изображение автоматически масштабируется, чтобы заполнить всю страницу в качестве фона.
Сохранение результата: в конце сохраните обработанный документ в новый файл; исходный файл останется без изменений.
Примечания и советы
Формат пути: в Windows используйте двойные обратные слэши \ или raw-строку r"..." для путей к файлам, чтобы избежать проблем с экранированием.
Размер изображения: фоновые изображения автоматически подстраиваются под размер страницы, поэтому ручная масштабировка не всегда требуется. Однако очень большие изображения увеличивают время обработки.
Многостраничные документы: в примере одно и то же изображение устанавливается для каждой страницы. Чтобы задать разные фоны для разных страниц, добавьте проверки по номеру страницы и обрабатывайте их индивидуально.
Резюме
С помощью Free Spire.PDF для Python вы можете добавить фоновые цвета или фоновые изображения в PDF, потратив минимум кода. Библиотека предоставляет интуитивно понятный API, который помогает разработчикам быстро начать работу. Независимо от того, нужно ли вам пакетно обрабатывать документы или добавлять индивидуальные фоны к конкретным файлам, приведённые методы помогут эффективно решить задачу.
Надеюсь, эта статья оказалась полезной! Если у вас есть дополнительные задачи по работе с PDF, не стесняйтесь изучать другие возможности Free Spire.PDF.


Программирование на python
1K постов12K подписчиков
Правила сообщества
Публиковать могут пользователи с любым рейтингом. Однако!
Приветствуется:
• уважение к читателям и авторам
• конструктивность комментариев
• простота и информативность повествования
• тег python2 или python3, если актуально
• код публиковать в виде цитаты, либо ссылкой на специализированный сайт
Не рекомендуется:
• допускать оскорбления и провокации
• распространять вредоносное ПО
• просить решить вашу полноценную задачу за вас
• нарушать правила Пикабу