NextPDF 설치
한눈에 보기
섹션 제목: “한눈에 보기”모든 NextPDF 배포판은 패키지 관리자 명령 하나로 설치할 수 있습니다. PHP 배포판은 Composer를 사용하고, Python SDK는 pip를 사용합니다. 구축하려는 대상에 맞는 탭을 선택해 명령을 실행한 다음, 이 페이지 하단의 확인 단계에서 결과를 검증합니다.
요구 사항
섹션 제목: “요구 사항”NextPDF는 하나의 최신 런타임을 대상으로 합니다. 아래 제약 조건은 패키지의 composer.json 파일에서 직접 가져온 것입니다.
| 요구 사항 | 제약 조건 | 참고 |
|---|---|---|
| PHP | >=8.4 <9.0 | Composer는 PHP 8.3 이하 또는 PHP 9에서는 설치를 거부합니다. |
| Composer | 2.7 이상 | 종속성 해석기 및 자동 로더 생성기입니다. |
ext-mbstring | 필수 | 텍스트 레이아웃을 위한 멀티바이트 문자열 처리입니다. |
ext-zlib | 필수 | PDF 객체를 위한 스트림 압축입니다. |
| Chrome 또는 Chromium | 선택 사항 | Artisan 렌더러(writeHtmlChrome())에만 해당됩니다. |
| Gotenberg 서비스 | 선택 사항 | Gotenberg를 통한 오피스 및 HTML 변환에만 해당됩니다. |
| Python | 3.10 이상 | Python SDK에만 해당됩니다. |
ext-mbstring과 ext-zlib는 지원되는 모든 PHP 빌드에서 활성화된 상태로 제공됩니다. 통합 기능은 부팅 시 이를 확인하며, 둘 중 하나라도 누락되면 명확한 메시지와 함께 중지됩니다.
코어 설치
섹션 제목: “코어 설치”PHP에서 PDF를 생성하고 검사하려면 코어 엔진만 있으면 됩니다.
composer require nextpdf/core배포된 모든 워커가 동일한 엔진 버전으로 해석되도록 composer.lock을 커밋하세요. 설치가 완료되면 첫 번째 PDF로 진행하세요.
프레임워크 통합 설치
섹션 제목: “프레임워크 통합 설치”컨테이너 바인딩, 응답 헬퍼, 큐 작업을 사용하려면 프레임워크 어댑터 중 하나를 설치하세요. 각 어댑터는 nextpdf/core를 선언하고 자동으로 해석합니다.
composer require nextpdf/laravel자동 검색으로 서비스 프로바이더와 Pdf 파사드가 등록됩니다. 그런 다음 구성 파일을 게시하세요.
php artisan vendor:publish --tag=nextpdf-config다음을 참고하세요: Laravel 설치 가이드 및 Laravel 빠른 시작.
composer require nextpdf/symfonySymfony Flex 애플리케이션에서는 번들이 자동으로 등록됩니다. Flex가 아닌 애플리케이션에서는 NextPDF\Symfony\NextPdfBundle을 직접 config/bundles.php에 추가하세요. Symfony 설치 가이드를 참고하세요.
composer require nextpdf/codeigniterCodeIgniter 4는 Services 클래스와 pdf() 헬퍼를 자동으로 검색하므로, 수동 등록이 필요하지 않습니다. CodeIgniter 설치 가이드를 참고하세요.
렌더러 또는 서비스 설치
섹션 제목: “렌더러 또는 서비스 설치”NextPDF는 세 가지 방법으로 HTML을 PDF로 렌더링합니다. 렌더링을 수행하려는 위치에 맞는 패키지를 설치하세요. 이들 중 어느 것도 코어 엔진에 내장된 순수 PHP HTML 파이프라인인 writeHtml()을 대체하지 않습니다.
composer require nextpdf/artisanChrome DevTools Protocol(CDP)을 통한 헤드리스 Chrome 렌더링을 추가합니다. 또한 호스트에서 접근 가능한 Chrome 또는 Chromium 바이너리가 필요합니다. 설치가 완료되면 문서에서 writeHtmlChrome()을 호출하세요. Artisan 빠른 시작을 참고하세요.
composer require nextpdf/cloudflare guzzlehttp/guzzle엣지에서 Cloudflare Browser Rendering을 통해 렌더링합니다. 이 브리지는 PSR-18 및 PSR-17 계약에만 의존하므로, HTTP 클라이언트는 직접 제공해야 합니다(여기서는 Guzzle을 사용함). Cloudflare 설치 가이드를 참고하세요.
composer require nextpdf/gotenberg guzzlehttp/guzzleGotenberg 서비스를 통해 오피스 문서와 HTML을 변환합니다. PSR-18 클라이언트와 접근 가능한 Gotenberg 인스턴스를 제공하세요. Gotenberg 설치 가이드를 참고하세요.
서버 설치
섹션 제목: “서버 설치”NextPDF Server(Connect라고도 함)는 독립 실행형 서비스입니다. MCP, REST, gRPC를 통해 엔진을 노출합니다.
composer require nextpdf/server이 패키지는 vendor/bin/에 콘솔 진입점을 추가하며, 여기에는 vendor/bin/nextpdf-mcp(MCP stdio 서버)와 vendor/bin/nextpdf-server(REST 서버)가 포함됩니다. REST 및 gRPC 전송에는 RoadRunner 바이너리도 필요합니다.
./vendor/bin/rr get-binary다음을 참고하세요: Connect 설치 가이드 및 Connect 빠른 시작.
Python SDK 설치
섹션 제목: “Python SDK 설치”Python SDK는 실행 중인 NextPDF Server를 위한 타입 지정 클라이언트입니다. PyPI에서 설치하세요.
pip install nextpdf이 SDK에는 Python 3.10 이상과 접근 가능한 NextPDF Server 엔드포인트가 필요합니다. Python SDK 빠른 시작을 참고하세요.
설치 확인
섹션 제목: “설치 확인”코드를 작성하기 전에 각 배포판이 제대로 해석되었는지 확인하세요.
composer show nextpdf/core버전 줄이 표시되면 엔진이 설치되고 자동 로더에 등록되었음을 확인할 수 있습니다.
php artisan package:discover --ansi출력에는 검색된 패키지 목록에 nextpdf/laravel이 표시됩니다.
php bin/console debug:container nextpdf컨테이너가 nextpdf.document 별칭과 PdfFactory 서비스를 보고합니다.
./vendor/bin/generate-skills --dry-run --list-tools이 명령은 실제로 서버를 시작하지 않고 레지스트리를 부팅해 이 설치가 노출하는 도구를 출력합니다.
nextpdf version버전 문자열이 표시되면 SDK가 정상적으로 가져와졌음을 확인할 수 있습니다.