コンテンツにスキップ

NextPDF Connect 経由でフォントとテキストスタイルを制御する

テキストブロックごとにフォントを切り替え、複数のスタイルを含むドキュメントを構築します。set_font は、アクティブな書体、スタイル、サイズを設定します。この状態は、変更するまで以降のすべての add_text に引き継がれます。必要なツールは create_pdfset_fontadd_textoutput_pdf で、いずれも Core です。テキスト状態パラメーターは、グリフのレンダリング方法を制御します(ISO 32000-2 §9)。

Terminal window
composer require nextpdf/server

トランスポートをバインドします。追加のフォントファイルがなくても、3 つの組み込みフォントファミリーを利用できます。helveticatimescourier です。

set_fontfamilystyle"""B""I""BI""U")、size を受け取ります。設定したフォントは、次の set_font まで、以降のすべての add_text 呼び出しに適用されます。自動リセットはありません。add_textfont_size が指定されている場合、その値はその単一の呼び出しに限りアクティブなサイズをオーバーライドし、次の呼び出しでは set_font のサイズに戻ります。テキストは、コンテンツストリーム順にテキスト表示演算子によって出力されます(ISO 32000-2 §9.4)。add_text には色のパラメーターはありません。テキストの色は、ドキュメントのグラフィックス状態にあるインク色に由来します。

ツール役割リスク階層
create_pdfセッション開始安全
set_fontアクティブな typeface/style/size の設定注意
add_textアクティブなフォントでのテキスト書き込み注意
output_pdfPDF のレンダリングと返却承認が必要 / レビュー(base64)

ツールカタログが正式なカタログです。利用可能なツールは、インストールされている階層によって異なります。

  1. create_pdf(A4 縦) → document_id
  2. set_font(helvetica、B、24)の後に add_text(タイトル、中央揃え)。
  3. set_font(helvetica、""、12)の後に add_text(両端揃えの本文)。
  4. set_font(courier、I、10)の後に add_text(コードスニペット)。
  5. output_pdf

タイポグラフィが重要な各ブロックの前で、フォントを明示的に設定します。論理的なセクションをまたいで継承状態に依存してはいけません。呼び出しごとの font_size オーバーライドは持続しないため、一度限りの強調にのみ使用します。セクション単位で構築し、各 add_textposition を返すことを検証します。

  • 不明なファミリー。 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ありツールごとのユナリ呼び出し。

create_pdf は安全、set_font/add_text は注意です。output_pdf は承認が必要で、base64 モードではレビューに格下げされます(HITL リスク階層)。

base64 出力:

{ "allowed": true }