Skip to content

비교 및 배포 가이드

어떤 패키지가 필요한지 확실하지 않으신가요? 아래의 인터랙티브 마법사를 사용하거나, 배포 시나리오와 의사결정 매트릭스를 참고하여 최적의 설정을 찾아보세요.

완벽한 설정 찾기

1
프로젝트 유형
2
PHP 버전
3
프레임워크
4
HTML→PDF
5
Pro 기능

프로젝트 유형

설정 생성

설정 생성기

패키지와 옵션을 선택하여 바로 사용할 수 있는 구성 파일을 생성합니다.

Core는 항상 포함됩니다

베이스 이미지
composer require yeeefang/tcpdf-next

배포 시나리오

호스팅 환경마다 지원하는 기능이 다릅니다. 각 환경에 가장 적합한 구성은 다음과 같습니다:

🏠

공유 호스팅

성능
추천 패키지
Core Core

제한된 PHP 접근, 셸 없음. Core만 사용 가능. Chrome/RoadRunner 불가.

🖥

VPS (PHP-FPM)

성능
추천 패키지
Core CoreArtisan ArtisanLaravel Laravel

전체 서버 제어. Chrome 설치로 HTML→PDF 지원. 대부분의 앱에 적합.

🖥

VPS + RoadRunner

RoadRunner
성능
추천 패키지
Core CoreArtisan ArtisanLaravel Laravel

상주 워커로 콜드 스타트 제거. 처리량 3-7배 향상.

전용 서버

성능
추천 패키지
Core CoreArtisan ArtisanPro ProLaravel Laravel

완전한 리소스. Pro 기능(PAdES, PDF/A-4, HSM)에 적합.

전용 서버 + RoadRunner

RoadRunner
성능
추천 패키지
Core CoreArtisan ArtisanPro ProLaravel Laravel

최대 처리량. 4 워커로 9,000+ docs/s.

Kubernetes / Docker

RoadRunner
성능
추천 패키지
Core CoreArtisan ArtisanPro ProSymfony Symfony

수평 확장. RoadRunner를 워커 프로세스로 사용. 프로덕션 등급.

성능: 표준 PHP-FPM vs RoadRunner

RoadRunner는 PHP 애플리케이션을 영구 워커로 메모리에 유지하여 콜드 스타트를 제거하고 처리량을 대폭 향상시킵니다.

표준 PHP-FPM vs RoadRunner

▲ 높을수록 좋음
PHP-FPM RoadRunner
간단한 문서
390 docs/s
2,605 docs/s
6.7x 빠름
인보이스
294 docs/s
1,960 docs/s
6.7x 빠름
100페이지 보고서
14 docs/s
98 docs/s
7.0x 빠름
4 Workers
1,500 docs/s
9,221 docs/s
6.1x 빠름

PHP 8.5.3 + OPcache + JIT · Docker 4 CPUs / 16 GB · i9-13900K · 20회 중앙값

RoadRunner 사용 시기

높은 처리량(분당 수백 개의 PDF)이나 낮은 지연 시간(서브밀리초 응답 시간)이 필요한 경우 RoadRunner를 권장합니다. 요청당 소수의 PDF를 생성하는 일반적인 웹 애플리케이션에서는 표준 PHP-FPM으로 충분합니다.

사용 사례 의사결정 매트릭스

특정 사용 사례에 어떤 패키지를 설치해야 할까요?

\u{2705} 추천\u{26AA} 선택 해당 없음
사용 사례Core CoreArtisan ArtisanPro ProLaravel LaravelSymfony SymfonyCI4 CI4Adaptation Adaptation
인보이스 및 보고서 생성
전자상거래 (HTML→PDF)
접근성 문서 (PDF/UA)
디지털 서명 (PAdES)
레거시 TCPDF 마이그레이션
고처리량 API
아카이브 규정 준수 (PDF/A-4)
바코드 중심 문서

패키지 호환성

대부분의 패키지는 원활하게 함께 사용할 수 있지만, 한 가지 예외가 있습니다:

조합호환비고
Core + 모든 패키지Core는 항상 필수입니다
Artisan + 모든 프레임워크Chrome CDP는 모든 프레임워크에서 작동합니다
Pro + Laravel/Symfony/CI모든 프레임워크에서 전체 엔터프라이즈 기능 사용 가능
Pro + Adaptation아니오Adaptation은 레거시 TCPDF API를 래핑합니다. Pro는 최신 TCPDF-Next API를 확장합니다. 둘 중 하나를 선택하세요.
Adaptation + 프레임워크Adaptation을 사용하여 프레임워크 내에서 레거시 코드를 마이그레이션

CJK 및 폰트 고려사항

내장된 Basic 14 폰트(Helvetica, Times, Courier 등)는 라틴 문자만 지원합니다. 문서에 중국어, 일본어 또는 한국어 텍스트가 필요한 경우, 다음 사항을 준수해야 합니다:

  1. TrueType 폰트 임베드setFont()에 필요한 문자 세트를 지원하는 TTF 폰트를 사용합니다
  2. 폰트 경로 설정TCPDF_FONTS_DIR 환경 변수를 설정하거나 설정 API를 사용합니다
  3. 파일 크기 고려 — CJK 폰트는 일반적으로 개당 5~15 MB입니다. 폰트 서브세팅을 사용하여 PDF 크기를 줄이세요
php
// 예제: CJK 폰트 사용
$pdf = Document::createStandalone()
    ->addPage()
    ->setFont('/path/to/NotoSansCJK-Regular.ttf', '', 12)
    ->cell(0, 10, '你好世界 こんにちは 안녕하세요');

권장 CJK 폰트

  • Noto Sans CJK — Google의 오픈소스 CJK 폰트 패밀리(무료)
  • Source Han Sans — Adobe의 동등 제품(무료)
  • 두 폰트 모두 단일 폰트 파일에서 간체 중국어, 번체 중국어, 일본어, 한국어를 지원합니다.

공유 호스팅 제한사항

공유 호스팅에서는 일반적으로 다음을 수행할 수 없습니다:

  • Chrome/Chromium 설치(Artisan 패키지 사용 불가)
  • 장시간 실행 프로세스 구동(RoadRunner 사용 불가)
  • PHP 확장 설치(제공된 것으로 제한)

공유 호스팅 권장 설정:

bash
composer require yeeefang/tcpdf-next

기본적인 HTML에서 PDF로의 변환에는 Core만 사용하고 내장 HTML 파서를 활용하세요. 픽셀 단위로 정확한 HTML 렌더링이 필요한 경우 VPS로의 업그레이드를 고려하세요.

다음 단계

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