Skip to content

업그레이드 가이드

TCPDF-Next는 현재 1.x 릴리스 라인에 있습니다. 이 페이지에서는 버전 관리 정책과 최신 상태를 유지하는 방법을 설명합니다.

시맨틱 버전 관리

TCPDF-Next는 시맨틱 버전 관리 2.0.0을 따릅니다:

버전 변경의미업데이트 안전한가요?
패치 (1.0.x)버그 수정, 문서, 내부 리팩터링예 — 완전한 하위 호환성
마이너 (1.x.0)새로운 기능, 비파괴적 추가예 — 기존 코드 변경 불필요
메이저 (x.0.0)파괴적 API 변경마이그레이션 가이드를 먼저 읽으세요

1.x 시리즈 동안 공개 API는 안정적인 것으로 간주됩니다. 모든 파괴적 변경은 다음 메이저 릴리스로 예약되며 상세한 마이그레이션 가이드가 함께 제공됩니다.

변경 로그 확인

업그레이드하기 전에 GitHub의 CHANGELOG를 검토하세요. 모든 릴리스에는 다음이 나열됩니다:

  • Added — 새로운 기능 및 클래스
  • Changed — 기존 동작의 수정
  • Deprecated — 다음 메이저 버전에서 제거될 API
  • Fixed — 버그 수정
  • Security — 취약점 패치 (즉시 업그레이드)

Composer를 통한 업데이트

bash
# 제약 조건 내에서 최신 호환 버전으로 업데이트
composer update yeeefang/tcpdf-next

# 또는 특정 버전으로 고정
composer require yeeefang/tcpdf-next:^1.2

업데이트 후 테스트 스위트를 실행하여 문제가 없는지 확인하세요:

bash
composer test

다른 라이브러리에서 마이그레이션

다른 PDF 라이브러리에서 오는 경우, 다음 가이드가 익숙한 개념을 TCPDF-Next의 해당 기능에 매핑하는 데 도움이 됩니다:

레거시 TCPDF에서

TCPDF-Next는 포크가 아닙니다. 완전히 새로운 API를 갖춘 처음부터 다시 작성된 라이브러리입니다. 주요 차이점:

  • 정적 설정 상수가 타입화된 열거형과 값 객체로 대체되었습니다.
  • 전역 상태가 제거되었습니다 — 각 Document 인스턴스는 자체 포함되어 있습니다.
  • 모든 클래스는 가능한 경우 readonly이며, 엄격한 declare(strict_types=1)을 사용합니다.
  • PHP 8.5+ 필수 (왜 PHP 8.5+인가? 참조).

병렬 마이그레이션 치트 시트가 1.0 안정 릴리스와 함께 게시될 예정입니다.

FPDF / FPDI에서

cell/multiCell/text/write 메서드는 의도적으로 유사한 이름을 가지고 있어 학습 곡선이 최소화됩니다. 주요 차이점:

  • 명명된 매개변수와 열거형이 위치 기반 정수 플래그를 대체합니다.
  • 출력은 단일 문자 문자열 대신 OutputDestination 열거형을 사용합니다.
  • 폰트 관리는 수동 파일 배치 대신 FontConfig를 통해 처리됩니다.

Dompdf / wkhtmltopdf에서

HTML-to-PDF 변환에 익숙한 경우, TCPDF-Next Core 위에 완전한 CSS3 렌더링 파이프라인을 제공하는 Artisan 패키지(tcpdf-next/artisan)를 참조하세요. 프로그래밍 방식의 PDF 구성의 경우, 기본 사용법에 설명된 API 기반 접근 방식이 HTML 기반 생성보다 더 성능이 좋고 예측 가능합니다.

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