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

Как добавить текст в PDF с помощью Python

В этой статье рассмотрим, как добавлять текст в PDF с помощью Free Spire.PDF: от базового примера до расширенных настроек оформления.
Мнение автора может не совпадать с мнением редакции

При обработке документов часто требуется добавить текст в существующий PDF-файл: примечания, пояснения, текстовые водяные знаки или подписи с номерами страниц. В Python доступно множество библиотек для работы с PDF. Среди них Free Spire.PDF for Python предлагает простой API и гибкие настройки оформления, не требуя установки компонентов Adobe. Библиотека позволяет добавлять текст, настраивать шрифты, цвет, прозрачность и угол поворота.

В этой статье рассмотрим, как добавлять текст в PDF с помощью Free Spire.PDF: от базового примера до расширенных настроек оформления.

1. Подготовка среды

1.1. Установка библиотеки

Установите Free Spire.PDF с помощью pip:

pip install spire-pdf-free

Библиотека поддерживает Python 3.7 и более поздние версии и работает в Windows, macOS и Linux. После установки можно использовать её API для редактирования PDF.

1.2. Основные классы

В примерах используются следующие классы:

  1. PdfDocument — основной класс для загрузки, сохранения и закрытия PDF-документов.
  2. PdfCjkStandardFont, PdfTrueTypeFont, PdfFont — классы для работы со шрифтами CJK, пользовательскими шрифтами TrueType и встроенными стандартными шрифтами PDF соответственно.
  3. PdfSolidBrush, PdfRGBColor — классы для создания кисти и настройки цвета текста.
  4. PointF — класс для задания координат текста на странице PDF.

2. Базовый пример: добавление обычного текста в PDF

В этом примере загрузим существующий PDF-файл и добавим текст в заданную позицию на выбранной странице. Также настроим шрифт и цвет.

Для русского текста используется шрифт Arial с поддержкой кириллицы. Он должен быть установлен в системе.

from spire.pdf import (

PdfDocument,

PdfFontStyle,

PdfSolidBrush,

PdfRGBColor,

PointF,

PdfTrueTypeFont,

)

# Создаём объект PDF-документа и загружаем локальный файл

pdf = PdfDocument()

pdf.LoadFromFile("input.pdf")

# Получаем первую страницу PDF (индексация начинается с 0)

page = pdf.Pages.get_Item(0)

# Настраиваем шрифт: Arial, 16 пунктов, полужирное начертание

# Встраиваем шрифт в PDF

font = PdfTrueTypeFont("Arial", 16.0, PdfFontStyle.Bold, True)

# Создаём кисть светло-оранжевого цвета

brush = PdfSolidBrush(PdfRGBColor(255, 200, 180))

# Задаём координаты текста (в пунктах)

location = PointF(72.0, 300.0)

# Рисуем текст в указанной позиции

page.Canvas.DrawString("Это добавленный текст.", font, brush, location)

# Сохраняем изменённый PDF-файл

pdf.SaveToFile("Добавление_текста.pdf")

# Закрываем документ и освобождаем ресурсы

pdf.Close()

Основная логика кода: загрузка документа → выбор страницы → настройка шрифта и цвета → задание координат → добавление текста → сохранение документа и освобождение ресурсов.

3. Расширенные настройки оформления

Spire.PDF поддерживает различные настройки текста, позволяя адаптировать его оформление к требованиям документа. Рассмотрим выбор шрифтов, настройку цвета, прозрачности и поворота.

3.1. Выбор шрифта и настройка цвета

Библиотека предлагает три основных способа создания шрифтов: использование шрифтов CJK, системных шрифтов TrueType и встроенных стандартных шрифтов PDF. Цвет текста можно задать произвольными значениями RGB.

from spire.pdf import (

PdfTrueTypeFont,

PdfFont,

PdfFontFamily,

PdfFontStyle,

PdfSolidBrush,

PdfRGBColor,

)

# Способ 1: системный шрифт TrueType — Calibri,

# курсив, 16 пунктов, со встраиванием в PDF

font1 = PdfTrueTypeFont("Calibri«, 16.0, PdfFontStyle.Italic, True)

# Способ 2: встроенный стандартный шрифт PDF — Times Roman,

# курсив, 16 пунктов

font2 = PdfFont(PdfFontFamily.TimesRoman, 16.0, PdfFontStyle.Italic)

# Создаём кисть лесного зелёного цвета

brush = PdfSolidBrush(PdfRGBColor(34, 139, 34))

Встраивание шрифта помогает сохранить внешний вид текста при открытии PDF на других устройствах. Это особенно полезно для документов, которые будут просматриваться на разных компьютерах.

Для русского текста выбирайте шрифт TrueType с поддержкой кириллицы, например Arial или Calibri.

3.2. Настройка прозрачности текста

Метод SetTransparency() позволяет задать прозрачность текста. Это удобно для создания ненавязчивых водяных знаков и примечаний.

Значение параметра находится в диапазоне от 0.0 до 1.0: 0.0 означает полную прозрачность, а 1.0 — полную непрозрачность.

# Устанавливаем непрозрачность текста на уровне 0.4

page.Canvas.SetTransparency(0.4)

# Рисуем полупрозрачный текст

page.Canvas.DrawString(

«Полупрозрачный текст»,

font,

brush,

PointF(100.0, 100.0),

)

3.3. Поворот текста

Поворачивая систему координат холста, можно размещать текст под произвольным углом. Этот приём часто используется для диагональных водяных знаков и боковых подписей.

Отрицательное значение задаёт поворот против часовой стрелки, положительное — по часовой стрелке.

# Поворачиваем холст на 45 градусов против часовой стрелки

page.Canvas.RotateTransform(-45)

# Рисуем повёрнутый текст

page.Canvas.DrawString(

«Повёрнутый текст»,

font,

brush,

PointF(100.0, 100.0),

)

4. Что учитывать при разработке

  1. Освобождение ресурсов. После завершения работы вызывайте метод Close(), чтобы освободить ресурсы документа и избежать блокировки файлов и лишнего потребления памяти.
  2. Координаты. Координаты задаются в пунктах. Начало системы координат находится в левом верхнем углу страницы. Выбирайте позицию текста с учётом размеров страницы.
  3. Поддержка символов. Для китайского текста используйте PdfCjkStandardFont или подходящий системный шрифт. Для русского текста выбирайте шрифт с поддержкой кириллицы, чтобы избежать отсутствующих или некорректно отображаемых символов.
  4. Комбинирование стилей. Прозрачность, поворот и настройки шрифта можно сочетать для создания более сложных вариантов оформления.

5. Заключение

Spire.PDF for Python позволяет добавлять текст в PDF и настраивать его оформление без сложного кода. Библиотека поддерживает различные шрифты, произвольные цвета, полупрозрачный и повёрнутый текст .

Понятный API и гибкие настройки оформления делают её удобным инструментом для автоматического редактирования PDF, пакетной обработки документов и создания текстовых водяных знаков.

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