Skip to content

설치

시스템 요구사항

요구사항버전용도
PHP^8.5읽기 전용 클래스, Backed 열거형, 프로퍼티 훅, #[\SensitiveParameter]
ext-openssl*AES-256 암호화, PKCS#7 디지털 서명, OCSP/TSA 요청
ext-zlib*PDF 스트림 Flate 압축
ext-mbstring*유니코드 문자열 처리
ext-gd*이미지 처리 (JPEG, PNG, WebP, AVIF)
ext-curl*OCSP 응답자 및 TSA 서버에 대한 HTTP 요청
ext-intl*ICU 줄 바꿈 및 로케일 인식 서식 지정

모든 확장 검증:

bash
php -r "foreach(['openssl','zlib','mbstring','gd','curl','intl'] as \$e){echo \$e.': '.(extension_loaded(\$e)?'OK':'MISSING').PHP_EOL;}"

Core 패키지

bash
composer require yeeefang/tcpdf-next

의존성: phpseclib/phpseclib ^3.0 (RSASSA-PSS, ASN.1, X.509)

Artisan 패키지 (Chrome CDP)

bash
composer require yeeefang/tcpdf-nextartisan

추가 요구사항:

  • chrome-php/chrome ^1.15
  • 시스템에 Chrome 또는 Chromium 브라우저 설치
bash
# Ubuntu/Debian
apt-get install chromium-browser

# macOS
brew install --cask chromium

# 또는 환경 변수 사용
export CHROME_PATH=/usr/bin/google-chrome

Laravel 패키지

bash
composer require yeeefang/tcpdf-nextlaravel

요구사항: Laravel ^12.0

ServiceProvider는 자동 감지됩니다. 설정 파일 공개:

bash
php artisan vendor:publish --tag=tcpdf-next-config

Pro 패키지 (상용)

bash
composer require yeeefang/tcpdf-nextpro

라이선스: 애플리케이션당 $1,000 USD, 메이저 버전별 영구 라이선스.

추가 의존성: phpseclib/phpseclib ^3.0 | 선택적: ext-pkcs11

라이선스 키 설정:

bash
# .env
TCPDF_PRO_LICENSE_KEY=your-license-key

Docker 설정

🐳 Docker for Legacy PHP Environments
프로덕션 서버가 PHP < 8.5를 실행하는 경우, Docker를 사용하여 TCPDF-Next를 격리하세요.
dockerfile
FROM php:8.5-cli

RUN apt-get update && apt-get install -y \
    libicu-dev libpng-dev libjpeg-dev libwebp-dev libzip-dev \
    && docker-php-ext-configure gd --with-jpeg --with-webp \
    && docker-php-ext-install gd intl zip

COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

COPY . /app
WORKDIR /app
RUN composer install --no-dev --optimize-autoloader

Chrome (Artisan 패키지)용:

dockerfile
FROM php:8.5-cli

RUN apt-get update && apt-get install -y \
    libicu-dev libpng-dev libjpeg-dev libwebp-dev chromium \
    && docker-php-ext-configure gd --with-jpeg --with-webp \
    && docker-php-ext-install gd intl

ENV CHROME_PATH=/usr/bin/chromium

COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
COPY . /app
WORKDIR /app
RUN composer install --no-dev --optimize-autoloader

설치 검증

php
<?php
require 'vendor/autoload.php';

use Yeeefang\TcpdfNext\Core\Document;

$pdf = Document::create()->addPage()->setFont('Helvetica', '', 12)->cell(0, 10, 'OK');
echo "TCPDF-Next is working. Classes loaded: " . count(get_declared_classes()) . "\n";

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