帳票出力機能を使うと、レコードのデータを請求書・見積書・納品書などのPDF帳票として出力できます。 座標ベースのビジュアルエディタでテンプレートを自由にデザインし、レコード画面からワンクリックでPDF出力できます。
帳票出力は拡張機能です。アプリ設定の「拡張機能」から有効にしてください。
拡張機能の設定画面
レコードを請求書・見積書などのPDF帳票として出力
ONにすると、設定メニューに「帳票テンプレート」タブが表示され、レコード画面に「帳票出力」ボタンが追加されます。
テンプレートは1種類のみです。各レコードに対して同じデザインが適用されます。 サブテーブル要素・関連レコード要素を配置でき、テンプレートPDFと自動ページアップにも対応します。 複数レコードを1ページにグリッド状に並べるには「連結印刷」を使用します。
「帳票テンプレート」設定画面の右上のドロップダウンから新しいテンプレートを作成します。
テンプレート追加メニュー
プリセット(請求書・見積書・納品書)には実用的なレイアウトがあらかじめ配置された状態でエディタが開きます。1アプリに最大20個のテンプレートを登録できます。
要素を追加
左パネルは3つのタブで構成されています。
💡 プロパティ横の (?) アイコン
プロパティのラベル横にある「(?)」アイコンをクリックすると、その項目の詳しい説明と使い分けのヒントがポップオーバーで表示されます。 「配置方式」「ページ適用ルール」「改ページルール」「条件付き表示」など、挙動が少し複雑な項目にヘルプが付いています。
中央キャンバスの上部に固定表示されるツールバーで、カーソルツールの切り替え・表示倍率・スナップ・履歴操作・グループ化をまとめて扱います。ツールバーは画面の中央に常に表示されるため、キャンバスを拡大してもスクロールで見えなくなることはありません。
| ボタン / 項目 | 機能 | 備考 |
|---|---|---|
| 選択ツール | 要素をクリックして選択、ドラッグで移動、右下ハンドルでリサイズ | 既定のツール |
| オブジェクト検索 | ツールバーの検索アイコンで検索パネルを開き、タグ・要素のラベル・フィールドコード・要素タイプ・テキスト内容で要素を探せます。検索結果をクリックするとその要素が選択されます。 | 大量の要素を持つテンプレートで特定の要素を素早く見つけたいときに |
| 手のひらツール | キャンバスの任意の場所をドラッグしてビューをパン(スクロール)する | Space キー長押しで一時的に切り替え |
| 縮小 / 拡大 | 表示倍率を変更。15%~400% の連続ズーム | ドロップダウンからプリセット(30/50/75/100/125/150/200%)も選択可能。 Ctrl +マウスホイールでカーソル位置を中心にズーム |
| プレビュー | ライブプレビューモードの ON/OFF。実際のレコードデータで要素を描画 | 詳細はライブプレビューを参照 |
| Snap ドロップダウン | 要素のドラッグ・リサイズ時のグリッドスナップ間隔(Off / 1mm / 5mm / 10mm) | 精密に合わせたいときは Off、ざっくり揃えたいときは 5mm または 10mm |
| Grid トグル | グリッド線の表示 ON/OFF と スナップの ON/OFF を同時に切り替え | グリッド非表示にするとスナップも OFF になります |
| 戻す / やり直す | 編集操作の取り消し / 再実行 | ショートカット: Ctrl +Z / Ctrl +Y |
| グループ化 / 解除 | 複数選択中の要素をひとまとめにする / 既存のグループを解く | ショートカット: Ctrl +G / Ctrl +Shift +G |
| 整列 | 選択中の複数要素を左 / 中央 / 右 / 上 / 中央 / 下に揃えます | 2 つ以上選択時のみ表示 |
| 均等分配 | 選択中の 3 つ以上の要素を、水平 / 垂直方向に等間隔で配置します | 3 つ以上選択時のみ表示 |
| 最前面 / 最背面 | 選択中の要素 (グループ) の重なり順序を一番上 / 一番下に移動します | ショートカット: Ctrl +Shift +] / Ctrl +Shift +[ 。1 つだけ動かすには Ctrl +] / Ctrl +[ |
手のひらツールでキャンバスをパンする
大量の要素を配置したテンプレートでは、特定の要素を素早く見つける手段が欲しくなります。各要素にタグを付けておけば、ツールバーのオブジェクト検索から一発で呼び出せます。
プロパティパネル → タグ入力
タグ
オブジェクト検索パネル
同じオブジェクトを規則的に並べたいとき、コピー&ペーストを繰り返す代わりに連続複製機能で一発で並べられます。チェックボックスリスト・目盛・リピートする罫線などに便利です。
連続複製ダイアログ
方向
間隔 (mm)
個数
表形式のレイアウトを作りたいとき、個別に罫線要素を手で並べる代わりに矩形から罫線テーブルに変換できます。行数と列数を指定するだけで、格子状の罫線がグループ化された状態で作成されます。
罫線テーブル作成ダイアログ
行数
列数
2 つ以上の要素を選択すると、プロパティパネルにマルチ選択モードが表示されます。選択された要素がすべて同じタイプの場合、そのタイプに固有の主要プロパティを一括編集できます。罫線テーブルのように同じオブジェクトが規則的に並んだテンプレートで、まとめて色や太さを変更したいときに便利です。
| 要素タイプ | 一括編集できるプロパティ |
|---|---|
| 線 (line) | 線の太さ・色・スタイル (実線 / 破線 / 点線) |
| テキスト (text) | 文字サイズ・文字色 |
| 矩形 (rect) | 枠線の太さ・枠線の色・背景色 |
8種類の要素をキャンバスにドラッグ&ドロップで配置できます。
テキスト
自由テキスト。{{フィールドコード}}でデータを挿入可能
テーブル
サブテーブル連動・関連レコード・固定テーブルの3モード。フッター行・自動改ページ対応
画像
固定画像 or 添付ファイルフィールドに連動。contain/cover/fillの3つの配置モード。不透明度・回転・反転・縦横比ロック・円形/角丸マスク
罫線
水平/垂直の線。太さ・色・スタイル(実線/破線/点線)
矩形
枠線・背景色付きの四角形。角丸設定可能
QRコード
フィールド値や固定URLからQRコード自動生成
バーコード
CODE128 / EAN-13・JAN-13 / ITF / Code 39 の4形式に対応
グラフ
棒 / 折れ線 / 円グラフ。サブテーブルのラベル列と値列を選択して自動描画。複数シリーズ対応
要素タイプの下にはフィールド一覧が表示されます。各フィールドをキャンバスにドラッグ&ドロップすると、 そのフィールドの値を表示するテキスト要素が自動的に作成されます。数値フィールドの場合はフォーマット(桁区切り等)や接頭辞・接尾辞も設定できます。 フィールド一覧は検索ボックスで絞り込み可能です。
ツールバーの アイコンボタンをクリックするとプレビューモードに切り替わります。 隣のドロップダウンからアプリ内のレコードを選択すると、テキスト・フィールド・画像・QRコード・バーコード・テーブル要素が実際のレコードデータで描画されます。
プレビューモードのツールバー
{{フィールドコード}} が実際の値に置換されます{{PAGE_SUM(code)}} や {{GRAND_SUM(code)}} などのページ内計算プレースホルダはプレビュー時は空欄で表示されます(PDF出力時のみ計算されます)テキスト要素内に{{...}}形式で記述すると、出力時にレコードの値に自動置換されます。プロパティパネルの「フィールドを追加」ドロップダウンから選択できます。
ドロップダウンの選択肢
| プレースホルダー | 出力例 |
|---|---|
| {{フィールドコード}} | そのフィールドの値 |
| {{record.number}} | 123 |
| {{today}} | 2026-03-29 |
| {{today.long}} | 2026年3月29日 |
| {{today.jp}} | 令和8年3月29日 |
| {{today.slash}} | 2026/03/29 |
| {{now}} | 2026-03-29 14:30 |
| {{now.time}} | 14:30 |
| {{app.name}} | アプリ名 |
| {{page.number}} | 1 |
| {{page.total}} | 3 |
さらに高度なページ単位の集計には {{PAGE_SUM(code)}} や {{GRAND_SUM(code)}} などが使えます。詳細は後述の「ページ内計算機能」セクションを参照してください。
テキスト・フィールド要素のプロパティパネルで書式を設定できます。
書式設定パネル
フォント
文字サイズ
行間
横位置
縦位置
18種類のフォントファミリーが利用可能です。フォントピッカーでは各フォントがその書体自身で表示されるため、見た目を確認しながら選択できます。 すべてのフォントは Google Fonts から読み込まれる OFL/Apache ライセンスの無料フォントです。
| カテゴリ | フォント数 | 含まれるフォント |
|---|---|---|
| ゴシック | 5 | Noto Sans JP、M PLUS 1p、BIZ UDPGothic、Zen Kaku Gothic New、Murecho |
| 丸ゴシック | 3 | M PLUS Rounded 1c、Zen Maru Gothic、Kosugi Maru |
| 明朝 | 5 | Noto Serif JP、BIZ UDPMincho、Zen Old Mincho、Shippori Mincho、Klee One |
| ディスプレイ | 2 | Dela Gothic One、Hachi Maru Pop |
| 手書き風 | 2 | Yomogi、Zen Kurenaido |
| 等幅 | 1 | Noto Sans Mono |
テーブル要素は帳票の明細部分を表示するための重要な要素です。3つのモードがあります。
アプリにサブテーブル(テーブル)フィールドがある場合、そのデータを自動的に表形式で出力します。
サブテーブルの選択
テーブルの種類
サブテーブルを選択
サブテーブルを選択すると、そのサブフィールドが自動的に列として追加されます。添付ファイルサブフィールドの列は、セル内にファイル名が列挙されます(ファイルの中身は出力されません)。
アプリに関連レコードフィールドがある場合、そのデータをテーブルとして出力できます。テーブルの種類で「関連レコード」を選択し、関連レコードフィールドを選択すると、関連先アプリの表示フィールドが自動的に列として追加されます。
列と行を自由に定義します。セルの中に{{フィールドコード}}を使ってデータを挿入できます。
各列には列名、幅(mm)、揃え(左/中央/右)を設定できます。列の追加・削除もここで行います。
列の編集
列の設定
テーブルのプロパティ
文字サイズ (pt)
セル余白 (mm)
線の色
ヘッダー背景
ヘッダー文字色
線の太さ
キャンバス上ではテーブルが簡略化されたプレビューで表示されます。実際のデータは帳票出力時に反映されます。
キャンバス上のテーブルプレビュー
| 品名 | 数量 | 単価 | 金額 |
|---|---|---|---|
| ... | ... | ... | ... |
| ... | ... | ... | ... |
| 合計 | {{total}} |
テーブル下部に小計・消費税・合計などの行を追加できます。テーブルの列と1:1でセルが対応しており、各列に自由にテキストや{{フィールドコード}}を入力できます。
フッター行の設定
建設業の工事見積書のように、明細データを分類ごとにグループ化して集計を自動計算する帳票を作成できます。 この機能はサブテーブルフィールドのグルーピング設定と帳票テンプレートのテーブル要素を組み合わせて実現します。
まず、明細用のサブテーブルフィールドに以下のサブフィールドを用意します。
| サブフィールド | 種類 | 役割 |
|---|---|---|
| 大分類 | ドロップダウン / テキスト | 第1階層のグルーピングキー(例: 建築工事、設備工事) |
| 中分類 | ドロップダウン / テキスト | 第2階層のグルーピングキー(例: 基礎工事、内装工事) |
| 品名 | テキスト | 明細の項目名 |
| 数量 | 数値 | 数量 |
| 単価 | 数値 | 単価 |
| 金額 | 数値 / 計算 | 小計金額(集計対象) |
サブテーブルフィールドの設定画面で、グルーピングを構成します。
サブテーブルフィールドの設定 → グルーピング
グルーピング
列ごとの集計
グルーピングキーにはドロップダウン、ラジオボタン、テキストのサブフィールドが使用できます。
帳票テンプレートにテーブル要素を配置し、上記のサブテーブルを選択するだけで、グルーピング設定が自動的に反映されます。帳票テンプレート側での追加設定は不要です。
出力時には以下のように階層化された明細が表示されます。
積算型見積書の出力イメージ
| 品名 | 数量 | 単価 | 金額 |
|---|---|---|---|
| ■ 建築工事 | |||
| ├ 基礎工事 | |||
| コンクリート打設 | 120 | 8,000 | 960,000 |
| 鉄筋組立 | 45 | 12,000 | 540,000 |
| 基礎工事 集計 | 1,500,000 | ||
| ├ 内装工事 | |||
| クロス張り | 500 | 1,200 | 600,000 |
| 内装工事 集計 | 600,000 | ||
| 建築工事 集計 | 2,100,000 | ||
| 全体 | 2,100,000 | ||
グルーピングを使うと、明細が複数のグループに分かれて表示されます。標準の自動改ページでは「ページ末尾の行数ぴったり」まで詰め込んで改ページするため、1 つのグループが前後 2 ページに跨って分断されることがあります。「グループを分断しない」オプションをオンにすると、レンダラはグループの終わりで改ページし、グループが 1 ページにまとまるように調整します。
テーブル要素のプロパティ
サブテーブルのグルーピングで作られたグループがページ境界で分断されないように、グループ末尾で改ページします。
たとえばグループ A (6 行) / グループ B (5 行) / グループ C (8 行) の 19 行を、1 ページ 10 行の明細テーブルに流した場合:
| モード | ページ 1 | ページ 2 | ページ 3 |
|---|---|---|---|
| 標準(分断あり) | A 6 行 + B 4 行 | B 1 行 + C 8 行 B が前後ページに分断される | — |
| グループを分断しない ✓ | A 6 行 B は次ページに送る | B 5 行 | C 8 行 C が 1 ページに収まらない場合のみ分割 |
オン時のページ構成イメージ
| 項目 | 金額 |
|---|---|
| ■ 建築工事 | |
| 基礎工事 | — |
| 躯体工事 | — |
| 屋根工事 | — |
| 外壁工事 | — |
| 防水工事 | — |
| 足場 | — |
| 小計 | 1,500,000 |
| 項目 | 金額 |
|---|---|
| ■ 内装工事 | |
| クロス張り | — |
| 床張り | — |
| 天井仕上げ | — |
| 建具取付 | — |
| 塗装工事 | — |
| 小計 | 600,000 |
| 項目 | 金額 |
|---|---|
| ■ 電気工事 | |
| 配線 | — |
| 照明器具 | — |
| 分電盤 | — |
| スイッチ | — |
| コンセント | — |
| 感知器 | — |
| 通信配線 | — |
| アース | — |
| 小計 | 900,000 |
それぞれのグループ(建築工事・内装工事・電気工事)が途中で分断されず、各ページに完結して配置されます。ページ末尾の余白はグループをまたがって詰め込まないぶん発生しますが、代わりに読み手にとってグループ単位での確認がしやすくなります。
「グループヘッダーと一緒に残す行数」は、「このグループを開始するには最低でも N 行のデータが一緒に入る必要がある」というしきい値です。ページ末尾にグループヘッダーと少しの行だけが残って孤立する「行頭孤立 (orphan)」を防ぎます。
たとえば値を 3 に設定した場合、ページの末尾に次のグループを始めると 2 行以下しかデータが入らないときは、グループごと次ページに送られます。
しきい値 = 3 のとき
未設定 (= 0)
| ■ 建築工事 |
| 基礎工事 |
| 躯体工事 |
| 屋根工事 |
| 外壁工事 |
| 防水工事 |
| 小計 |
| ■ 仮設工事 |
| 足場 |
| 養生シート |
| 小計 |
| ■ 電気工事 |
| 配線 |
| 照明器具 |
| 分電盤 |
| スイッチ |
| 小計 |
ページ 1 の末尾に「仮設工事」ヘッダーと 1 行だけが取り残され、ページ 2 の先頭に残りの行と小計が孤立する
3 に設定
| ■ 建築工事 |
| 基礎工事 |
| 躯体工事 |
| 屋根工事 |
| 外壁工事 |
| 防水工事 |
| 小計 |
| ■ 仮設工事 |
| 足場 |
| 養生シート |
| 小計 |
| ■ 電気工事 |
| 配線 |
| 照明器具 |
| 分電盤 |
「仮設工事」はページ 1 では 2 行しか入らないと判定され、グループごとページ 2 に送られる
「グループを分断しない」と組み合わせて使うと、「1 グループが 1 ページを跨がない」+「開始 2-3 行の孤立も起きない」の両方が実現でき、複雑な帳票でも読みやすく仕上がります。
1 レコード内のサブテーブルの行数が多く 1 ページに収まらないとき、帳票は自動的に複数ページに分割されます。最もシンプルな設定は、用紙設定でページ数 = 1 のままにして、ページ 1 にテーブル要素を配置し、テーブルの下に置く要素(小計・振込先・署名欄など)を相対配置(デフォルト)にしておくことです。それだけで、明細が多いレコードでは自動的に 2 ページ目以降が生成されます。
用紙設定パネル(エディタ左サイドバー)
用紙設定
自動改ページの設定(テーブルのプロパティ)
「サブテーブル行数」と「アプリのレコード数」は別物です
1 ページに収容される明細行数は、テーブル要素の高さ(プロパティの H)で決まります。H はテーブルが使える縦方向の最大スペースの上限として扱われ、レンダラは「H − ヘッダー行 − フッター行」に収まる分だけ行を描画し、残りを次ページに回します(ページ下端マージンに当たる場合はそちらが上限になります)。
fontSize × 0.353 × 1.4 + padding × 2 の概算で計算されるため、フォントサイズやセルの余白を変えると 1 ページに入る行数も変わります「1ページ目と2ページ目以降で明細のレイアウトを変える」「最後に合計・振込先ページを付ける」といった構成は、用紙設定でページ数を2以上に増やして、各ページに「適用ルール」を割り当てます。詳細は次の「テンプレートPDFと自動ページアップ」節を参照してください(テンプレートPDF背景がなくても、ページ適用ルールだけを使うことができます)。
既に用意された PDF フォーマットを背景に取り込み、各ページにフィールドを重ねて出力する高度な機能です。 ページごとに「最初のページ」「全ページ」「最後のページ」などのルールを割り当てると、データ量に応じて「全ページ」ルールのページが自動的に必要な枚数に複製されます。 契約書・工事見積書・複数ページの請求書など、定型フォーマットを使う帳票に最適です。
テンプレートPDFを使うと、Puppeteer 生成の HTML コンテンツが透明背景として pdf-lib で合成され、ベクタ品質が保持されます。
なお、テンプレートPDF背景がなくても「ページ適用ルール」だけを使うことはできます。用紙設定でページ数を2以上に増やした時点でページ適用ルールのUIが現れ、最初のページ / 全ページ / 最後のページ / 指定ページ を各ページに割り当てられます。PDF背景は「既存フォーマットに重ねたい」ときだけ追加で使ってください。
テンプレートを保存した後、エディタ左サイドバーの「テンプレートPDF」セクションで「PDFをアップロード」ボタンをクリックし、背景に使う PDF ファイル(最大10ページ、50MB まで)を選択します。
テンプレートPDFセクション
テンプレートPDF
各デザイナーページには「適用ルール」を割り当てます。サイドパネル上のページの並び順がそのまま出力順になるので、P1 が出力の先頭、P{N} が末尾です。「最初のページ」は P1 にしか、「最後のページ」は最後のスロットにしかドロップダウンに現れません。
ページ適用ルールセレクタ(並び順 = 出力順)
ページ適用ルール
各行右側の ⋮ メニューから、上下移動・上下に追加・複製・削除が行えます。リスト下の 「+ ページを追加」ボタンは末尾に新しいデザイナーページを追加します。ページを移動・削除・複製したとき、要素のページ割り当てや「指定ページ」の出力番号、「次のページを強制追加」設定はすべて自動的に追従します。
⋮ メニュー内の操作: 上へ移動 / 下へ移動 / 上に追加 / 下に追加 / 複製 / 削除。最大10ページまで。テンプレートPDF背景を使っているテンプレートではPDFのページ数に固定されるため、これらの操作は無効化されます。
| ルール | 出力時の扱い | 用途 |
|---|---|---|
最初のページ | 出力の先頭に1回だけ配置。このページにサブテーブル要素を置くと明細の最初のスライスを持つ。置かない場合はデータを持たない表紙として振る舞う | タイトル・宛先・発行日+明細の冒頭を同居させた1ページ目。または表紙のみのページ |
全ページ | サブテーブルの行数に応じて必要な枚数に自動複製。サブテーブルがない場合は1回だけ描画 | 明細テーブルを含む本体ページ(最初のページが先頭スライスを持つ場合は継続用) |
最後のページ | 出力の末尾に1回だけ配置 | 合計金額、振込先、約款、署名欄、控えページ |
奇数ページ | 出力の奇数ページ番号で「全ページ」を上書き | 見開き本の左ページ、奇数番固有の装飾 |
偶数ページ | 出力の偶数ページ番号で「全ページ」を上書き | 見開き本の右ページ、偶数番固有の装飾 |
指定ページ | 出力ページ番号を明示して1回だけ挿入(例:「3ページ目」) | 中扉、差し込みの説明ページ、特定位置の挨拶文 |
適用しない | このデザイナーページを出力しない | 参考用のデザイン、下書き、将来の予約ページ |
「最初のページ」「全ページ」「最後のページ」「奇数ページ」「偶数ページ」は各1つまでしか設定できません。「指定ページ」「適用しない」は複数設定可能です。「全ページ」の複製はそのページにサブテーブル要素がある場合のみ発生します。
位置制約: 「最初のページ」は P1(先頭のデザイナーページ)にのみ、「最後のページ」は末尾のデザイナーページにのみ設定できます。デザイナーページの並び順が出力順と一致するため、たとえば「最後のページ」を P3 / 全3ページ構成にすればそのまま出力末尾になります。途中のスロットでは選択肢として現れません。
複数のルールが同じ出力ページに該当する場合の優先順位は次のとおりです:
最初のページ(先頭に固定)> 最後のページ(末尾に固定)> 指定ページ(指定番号に挿入)> 偶数/奇数ページ(パリティで置換)> 全ページ(既定の継続)
「最初のページ」と「最後のページ」が出力位置の先頭・末尾を独占するため、「指定ページ」は1ページ目以外の位置にだけ挿入できます(最初のページが存在する場合)。
見開きレイアウト(奇数/偶数ページ)
本の左右ページで余白やヘッダー位置を変えたい場合は、奇数ページと偶数ページに別々のデザインを用意します。 スケジューラはデータを「全ページ」のテーブル容量で分割しますが、各出力ページの描画には奇数/偶数の該当テンプレートを使います。 奇数/偶数ページのテーブル位置・サイズは「全ページ」と揃えておく必要があります。
指定ページで中扉を挿入
「指定ページ」を選ぶと「出力ページ番号」の入力欄が現れ、1〜100の任意のページ番号を指定できます。 例:3ページ目のみを中扉にしたい場合、そのデザイナーページに「指定ページ」を選び、出力ページ番号を 3 にします。 明細が流し込まれる出力において、3ページ目は明細の代わりに中扉が描画されます。
「最初のページ」と「全ページ」の使い分け
3ページのPDF(表紙・本体・裏表紙)を使って、明細行数に応じて自動的にページが増える請求書を作る例です。
設定例のページ構成
ページ1(最初のページ)
顧客名、請求日、請求番号、挨拶文(テーブルなし=表紙として振る舞う)
ページ2(全ページ)
テーブル要素(サブテーブル: items)、ページ内小計
※ データ量に応じて複数ページに複製されます
ページ3(最後のページ)
合計金額、振込先、会社情報
出力結果: 1(最初のページ)+ N(全ページ複製)+ 1(最後のページ)のPDF。1ページに収まる明細行数が10行なら、25行のレコードは最初のページ + 全ページ×3 + 最後のページ = 5ページのPDFになります。
注意事項
1ページ目に顧客情報と明細の最初のスライスを同居させ、入りきらない行は2ページ目以降の継続デザインで続ける構成です。表紙として1ページまるごと使うのがもったいない小〜中規模の請求書に最適です。
1ページ目から明細を載せる構成
ページ1(最初のページ、テーブルあり)
請求書タイトル、顧客情報、発行日、請求番号 + 明細テーブル(最初のスライス)
※ 明細行が1ページに収まる場合はここで完結
ページ2以降(全ページ)
継続ヘッダ「明細(続き)— {{company}} 御中」+ 明細テーブル(残りの行)
※ 必要なだけ複製されます
ページ3(最後のページ)
合計金額 {{GRAND_SUM(amount)}}, 振込先, 備考
出力結果: 13行の明細レコードで印刷すると、ページ1に4-6行、ページ2に残りの7-9行、最後に最後のページ = 3ページのPDF。25行の大きな明細レコードなら、ページ1 + ページ2+3+4(全ページ複製)+ 最後のページ = 5ページのPDF。明細行数が少なくても多くても、表紙にページを1枚丸ごと使う無駄が無くなります。
請求書管理アプリの「請求書 (1ページ目から明細)」プリセットテンプレートがこの構成の完成例です(デモ環境の seed-print-step2 で自動投入されます)。
テキスト要素に特別なプレースホルダーを書き込むと、そのページに描画されているサブテーブル行を対象に自動的に集計します。 明細ページごとの小計や、全体合計の表示に使います。
| プレースホルダー | 計算内容 | 例 |
|---|---|---|
| {{PAGE_SUM(code)}} | このページに含まれる行のcode 列の合計 | {{PAGE_SUM(amount)}} |
| {{PAGE_COUNT}} | このページに含まれる行数 | {{PAGE_COUNT}} |
| {{PAGE_COUNT(code)}} | このページで code 列が非空の行数 | {{PAGE_COUNT(notes)}} |
| {{PAGE_MIN(code)}} | このページの code 列の最小値 | {{PAGE_MIN(price)}} |
| {{PAGE_MAX(code)}} | このページの code 列の最大値 | {{PAGE_MAX(price)}} |
| {{PAGE_AVG(code)}} | このページの code 列の平均 | {{PAGE_AVG(rating)}} |
| {{GRAND_SUM(code)}} | 全ページの code 列の合計 | {{GRAND_SUM(amount)}} |
| {{GRAND_COUNT}} | 全ページの行数 | {{GRAND_COUNT}} |
| {{GRAND_MIN(code)}} | 全ページの最小値 | {{GRAND_MIN(date)}} |
| {{GRAND_MAX(code)}} | 全ページの最大値 | {{GRAND_MAX(date)}} |
| {{GRAND_AVG(code)}} | 全ページの平均 | {{GRAND_AVG(rating)}} |
数値の表示形式(単位、桁区切り、小数点)はサブフィールドの設定に従います。例えば amount サブフィールドに「¥」単位と桁区切りが設定されていれば、{{PAGE_SUM(amount)}}の結果も「¥1,234,500」のように出力されます。
テキスト要素のプロパティパネルに「ページ内計算」というセクションがあり、一覧からワンクリックで挿入できます。
ページ内計算のスニペット挿入
ページ内計算
ページ内に流し込まれた行を対象に自動集計します
複数ページ請求書で「このページの小計」と「全体合計」を同時に表示する例です。
このページの小計: {{PAGE_SUM(amount)}}請求金額合計: {{GRAND_SUM(amount)}}出力結果: 各全ページに「このページの小計: ¥XXX,XXX」が表示され、最後のページに「請求金額合計: ¥X,XXX,XXX」が表示されます。ページごとに値が変わることが確認できます。
補足
要素がどの出力ページに描画されるかは、その要素が置かれているデザイナーページのページ適用ルールだけで決まります。要素自体には表示制御の設定はありません — 置き場所で全てが決まる単一のモデルです。
| したいこと | どのページに置くか |
|---|---|
| タイトル、宛先、発行日を1ページ目にだけ表示 | 「最初のページ」ルールのデザイナーページに置く |
| 会社ロゴ・ページ番号を全ての出力ページに表示 | 「全ページ」ルールのデザイナーページに置く(テーブルがなければ各出力ページにそのまま描画される) |
| 合計金額・振込先・署名欄を最終ページだけに表示 | 「最後のページ」ルールのデザイナーページに置く |
| 中扉や説明ページを特定の位置に挟む | 「指定ページ」ルールのデザイナーページに置く |
要素を別のデザイナーページに移したいときは、エディタ上でドラッグして目的のページまで移動するだけです。要素が属するページは、その時点で置かれているデザイナーページで自動的に決まります。
データに応じて明細の途中で強制的に改ページしたいときや、ページが足りなくても必ず次のページを追加したいときに使う仕組みです。
サブテーブルの特定フィールドの値が変化した行で改ページします。カテゴリやセクションごとに明細ページを区切りたいときに有効です。
キーフィールドの設定
改ページルール
例:category が「食品」「日用品」「家電」の順で並んでいる場合、カテゴリが切り替わる行で改ページされます。同じカテゴリが長く続くなら、容量が許す限り1ページに収まります。
サブテーブルの行を走査して、特定の条件に合致した行で改ページします。文字列・数値・日付向けに 10 種類の演算子 (=, ≠, <, ≦, >, ≧, 含む, 含まない, 始まる, 終わる) を使って細かく条件を組み立てられます。
データ条件の設定
改ページルール
| 演算子 | 意味 |
|---|---|
| 〜を含む | 文字列の部分一致 |
| 〜を含まない | 部分一致しない |
| 〜と等しい | 完全一致 |
| 〜と等しくない | 完全不一致 |
| 空である / 空でない | 空文字判定 |
| 〜より大きい / 以上 | 数値比較(> / >=) |
| 〜より小さい / 以下 | 数値比較(< / <=) |
「最初のページ」ルールのデザイナーページに表示される「次のページを強制追加」チェックを入れると、データが少なくても必ず末尾に空の継続ページを1枚追加します。例えば「データ量にかかわらず必ず2ページ以上にしたい契約書・申込書」などで使います。
次のページを強制追加(最初のページのみ)
利用条件
動作:チェックを入れると、明細行が尽きて出力すべきデータが無くなっても、継続ルール(全ページ/奇数ページ/偶数ページ)のレイアウトを使った空の継続ページが末尾に1枚追加されます。
各要素には「固定」と「相対」の2つの配置方式があります。 デフォルトは「相対」です。プロパティパネルの配置方式トグルで切り替えます。
配置方式トグル(プロパティパネル)
配置方式
| 配置方式 | 動作 | 用途 |
|---|---|---|
| 相対(デフォルト) | エディタ上の位置 + 上にあるテーブルの伸び分だけ自動的に下へ移動 | テーブルの下に配置する要素全般(振込先、備考、署名欄など) |
| 固定 | エディタ上のY座標そのまま。テーブルが伸びても動かない | ヘッダー、ロゴ、ページ枠線など固定位置の要素 |
「相対」配置の仕組み: エディタ上で要素より上に配置されているテーブルのデータ行数が増えると、 テーブルの高さが設計時より伸びます。その伸び分だけ、相対配置の要素は自動的に下にシフトします。 複数のテーブルがある場合は、上にある全テーブルの伸び分が累積されます。 また、要素がページの下端を超える場合は自動的に改ページされ、次のページの上端に配置されます。
「固定」配置は余白(マージン)内にも要素を配置できます。会社ロゴをページ上端に配置したり、 ページの枠線を余白ぎりぎりに配置する場合などに使用します。
複数の要素をグループにまとめると、一体として移動でき、配置方式も統一できます。
ツールバーのグループ操作ボタン
グループに含まれる要素を個別に移動・リサイズしたいとき、一度グループを解除せずともグループ編集モードに入ることで、グループを保持したまま中の要素を編集できます。Figma や Illustrator と同じ挙動です。
グループ編集モードのバナー
グループ化した要素は、まとめて拡大・縮小できます。グループ内のいずれかの要素を選択すると、グループ全体を囲む紫色の点線枠が表示され、右下角に小さな紫色のハンドルが現れます。このハンドルをドラッグすると、グループ内の全要素の位置とサイズが比例的に拡大・縮小されます。
ページの余白 (要素の上ではない場所) でマウスをドラッグすると、青い矩形が表示され、その矩形と重なるすべての要素が一括選択されます。複数の要素をまとめて操作したいとき、Shift+クリックで 1 つずつ選ぶより高速です。
グループのプロパティ(紫の囲み)
配置方式
グループ名
要素をロックすると、ドラッグ・リサイズ・削除・矢印キーによる移動が無効になり、誤操作を防止できます。 ロックされた要素はクリックして選択することは可能です。
キャンバスの表示倍率を 15%~400% の範囲で連続的に変更できます。
| 操作 | 説明 |
|---|---|
Ctrl + マウスホイール | カーソル位置を中心にズームイン/アウト(カーソルの下の点が画面上で固定されます) |
Ctrl += / Ctrl +- | ズームイン / ズームアウト |
Ctrl +0 / Ctrl +1 | 100% にリセット |
| ドロップダウンプリセット | 30% / 50% / 75% / 100% / 125% / 150% / 200% から選択 |
Grid トグルボタンでグリッド線の表示とスナップを同時に ON/OFF できます。
キャンバス上で右クリックするとコンテキストメニューが表示されます。各項目にはキーボードショートカットのヒントも表示されます。
右クリックメニュー
既存の帳票フォーマット(画像)を背景に設定し、その上に要素を重ねてデザインできます。テンプレート編集画面上部の「背景を追加」ボタンから画像をアップロードし、透過度を調整してください。
フィールドの値や固定テキストからコードを自動生成して帳票に印刷できます。
QRコードのプロパティ
データソース
誤り訂正レベル
文字色
背景色
バーコード要素は CODE128 / EAN-13(JAN-13)/ ITF(Interleaved 2 of 5)/ Code 39 の4形式に対応しています。 プロパティパネルの「バーコード形式」から選択してください。
| 形式 | 用途 | 入力仕様 |
|---|---|---|
| CODE128 | 汎用。英数記号を含むASCII | 印字可能ASCII。長さ可変 |
| EAN-13 / JAN-13 | 商品流通コード | 数字12桁(チェックデジット自動付与)または13桁(検証) |
| ITF | 物流ラベル・外装箱 | 数字のみ。奇数桁は先頭に 0 を自動補完 |
| Code 39 | 工業タグ・在庫管理 | 半角英数字と - . $ / + % 空白。小文字は自動で大文字化 |
- . $ / + % 空白。小文字は自動で大文字化形式に合わない値(EAN-13 で英字、Code39 で * など)が渡された場合、バーコード領域には「Barcode Error」のプレースホルダが描画され、出力を失敗させません。
| 操作 | ショートカット |
|---|---|
| 元に戻す(Undo) | Ctrl + Z |
| やり直す(Redo) | Ctrl + Y / Ctrl + Shift + Z |
| 切り取り | Ctrl + X |
| コピー | Ctrl + C |
| ペースト | Ctrl + V |
| 複製 (グループの場合はグループごと) | Ctrl + D |
| マーキー選択 (矩形で一括選択) | ページの余白をドラッグ |
| 全選択 (ページ内) | Ctrl + A |
| グループ内の全メンバーを選択 | グループ編集モード中に Ctrl + A |
| 縦横比を保ってリサイズ | リサイズハンドルを Shift + ドラッグ |
| グループ化 | Ctrl + G |
| グループ解除 | Ctrl + Shift + G |
| グループ編集モードに入る | グループ内の要素をダブルクリック |
| グループ編集モードを終了 | Escape / 背景クリック / バナーの「終了」 |
| ロック / ロック解除 | Ctrl + L |
| 全ロック解除 | Ctrl + Alt + L |
| 手のひらツール (一時切替) | Space 長押し |
| ズームイン | Ctrl + = / Ctrl + + |
| ズームアウト | Ctrl + - |
| 100% にリセット | Ctrl + 0 / Ctrl + 1 |
| カーソル位置でズーム | Ctrl + マウスホイール |
| 微調整 (1mm 単位) | ↑ / ↓ / ← / → |
| 微調整 (10mm 単位) | Shift + 矢印キー |
| 1 つ前面へ | Ctrl + ] |
| 最前面へ | Ctrl + Shift + ] |
| 1 つ背面へ | Ctrl + [ |
| 最背面へ | Ctrl + Shift + [ |
| 要素の削除 | Delete / Backspace |
| 複数選択 | Shift + クリック / Ctrl + クリック |
| テキストのインライン編集 | テキスト要素をダブルクリック |
| インライン編集の終了 | Escape / 他の場所をクリック |
| 右クリックメニュー | 右クリック |
帳票はレコード詳細画面からの単一出力と、レコード一覧画面からの一括出力の2通りで出力できます。
テンプレートに「PDF保存先」フィールドが設定されている場合、「レコードに保存」メニューも表示されます。クリックすると生成したPDFがレコードの添付ファイルフィールドに保存されます。同じテンプレートで再保存すると上書きされます。
レコード一覧画面でチェックボックスで複数レコードを選択し、「一括帳票出力」ボタンからテンプレートを選択します。選択した各レコードの帳票が連結された 1 PDF(最大 50 件)がダウンロードされます。連結印刷を有効にしたテンプレートでは、グリッド配置で出力されます。
| サイズ | 寸法 (mm) | 用途 |
|---|---|---|
| A3 | 297 x 420 | 大判図面、ポスター |
| A4 | 210 x 297 | 標準(請求書、見積書など) |
| A5 | 148 x 210 | 納品書、注文書 |
| A6 | 105 x 148 | 伝票、メモ |
| B4 (JIS) | 257 x 364 | 賞状、履歴書 |
| B5 (JIS) | 182 x 257 | 雑誌サイズ |
| はがき | 100 x 148 | 郵便はがき |
| 長形3号封筒 | 120 x 235 | 定形封筒 |
| 角形2号封筒 | 240 x 332 | A4が入る封筒 |
連結印刷を使うと、複数のレコードを1ページにグリッド状に並べて印刷できます(例: 2列 x 4行 = 1ページ8レコード)。 テンプレートでは1つのカードレイアウトだけをデザインし、システムが各レコードのデータでそれを複製してグリッドに配置します。
ドキュメントタブの「連結印刷」セクションで設定します。
連結印刷の設定
列数
行数
横間隔 (mm)
縦間隔 (mm)
レコード数がページの容量(列数 x 行数)を超える場合、自動的に複数ページに分割されます。
差し込み印刷を使うと、1ページに複数のレコードをタイル配置して印刷できます。 宛名ラベルや名刺、バーコードラベルなどの用途に最適です。 1 枚のテンプレートをそのままグリッドに敷き詰めるので、シンプルかつ既存テンプレートを流用しやすいのが特徴です。
差し込み印刷の設定
列数
行数
横間隔 (mm)
縦間隔 (mm)
レコード数がページの容量(列数×行数)を超える場合、自動的に複数ページに分割されます。
テンプレートをJSONファイルとして書き出し、別のアプリに取り込むことができます。
テンプレート一覧の各テンプレートにあるダウンロードボタン()をクリックすると、テンプレート定義がJSONファイルとしてダウンロードされます。用紙設定、要素、グループ、ヘッダー/フッター、差し込み設定などが含まれます。
インポート後、テンプレート名やフィールドの対応を必要に応じて編集してください。フィールドコードが一致しないアプリにインポートした場合、該当フィールドは空欄で出力されます。
{{PAGE_SUM(code)}} で各ページの小計を、{{GRAND_SUM(code)}} で全体合計を表示できます