安装 NextPDF
每个 NextPDF 发行版都可以通过一行包管理器命令安装。PHP 发行版使用 Composer;Python SDK 使用 pip。选择符合你需求的选项卡,运行对应命令,再用本页底部的验证步骤确认结果。
系统需求
标题为“系统需求”的章节NextPDF 只锁定一个现代运行时环境。以下约束条件直接来自各个包自身的 composer.json 文件。
| 要求 | 约束 | 状态 | 备注 |
|---|---|---|---|
| PHP | >=8.4 <9.0 | 必需 | Composer 拒绝在 PHP 8.3 及更低版本或 PHP 9 上安装。 |
| Composer | 2.x | 必需 | 用于依赖项解析和生成自动加载器。 |
ext-mbstring | — | 必需 | 用于文本排版的多字节字符串处理。 |
ext-zlib | — | 必需 | 用于 Portable Document Format (PDF) 对象的流压缩。 |
ext-intl | — | 必需 | International Components for Unicode (ICU) 服务:双向文本、换行以及可感知区域设置的格式化。 |
ext-gd | — | 必需 | 用于嵌入图像的栅格图像解码和处理。 |
ext-curl | — | 必需 | 网络往返:RFC 3161 时间戳和远程资源获取。离线生成不会用到它,但 Composer 仍然需要它。 |
ext-openssl | — | 必需 | 为数字签名、CMS 结构和加密提供密码学支持。 |
| Chrome or Chromium | — | 可选 | 仅用于 Artisan 渲染器 (writeHtmlChrome())。 |
| Gotenberg service | — | 可选 | 仅用于通过 Gotenberg 进行办公文档和 HTML 转换。 |
| Python | 3.10+ | 可选 | 仅用于 Python software development kit (SDK)。 |
ext-mbstring 与 ext-zlib 在大多数 PHP 构建中都默认启用;ext-intl、ext-gd、ext-curl 与 ext-openssl 则因发行版而异,因此请在安装前用 php -m 确认全部六个扩展。集成包会在启动时检查各自所需的扩展;如果缺少任意一个,就会以清晰的消息停止运行。
安装核心
标题为“安装核心”的章节如果只需要用 PHP 生成和查看 PDF,核心引擎就是你唯一需要安装的包。
composer require nextpdf/core请提交 composer.lock,确保每个已部署的 worker 都解析到相同的引擎版本。安装完成后,请继续阅读 你的第一份 PDF。
安装框架集成
标题为“安装框架集成”的章节安装一个 framework 适配器,即可获得容器绑定、响应辅助方法和队列任务。每个适配器都会声明 nextpdf/core,并为你解析该依赖。
composer require nextpdf/laravel自动发现会注册服务提供者和 Pdf facade。接着发布配置文件:
php artisan vendor:publish --tag=nextpdf-config请参阅 Laravel 安装指南 和 Laravel 快速入门。
composer require nextpdf/symfony在 Symfony Flex 应用程序中,bundle 会自动注册。在非 Flex 应用程序中,你需要自行将 NextPDF\Symfony\NextPdfBundle 添加到 config/bundles.php。请参阅 Symfony 安装指南。
composer require nextpdf/codeigniterCodeIgniter 4 会自动发现 Services 类和 pdf() 辅助函数,因此不需要手动注册。请参阅 CodeIgniter 安装指南。
安装 renderer(渲染器)或服务
标题为“安装 renderer(渲染器)或服务”的章节NextPDF 提供三种将 HTML 渲染为 PDF 的方式。请根据希望执行渲染的位置安装对应选项。这些都不会取代 writeHtml(),也就是核心引擎内置的纯 PHP HTML 管线。
composer require nextpdf/artisan通过 Chrome DevTools Protocol(CDP)增加 headless 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/guzzle通过 Gotenberg 服务转换 Office 文档和 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 endpoint。请参阅 Python SDK 快速入门。
验证安装
标题为“验证安装”的章节开始写代码之前,先确认每个发行版都已正确解析。
composer show nextpdf/core如果出现版本信息行,就表示引擎已安装并接入 autoloader。
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 已能正常导入。