Конфигурация Laravel
Все опции находятся в config/tcpdf-next.php. Опубликуйте файл:
bash
php artisan vendor:publish --tag=tcpdf-next-configНастройки страницы по умолчанию
php
'page' => [
'format' => env('TCPDF_PAGE_FORMAT', 'A4'),
'orientation' => 'portrait', // 'portrait' | 'landscape'
'unit' => 'mm', // 'mm' | 'pt' | 'cm' | 'in'
'margin' => ['top' => 20.0, 'right' => 15.0, 'bottom' => 20.0, 'left' => 15.0],
],| Ключ | Переменная окружения | По умолчанию | Описание |
|---|---|---|---|
page.format | TCPDF_PAGE_FORMAT | A4 | Размер страницы ISO (A4, Letter, Legal и т.д.) |
page.orientation | -- | portrait | Ориентация страницы по умолчанию |
page.unit | -- | mm | Единица измерения для всех координат |
Конфигурация шрифтов
php
'fonts' => [
'directory' => resource_path('fonts'),
'cache' => storage_path('framework/cache/tcpdf-next/fonts'),
'default_family' => 'Helvetica',
'default_size' => 11.0,
'subset' => true,
],| Ключ | По умолчанию | Описание |
|---|---|---|
fonts.directory | resource_path('fonts') | Путь к пользовательским файлам шрифтов TTF/OTF |
fonts.cache | storage_path('.../fonts') | Кеш скомпилированных метрик шрифтов |
fonts.default_family | Helvetica | Семейство шрифта, когда не указано иное |
fonts.default_size | 11.0 | Размер шрифта по умолчанию в пунктах |
fonts.subset | true | Встраивать только используемые глифы для уменьшения размера файла |
Соответствие PDF/A
php
'pdfa' => [
'enabled' => env('TCPDF_PDFA', false),
'version' => 'PDF/A-4',
'output_intent' => 'sRGB',
],| Ключ | Переменная окружения | По умолчанию | Описание |
|---|---|---|---|
pdfa.enabled | TCPDF_PDFA | false | Включить соответствие PDF/A |
pdfa.version | -- | PDF/A-4 | Целевая версия PDF/A |
pdfa.output_intent | -- | sRGB | Профиль ICC intent вывода |
Настройки шифрования
php
'encryption' => [
'level' => 'aes-256',
'user_pass' => env('TCPDF_USER_PASS', ''),
'owner_pass' => env('TCPDF_OWNER_PASS', ''),
'permissions' => ['print', 'copy'],
],| Ключ | По умолчанию | Описание |
|---|---|---|
encryption.level | aes-256 | Алгоритм: aes-256, aes-128, rc4-128 |
encryption.user_pass | '' | Пароль для открытия документа |
encryption.owner_pass | '' | Пароль для изменения разрешений |
encryption.permissions | ['print', 'copy'] | Разрешённые: print, copy, modify, annotate |
Настройки цифровой подписи
php
'signature' => [
'enabled' => env('TCPDF_SIGN_ENABLED', false),
'cert_path' => env('TCPDF_SIGN_CERT', ''),
'key_path' => env('TCPDF_SIGN_KEY', ''),
'key_pass' => env('TCPDF_SIGN_KEY_PASS', ''),
'level' => env('TCPDF_SIGN_LEVEL', 'B-B'),
'tsa_url' => env('TCPDF_TSA_URL', ''),
],| Ключ | Переменная окружения | По умолчанию | Описание |
|---|---|---|---|
signature.enabled | TCPDF_SIGN_ENABLED | false | Включить автоматическое подписание |
signature.cert_path | TCPDF_SIGN_CERT | '' | Путь к PEM-сертификату |
signature.key_path | TCPDF_SIGN_KEY | '' | Путь к PEM приватному ключу |
signature.level | TCPDF_SIGN_LEVEL | B-B | Уровень PAdES (B-B, B-T, B-LT, B-LTA) |
signature.tsa_url | TCPDF_TSA_URL | '' | URL RFC 3161 timestamp authority |
Конфигурация очереди
php
'queue' => [
'connection' => env('TCPDF_QUEUE_CONNECTION', null),
'queue' => env('TCPDF_QUEUE', 'pdf'),
'disk' => env('TCPDF_DISK', 'local'),
'tries' => 3,
'backoff' => 30,
'timeout' => 120,
],| Ключ | Переменная окружения | По умолчанию | Описание |
|---|---|---|---|
queue.connection | TCPDF_QUEUE_CONNECTION | null | Подключение очереди (null = по умолчанию) |
queue.queue | TCPDF_QUEUE | pdf | Имя очереди для PDF-заданий |
queue.disk | TCPDF_DISK | local | Диск файловой системы по умолчанию для вывода |
queue.tries | -- | 3 | Максимальное количество попыток |
queue.backoff | -- | 30 | Секунды между попытками |
queue.timeout | -- | 120 | Таймаут задания в секундах |
Далее
- Обзор — Архитектура пакета и привязки service provider
- Facade Pdf — Как значения конфигурации применяются к новым документам
- Задания очереди — Конфигурация очереди в действии