Skip to content

安裝

系統需求

需求版本用途
PHP^8.5唯讀類別、列舉、屬性掛勾、#[\SensitiveParameter]
ext-openssl*AES-256 加密、PKCS#7 簽章、OCSP/TSA 請求
ext-zlib*PDF 串流的 Flate 壓縮
ext-mbstring*Unicode 字串處理
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 授權釋出。