Bỏ qua để đến nội dung
getnextpdf.com

Cài đặt NextPDF

Cài đặt bất kỳ bản phân phối NextPDF nào bằng một lệnh của trình quản lý gói. Các bản phân phối PHP dùng Composer; Python software development kit (SDK) dùng pip. Chọn tab phù hợp với thứ bạn đang xây dựng. Chạy lệnh, rồi kiểm tra kết quả ở cuối trang này.

NextPDF hướng tới một runtime hiện đại duy nhất. Các ràng buộc này được lấy trực tiếp từ chính các tệp composer.json của các gói.

Yêu cầu môi trường chạy của NextPDF, được đọc từ chính các tệp composer.json của các gói
Yêu cầuRàng buộcTrạng tháiGhi chú
PHP>=8.4 <9.0Bắt buộcComposer từ chối cài đặt trên PHP 8.3 trở xuống, hoặc trên PHP 9.
Composer2.xBắt buộcCần thiết để phân giải phụ thuộc và tạo bộ nạp tự động.
ext-mbstringBắt buộcXử lý chuỗi đa byte cho bố cục văn bản.
ext-zlibBắt buộcNén luồng cho các đối tượng Portable Document Format (PDF).
ext-intlBắt buộcCác dịch vụ International Components for Unicode (ICU): văn bản hai chiều, ngắt dòng, và định dạng theo bản địa.
ext-gdBắt buộcGiải mã và xử lý ảnh raster cho các ảnh nhúng.
ext-curlBắt buộcCác lượt trao đổi qua mạng: đóng dấu thời gian RFC 3161 và tải tài nguyên từ xa. Việc tạo ngoại tuyến không dùng đến nó, nhưng Composer vẫn yêu cầu nó.
ext-opensslBắt buộcMật mã cho chữ ký số, cấu trúc CMS, và mã hóa.
Chrome or ChromiumTùy chọnChỉ dành cho bộ kết xuất Artisan (writeHtmlChrome()).
Gotenberg serviceTùy chọnChỉ dành cho việc chuyển đổi tài liệu văn phòng và HTML thông qua Gotenberg.
Python3.10+Tùy chọnChỉ dành cho software development kit (SDK) của Python.

ext-mbstringext-zlib được bật sẵn trong hầu hết các bản build PHP; còn ext-intl, ext-gd, ext-curlext-openssl thì khác nhau tùy theo bản phân phối, vì vậy hãy kiểm tra cả sáu bằng php -m trước khi cài đặt. Khi khởi động, các bản tích hợp sẽ kiểm tra những phần mở rộng mà chúng cần và dừng lại kèm theo thông báo rõ ràng nếu thiếu bất kỳ phần nào.

Để tạo và kiểm tra tệp PDF từ PHP, bạn chỉ cần engine lõi.

Terminal window
composer require nextpdf/core

Hãy commit composer.lock để mọi worker đã triển khai đều phân giải cùng một phiên bản engine. Sau khi cài đặt, hãy chuyển sang PDF đầu tiên của bạn.

Cài đặt adapter framework để có container binding, response helper và queue job. Mỗi adapter đều khai báo nextpdf/core và phân giải nó cho bạn.

Terminal window
composer require nextpdf/laravel

Auto-discovery đăng ký service provider và facade Pdf. Sau đó, publish tệp cấu hình:

Terminal window
php artisan vendor:publish --tag=nextpdf-config

Xem hướng dẫn cài đặt Laravelhướng dẫn bắt đầu nhanh Laravel.

NextPDF kết xuất HTML thành PDF theo ba cách. Hãy cài đặt tùy chọn tương ứng với nơi bạn muốn quá trình kết xuất diễn ra. Không tùy chọn nào trong số này thay thế writeHtml(), pipeline HTML thuần PHP tích hợp sẵn trong engine lõi.

Terminal window
composer require nextpdf/artisan

Gói này bổ sung khả năng kết xuất bằng headless-Chrome thông qua Chrome DevTools Protocol (CDP). Bạn cũng cần một binary Chrome hoặc Chromium mà host có thể truy cập. Sau khi cài đặt, hãy gọi writeHtmlChrome() trên một tài liệu. Xem hướng dẫn bắt đầu nhanh Artisan.

NextPDF Server (còn gọi là Connect) là dịch vụ độc lập. Nó cung cấp engine qua Model Context Protocol (MCP), Representational State Transfer (REST) và gRPC.

Terminal window
composer require nextpdf/server

Gói này thêm các entry point console vào vendor/bin/, bao gồm vendor/bin/nextpdf-mcp (máy chủ stdio MCP) và vendor/bin/nextpdf-server (máy chủ REST). Các transport REST và gRPC cũng cần binary RoadRunner:

Terminal window
./vendor/bin/rr get-binary

Xem hướng dẫn cài đặt Connecthướng dẫn bắt đầu nhanh Connect.

Python SDK là client có kiểu dữ liệu dành cho NextPDF Server đang chạy. Hãy cài đặt nó từ Python Package Index (PyPI):

Terminal window
pip install nextpdf

SDK cần Python 3.10 trở lên và endpoint NextPDF Server có thể truy cập được. Xem hướng dẫn bắt đầu nhanh Python SDK.

Hãy xác nhận từng bản phân phối đã được cài đặt đúng trước khi bắt đầu viết code.

Terminal window
composer show nextpdf/core

Một dòng phiên bản xác nhận engine đã được cài đặt và sẵn sàng cho autoloader.