NextPDF Connect 経由でフォントとテキストスタイルを制御する
テキストブロックごとにフォントを切り替え、複数のスタイルを含むドキュメントを構築します。set_font は、アクティブな書体、スタイル、サイズを設定します。この状態は、変更するまで以降のすべての add_text に引き継がれます。必要なツールは create_pdf、set_font、add_text、output_pdf で、いずれも Core です。テキスト状態パラメーターは、グリフのレンダリング方法を制御します(ISO 32000-2 §9)。
インストール
「インストール」という見出しのセクションcomposer require nextpdf/serverトランスポートをバインドします。追加のフォントファイルがなくても、3 つの組み込みフォントファミリーを利用できます。helvetica、times、courier です。
概念の概観
「概念の概観」という見出しのセクションset_font は family、style(""、"B"、"I"、"BI"、"U")、size を受け取ります。設定したフォントは、次の set_font まで、以降のすべての add_text 呼び出しに適用されます。自動リセットはありません。add_text に font_size が指定されている場合、その値はその単一の呼び出しに限りアクティブなサイズをオーバーライドし、次の呼び出しでは set_font のサイズに戻ります。テキストは、コンテンツストリーム順にテキスト表示演算子によって出力されます(ISO 32000-2 §9.4)。add_text には色のパラメーターはありません。テキストの色は、ドキュメントのグラフィックス状態にあるインク色に由来します。
API サーフェス
「API サーフェス」という見出しのセクション| ツール | 役割 | リスク階層 |
|---|---|---|
create_pdf | セッション開始 | 安全 |
set_font | アクティブな typeface/style/size の設定 | 注意 |
add_text | アクティブなフォントでのテキスト書き込み | 注意 |
output_pdf | PDF のレンダリングと返却 | 承認が必要 / レビュー(base64) |
ツールカタログが正式なカタログです。利用可能なツールは、インストールされている階層によって異なります。
コードサンプル — クイックスタート
「コードサンプル — クイックスタート」という見出しのセクションcreate_pdf(A4 縦) →document_id。set_font(helvetica、B、24)の後にadd_text(タイトル、中央揃え)。set_font(helvetica、""、12)の後にadd_text(両端揃えの本文)。set_font(courier、I、10)の後にadd_text(コードスニペット)。output_pdf。
コードサンプル — 本番
「コードサンプル — 本番」という見出しのセクションタイポグラフィが重要な各ブロックの前で、フォントを明示的に設定します。論理的なセクションをまたいで継承状態に依存してはいけません。呼び出しごとの font_size オーバーライドは持続しないため、一度限りの強調にのみ使用します。セクション単位で構築し、各 add_text が position を返すことを検証します。
エッジケースと落とし穴
「エッジケースと落とし穴」という見出しのセクション- 不明なファミリー。
helvetica/times/courier以外の値(たとえばarial)は拒否されます。 - 空のファミリー。
familyは空でない文字列でなければなりません。 - 無効なスタイル。 大文字のコードを使用します。
"bold"は拒否されます。 - 非正のサイズ。
sizeは正の数でなければなりません。 - 呼び出しごとのサイズは一時的です。
set_fontの状態は変更しません。
パフォーマンス
「パフォーマンス」という見出しのセクション組み込みフォントによる追加の負荷はごくわずかで、出力は数 KB です。プロファイルは structural です。
セキュリティに関する注記
「セキュリティに関する注記」という見出しのセクションbase64 モードでは、ファイルシステムへの副作用はありません。組み込みフォントは外部のフォントファイルを取り込まないため、このレシピにはフォント解析に起因する攻撃対象領域はありません。
| 記述 | 仕様 | 条項 | reference_id |
|---|---|---|---|
| コンテンツストリーム順のテキスト表示演算子によるテキスト表示 | ISO 32000-2 | §9.4 | |
| テキスト状態パラメーターによるグリフレンダリングの制御 | ISO 32000-2 | §9 |
商用コンテキスト
「商用コンテキスト」という見出しのセクション該当なし — すべてのツールが Core です。
トランスポートの利用可否
「トランスポートの利用可否」という見出しのセクション| トランスポート | 利用可否 | 備考 |
|---|---|---|
| MCP (stdio) | あり | ツールごとの tools/call。 |
| REST | あり | ツールごとに 1 つの操作。 |
| gRPC | あり | ツールごとのユナリ呼び出し。 |
HITL リスク階層
「HITL リスク階層」という見出しのセクションcreate_pdf は安全、set_font/add_text は注意です。output_pdf は承認が必要で、base64 モードではレビューに格下げされます(HITL リスク階層)。
確認ゲートの JSON エンベロープ
「確認ゲートの JSON エンベロープ」という見出しのセクションbase64 出力:
{ "allowed": true }