# recipe
「recipe」タグの記事
Col の中に Row をネストする方法は?
できません。gpdf の ColBuilder に Row メソッドはなく、12 カラムグリッドは意図的にフラットです。代わりに使う 3 つのイディオムを示します。
テーブルを複数ページにまたがって出力するには?
何もしなくていい。1 ページに収まらない行数のテーブルを渡せば、gpdf がボディを自動で改ページし、各ページの先頭にヘッダーを繰り返す。
gpdf で 1 つの段落に 2 つのフォントを混ぜる方法
gpdf で 1 段落に複数フォントを混ぜるには c.RichText を使い、各 Span に template.FontFamily を指定する。c.Text は文字列全体に 1 書体しか当てられない。
gpdf で画像を等比でカラム幅に収めるには?
c.Image にバイト列を渡すだけ。gpdf はデフォルトでカラム幅に等比縮小する。明示したいときだけ FitWidth / FitHeight を使う。
gpdf でテーブルに縞模様(ゼブラ)の行を入れるには?
template.TableStripe を渡すだけ。gpdf が偶数行に背景色を塗ってくれる。行ループも手動スタイル指定も不要。
gpdf にカスタム TrueType フォントを追加するには?
TTF をバイト列で読み込んで gpdf.WithFont でファミリ名を登録する。Inter からアイコンフォントまで、どんな TrueType でも同じ手順で動く。
gpdf のテーブルで列幅を指定する方法
c.Table に template.ColumnWidths(...) を渡す。値は親 Col 幅に対するパーセンテージ。合計 100 で全幅、末尾を省くと残りが自動分配される。
gpdf で透過 PNG を埋め込む方法
PNG のバイト列を c.Image にそのまま渡す。gpdf がアルファチャンネルを PDF の SMask に変換し、透過部分はそのまま描画される。
gpdf で Bold と Italic を同時に指定する方法
template.Bold() と template.Italic() を同じ span に渡すだけ。ただし TrueType フォントは 4 バリアント全部を登録しないと BoldItalic のルックアップが base family に静かにフォールバックする。
gpdf で Source Han Sans JP (源ノ角ゴシック JP) を使うには?
Adobe の GitHub リリースから TTF 版 Source Han Sans JP を取得して gpdf.WithFont で登録する。Noto Sans JP と同じグリフ、7 ウェイト、SIL OFL。
gpdf で日本語が豆腐文字 (□□□) になる原因と直し方
PDF 出力で日本語が □ になるのはフォント未登録が最多。よくある 4 原因と直し方を最短で整理する。
gpdf で IPAex ゴシックを使うには?
ipaexg.ttf を gpdf.WithFont で登録する。IPAex は Regular 1 ウェイトのみなので、Bold は合成か明朝ペアで対応する。
gpdf の 12 列グリッドはどう動くのか?
gpdf の 12 列グリッドは r.Col(span, fn) に 1–12 の整数を渡すだけ。幅は span/12、ガターもブレークポイントもない PDF 向けの割り切った設計。
gpdf で日本語フォントを埋め込むには?
gpdf.WithFont にTTFバイトを渡すだけ。サブセット埋め込みも自動、CGOも不要。Go で日本語 PDF を作る最短手順。
gpdf で Noto Sans JP を使うには?
static 版の NotoSansJP-Regular.ttf を gpdf.WithFont に登録するだけ。Variable フォントを避ける理由と、17,000 グリフが PDF 内で 40 KB 未満まで減るサブセット化の話。