Skip to content

Конфигурация 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.formatTCPDF_PAGE_FORMATA4Размер страницы 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.directoryresource_path('fonts')Путь к пользовательским файлам шрифтов TTF/OTF
fonts.cachestorage_path('.../fonts')Кеш скомпилированных метрик шрифтов
fonts.default_familyHelveticaСемейство шрифта, когда не указано иное
fonts.default_size11.0Размер шрифта по умолчанию в пунктах
fonts.subsettrueВстраивать только используемые глифы для уменьшения размера файла

Соответствие PDF/A

php
'pdfa' => [
    'enabled'       => env('TCPDF_PDFA', false),
    'version'       => 'PDF/A-4',
    'output_intent' => 'sRGB',
],
КлючПеременная окруженияПо умолчаниюОписание
pdfa.enabledTCPDF_PDFAfalseВключить соответствие 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.levelaes-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.enabledTCPDF_SIGN_ENABLEDfalseВключить автоматическое подписание
signature.cert_pathTCPDF_SIGN_CERT''Путь к PEM-сертификату
signature.key_pathTCPDF_SIGN_KEY''Путь к PEM приватному ключу
signature.levelTCPDF_SIGN_LEVELB-BУровень PAdES (B-B, B-T, B-LT, B-LTA)
signature.tsa_urlTCPDF_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.connectionTCPDF_QUEUE_CONNECTIONnullПодключение очереди (null = по умолчанию)
queue.queueTCPDF_QUEUEpdfИмя очереди для PDF-заданий
queue.diskTCPDF_DISKlocalДиск файловой системы по умолчанию для вывода
queue.tries--3Максимальное количество попыток
queue.backoff--30Секунды между попытками
queue.timeout--120Таймаут задания в секундах

Далее

  • Обзор — Архитектура пакета и привязки service provider
  • Facade Pdf — Как значения конфигурации применяются к новым документам
  • Задания очереди — Конфигурация очереди в действии

Распространяется по лицензии LGPL-3.0-or-later.