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_FORMATA4ISO 페이지 크기 (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_PDFAfalsePDF/A 적합성 활성화
pdfa.version--PDF/A-4대상 PDF/A 버전
pdfa.output_intent--sRGBICC 출력 인텐트 프로필

암호화 설정

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-BPAdES 레벨 (B-B, B-T, B-LT, B-LTA)
signature.tsa_urlTCPDF_TSA_URL''RFC 3161 타임스탬프 기관 URL

큐 설정

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_QUEUEpdfPDF 작업의 큐 이름
queue.diskTCPDF_DISKlocal출력의 기본 파일시스템 디스크
queue.tries--3최대 재시도 횟수
queue.backoff--30재시도 간 대기 시간 (초)
queue.timeout--120작업 타임아웃 (초)

다음 단계

  • 개요 -- 패키지 아키텍처 및 서비스 프로바이더 바인딩
  • Pdf 파사드 -- 설정 값이 새 문서에 적용되는 방식
  • 큐 작업 -- 큐 관련 설정 적용

LGPL-3.0-or-later 라이선스로 배포됩니다.