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

PHP クックブック

これは PHP ネイティブの NextPDF レシピのインデックスです。コア PHP API に対して直接書かれた、タスク指向の実行可能なページをまとめています。nextpdf コアリポジトリは、各レシピを docs/public/cookbook/php/ 配下で所有し、検証します。それぞれのレシピは examples/*.php スクリプトと tests/Cookbook/Php/ ハーネステストに裏付けられています。その後、アグリゲーターが各ページをこのサイトに取り込み、ソースの来歴情報も併せて保持します。

このページはインデックスであるため、いずれのレシピについても挙動に関する主張は行いません。各行は、レシピの意図、利用するコアモジュール、宣言された再現性プロファイルを記録します。プロファイルおよび適合性に関する主張はレシピページ自体に置かれ、そのページのフロントマターとリポジトリ内テストから取得されます。このインデックスには置かれません。インテグレーション(フレームワーク/レンダラー/サービス)のクックブックについては、インテグレーションクックブックを参照してください。実行可能な各レシピが従う規約については、レシピ規約を参照してください。

各レシピはコアリポジトリの docs/public/cookbook/php/ 配下で作成され、アグリゲーターによってこのサイトに公開されます。スラッグは 1 つの規約、つまり単一セグメントに従います。

/cookbook/php/<recipe>/

<recipe> はレシピの意図をケバブケースで命名します(たとえばモジュール名 html ではなく render-html-to-pdf)。小文字、ハイフン区切り、バージョン番号なしとし、末尾は 1 つのスラッシュで終わります。

各レシピは、実際に満たせる最も厳格なプロファイルを宣言します。

  • bitwise — 実行間でバイト単位で同一(純粋に決定論的なコンテンツで、すべてのエントロピーが固定済み)。
  • structural — 揮発的なアトムを正規化した後に同一(トレーラーの /ID、creation/modification 日付、フォントサブセットの接頭辞 — 実運用におけるすべての複数オブジェクト PDF)。
  • semantic — 構造 AST とメタデータの等価性のみ(署名済みまたはタイムスタンプ付きの出力、あるいは本質的にバイト単位で安定しない等価性の出力)。

プロファイルは、レシピページがそのハーネステストで証明するプロパティです。このインデックスは、ページが宣言した値を報告するだけです。

ドキュメントの構築、ページ分割、スタイル付け。

レシピ機能モジュールプロファイル
render-html-to-pdfHTML ドキュメントを PDF にレンダリングHtmlstructural
style-with-cssHTML レンダリングに CSS を適用Htmlstructural
html-table-layoutHTML テーブルをレイアウトHtmlstructural
paginate-long-html長い HTML ドキュメントをページ分割Htmlstructural
paginate-large-html-tables大きな HTML テーブルを複数ページにわたってページ分割Htmlstructural
render-rtl-arabic-html右から左へ記述するアラビア語 HTML をレンダリングHtmlstructural
compose-text-and-fontsタイポグラフィ制御でテキストを構成タイポグラフィstructural
embed-and-subset-fontsフォントを埋め込み、サブセット化Fontstructural
cjk-vertical-writingCJK テキストを縦書きモードで配置タイポグラフィstructural
multi-page-document複数ページのドキュメントを構築ドキュメントstructural
headers-and-footersランニングヘッダーとフッターを追加レイアウトstructural

ベクター、画像、レイヤー、座標空間。

レシピ機能モジュールプロファイル
draw-vector-graphicsベクターグラフィックスを描画グラフィックスstructural
gradients-and-transparencyグラデーションと透明度を適用グラフィックスstructural
embed-imagesラスター画像を埋め込みコンテンツstructural
add-watermarks-and-backgroundsページにテキストと画像の透かしまたは背景を追加コンテンツstructural
cmyk-spot-color-and-icc-profiles印刷対応の CMYK とスポットカラーを生成カラーstructural
embed-file-attachmentsファイルを埋め込み、PDF ポートフォリオを作成コンテンツstructural
optional-content-layersオプショナルコンテンツ(レイヤー)を使用グラフィックスstructural
transform-coordinate-space座標空間を変換グラフィックスstructural

ブックマーク、リンク、注釈、AcroForm フィールド。

レシピ機能モジュールプロファイル
bookmarks-and-tocブックマークと目次を構築ナビゲーションstructural
generate-dynamic-table-of-contents動的な目次を生成ナビゲーションstructural
links-and-annotationsリンクと注釈を追加ナビゲーションstructural
generate-barcodesバーコードを生成バーコードbitwise
gs1-composite-barcodesGS1 Composite バーコード(CC-C キャリア)を生成バーコードstructural
fill-pdf-formAcroForm に入力フォームstructural
flatten-form-fieldsフォームフィールドをフラット化フォームstructural
form-field-validation-and-flatten-with-stateフォームフィールドを検証し、状態を保持したままフラット化フォームstructural

メタデータとビューア動作の設定。

レシピ機能モジュールプロファイル
set-document-metadataドキュメントメタデータを設定メタデータstructural
set-viewer-preferencesビューア設定を構成ドキュメントstructural

既存ドキュメントの組み立て、分割、最適化。

レシピ機能モジュールプロファイル
merge-external-pdfs外部の PDF を結合、またはページを追加ドキュメントstructural
split-and-extract-pagesPDF を分割し、ページ範囲を抽出ドキュメントstructural
optimize-pdf-file-size圧縮とサブセット化で PDF のファイルサイズを削減ドキュメントstructural

暗号化、署名、アクセシビリティ、プロファイル出力。これらのレシピは、support≠conformance および presence≠validity の境界をレシピページで明示します。

レシピ機能モジュールプロファイル
encrypt-aes256AES-256 で暗号化し、権限フラグを設定セキュリティstructural
encrypt-with-permissions権限フラグ付きで暗号化セキュリティstructural
sign-pades-b-bPAdES 署名を適用(B-B および B-T)セキュリティsemantic
inspect-existing-signature既存の署名を検査検査semantic
tagged-pdf-ua2PDF/UA-2 向けにタグ付き構造を出力アクセシビリティsemantic
accessible-pdfua2-from-htmlHTML からアクセシブルな PDF/UA-2 オーサリング向けにタグ付き構造を出力アクセシビリティsemantic
pdf-a-4-outputPDF/A-4 出力を生成適合性semantic
pdfa4-conformance-gatePDF/A-4 出力を生成し、外部バリデーターでゲート適合性semantic
validate-conformance適合性プロファイルに対して検証コンプライアンスsemantic

PDF からのコンテンツと構造の読み出し。

レシピ機能モジュールプロファイル
extract-text-contentテキストコンテンツを抽出テキストsemantic
multilingual-copy-paste-extractionCJK とアラビア語の PDF で正確なコピー&ペーストを実現テキストstructural
parse-and-inspect-pdfPDF を解析して検査検査semantic
inspect-layout-boxesレイアウトボックスを検査検査semantic

複数のモジュールにまたがるパターン。

レシピ機能対象範囲プロファイル
worker-safe-batch-rendering長時間稼働するワーカー内で安全にレンダリング(共有レジストリ、メモリ上限あり)Core · Performance · Supportsemantic
streaming-and-memoryストリーミングとメモリ使用量をプロファイリングPerformancebitwise
exception-aware-error-handlingNextPDF の例外階層を用いてエラーを処理Exception · Contractsstructural
custom-error-recovery-patternsカスタムのエラー回復とリトライ戦略を実装Exceptionsemantic
observe-with-opentelemetryOpenTelemetry でレンダリングを観測Observability · Telemetry · Eventsemantic

上記のすべてのレシピは、コアリポジトリ内で裏付けとなる examples/*.php スクリプトと tests/Cookbook/Php/ ハーネステストとともに公開されています。新しいレシピがアップストリームで作成されると、そのサンプルとテストが配置され次第、ここに表示されます。