コンテンツにスキップ
getnextpdf.com

インテグレーションクックブック

NextPDF core は PHP から PDF 2.0 をレンダリングします。エコシステムに含まれる 9 つのインテグレーションパッケージは、このエンジンをフレームワーク、レンダリングバックエンド、レガシーコードベース、ビルドパイプライン、またはネットワークサービスに接続します。このページでは、各インテグレーションの用途を説明し、それぞれのパッケージ名と core バージョン制約を(各パッケージの composer.json から直接読み取って)記録し、各インテグレーションのクイックスタートレシピへのリンクを示します。

このページはインデックスであるため、いずれのインテグレーションについても動作に関する主張は行いません。各インテグレーションのレシピは、そのインテグレーション自身のリポジトリが所有し、アグリゲーターがそれらを本サイトに公開します。ユースケースに基づく推奨については、インテグレーションの選択 をお読みください。実行可能なすべてのレシピが従う規約については、レシピの規約 をお読みください。

9 つのパッケージは 5 つの形態に分類されます。形態を見ると、そのインテグレーションがどのような種類の問題に対処するものかが分かります。

  • フレームワークインテグレーション は、NextPDF をアプリケーションフレームワークのサービスコンテナとリクエストライフサイクルに組み込みます:nextpdf/laravelnextpdf/symfonynextpdf/codeigniter。いずれか 1 つをインストールし、サービスを resolve(解決)して、PDF レスポンスを返します。
  • レンダラーブリッジ は、HTML から PDF、または Office から PDF への変換ステップを、インプロセスのパイプラインではなく外部のレンダリングバックエンドに委譲します:nextpdf/artisan(Chrome DevTools Protocol 経由のヘッドレス Chrome)、nextpdf/gotenberg(Gotenberg マイクロサービス)、nextpdf/cloudflare(エッジでの Cloudflare Browser Rendering)。
  • 互換シム は、レガシーな PDF ライブラリ向けに書かれたコードベースが、書き換えなしで NextPDF を呼び出せるようにします:nextpdf/compat-legacy
  • ビルドツール は、8.4 を実行できないランタイム向けに NextPDF の PHP 8.1 / 7.4 バックポートを生成します:nextpdf/backport-builder
  • ネットワークサービス は、AI システムやリモートの呼び出し元向けに、REST、gRPC、および Model Context Protocol を通じて NextPDF を公開します:nextpdf/server(NextPDF Connect として配布)。

HTTP を用いるレンダラーブリッジ(nextpdf/gotenbergnextpdf/cloudflare、および nextpdf/laravel 内の HTTP クライアントパス)は、ホストアプリケーションが提供する PSR-18 HTTP クライアントに依存します。PSR-18 クライアントは、リクエストをまったく送信できない場合にのみ、型付けされたクライアント例外を送出します。これは、適用される PSR-18 §4 で規定されているとおりです。HTTP の 4xx または 5xx レスポンスは、例外ではなく通常の戻り値です。これも同じ PSR-18 §4 に規定されています。リモートレンダラーを呼び出すレシピは、トランスポートエラーと非成功ステータスを 2 つの別々のケースとして処理します。

以下の各値は、記載されているパッケージの composer.json(信頼できる情報源)から読み取ったものです。core 制約は、パッケージが宣言する nextpdf/core の要件です。nextpdf/backport-buildernextpdf/core の要件を宣言しません。これは、実行時にエンジンへ依存するのではなく、エンジンのソースを変換するためです。

インテグレーションパッケージ形態core の制約レシピ
Laravelnextpdf/laravelフレームワーク^3.0 || ^5.2Laravel クイックスタート
Symfonynextpdf/symfonyフレームワーク^3.0 || ^5.2Symfony クイックスタート
CodeIgniter 4nextpdf/codeigniterフレームワーク^3.0 || ^5.2CodeIgniter クイックスタート
Artisan(Chrome ブラウザー)nextpdf/artisanレンダラーブリッジ^3.0 || ^5.2Artisan クイックスタート
Gotenbergnextpdf/gotenbergレンダラーブリッジ^3.0Gotenberg クイックスタート
Cloudflarenextpdf/cloudflareレンダラーブリッジ^3.0Cloudflare クイックスタート
Compat(レガシー)nextpdf/compat-legacy互換シム^3.0TCPDF-compat クイックスタート
Backport ビルダーnextpdf/backport-builderビルドツール該当なしBackport クイックスタート
Connect(サーバー)nextpdf/serverネットワークサービス^3.0Connect クイックスタート

NextPDF は nextpdf/server を製品名 NextPDF Connect として配布します。そのレシピは最上位の connect スラッグの下に配置されます。nextpdf/compat-legacycompat ファミリーから提供されます。そのレシピは、エミュレートする対象にちなんで名付けられた tcpdf-compat スラッグの下に配置されます。

いずれのパッケージも、自身のランタイムで PHP >=8.4 <9.0 を必要とします。nextpdf/backport-builder は、PHP 8.1(および 7.4 ターゲット)で実行されるアーティファクトを生成するために特別に存在します。古いランタイムで実行されるのは、ビルダーではなく、生成されたバックポート済みのエンジンです。

  • nextpdf/laravel — Laravel 12 のサービスプロバイダー、ファサード、および PDF レスポンスヘルパーです。アプリケーションが Laravel アプリであり、手作業による配線なしで NextPDF をコンテナから解決して HTTP レスポンスとして返したい場合に使用します。レシピ:Laravel クイックスタート
  • nextpdf/symfony — 依存性注入サービスと PDF レスポンスヘルパーを備えた Symfony 7 のバンドルです。アプリケーションが Symfony アプリである場合に使用します。このバンドルはエンジンをサービスとして登録し、symfony/http-foundation のレスポンスと統合します。レシピ:Symfony クイックスタート
  • nextpdf/codeigniter — CodeIgniter 4 のサービス、ライブラリラッパー、および PDF レスポンスヘルパーです。アプリケーションが CodeIgniter 4 アプリであり、フレームワークのサービスロケーターを通じて NextPDF を利用したい場合に使用します。レシピ:CodeIgniter クイックスタート
  • nextpdf/artisan — Chrome DevTools Protocol を介したヘッドレス Chrome レンダラーです。ドキュメントで、インプロセスの HTML パイプラインでは対象外となるレイアウト忠実度を得るためにブラウザーの CSS エンジンが必要であり、かつアプリケーションの近くで Chrome プロセスを実行できる場合に使用します。レシピ:Artisan クイックスタート
  • nextpdf/gotenberg — Gotenberg マイクロサービスを通じた、Office から PDF および HTML から PDF への変換です。入力が Office ドキュメントである場合、またはレンダリングを別のサービスでアウトオブプロセスで実行する必要がある場合に使用します。このインテグレーションは、ホストが提供する PSR-18 クライアントを介して HTTP で通信します。レシピ:Gotenberg クイックスタート
  • nextpdf/cloudflare — Cloudflare Browser Rendering API を介したサーバーレスレンダリングです。長時間稼働のブラウザープロセスを運用せず、レンダリングをエッジで実行したい場合に使用します。このインテグレーションは、ホストが提供する PSR-18 クライアントを介して HTTP で通信します。レシピ:Cloudflare クイックスタート
  • nextpdf/compat-legacy — レガシーな PDF ライブラリ向けに書かれたコードベースのための互換レイヤーです。呼び出し箇所を先に書き換えることなく、既存のコードから NextPDF を呼び出すために使用します。これは移行を補助するものであり、恒久的な依存関係ではありません。レシピ:TCPDF-compat クイックスタート
  • nextpdf/backport-builder — NextPDF の PHP 8.1(および 7.4 ターゲット)ビルドを生成する、Rector ベースのダウングレードパイプラインです。ランタイムを PHP 8.4 に移行できないものの、その環境でエンジンを必要とする場合に使用します。これはビルドインフラストラクチャであり、アプリケーションのランタイム依存関係には追加されません。レシピ:Backport クイックスタート
  • nextpdf/server(NextPDF Connect) — NextPDF を REST API、gRPC サービス、および Model Context Protocol を通じて公開します。呼び出し元がリモートにある場合、別の言語で記述されている場合、または PHP ライブラリではなくツールエンドポイントを必要とする AI システムである場合に使用します。レシピ:Connect クイックスタート

レシピは /integrations/<integration>/<recipe>/ の下に配置されます。ここで <integration> は、上記のリファレンス表から取得される短い名前です(Connect のレシピは、代わりに最上位の connect スラッグの下に配置されます)。各インテグレーションが最初に提供するレシピは quickstart という名前です。それ以降のレシピは、追加の <recipe> セグメントを同じルートの下で使用します。このインデックスは、いずれのターゲットページについても動作に関する主張は行いません。記録するのは、composer.json から検証されたパッケージの事実と、各リポジトリのレシピが使用するスラッグのみです。