kintone アプリ管理者、帳票の設定担当者、レコードから PDF を作る利用者向けの FAQ です。印刷屋プラグイン Ver.6 の設定画面と PC 版・スマートフォン版の動作を基にしています。
目次
使い始める
Q. 印刷屋では何ができますか? スマホでも使えますか?
PC 版 kintone のレコード詳細画面・レコード一覧画面から、設定した HTML と CSS をブラウザー上で画像化して PDF にできます。 詳細画面では1件、一覧では表示中の複数件を扱えます。この方式では PDF に文字情報が入らないため、本文の検索やコピーはできません。スマートフォン版は Ver.6 から、レコード詳細画面の1件の帳票に対応しました(プレビュー → PDF → 添付ファイル項目へ保存。保存先の設定が無いボタンは、PDF ができると「共有」で端末の共有シート(ファイルに保存、メールなど)に渡します。共有が使えない環境ではブラウザーのダウンロードになります。Android の kintone モバイルアプリは共有もダウンロードも使えないため、保存先の添付ファイル項目を設定してください)。スマートフォン版のボタンは、プラグイン設定の「Web フォント」が有効なときだけ出ます。一覧の一括処理と一覧帳票はスマートフォン版では使えません。
Q. 最初の帳票を作るには、何を用意しますか?
対象アプリのレコードと、帳票のページを作る HTML を用意します。 アプリのプラグイン設定で「プラグイン有効」を確認し、使用するボタン行を有効にして、ボタン名と「HTML」欄の設定を開きます。帳票用の HTML 行を追加し、行を有効にして内容を入力します。ページの外枠には rex0220-pcraft-page クラスを使い、ページごとにその要素を作ります。CSS は同じ HTML 行、または「共通CSS」に設定できます。
最初は固定の見出しなど、簡単な1ページで表示を確認してください。HTML 内の ${...} にはフィールドコードや計算式を記述できます。必要な箇所から少しずつ追加すると確認しやすくなります。専用のアプリテンプレートを必須とする処理はありません。
Q. HTML と計算式のどちらで帳票を作ればよいですか?
最初は HTML と CSS でレイアウトを作り、値は HTML 内の ${フィールドコード} や ${計算式} で差し込む方法が分かりやすいです。 見出しや宛名などを画面上の HTML として確認しながら直せます。日付や金額を表示用の形式にする場合は、${FVAL(見積日)} や ${FVAL(合計)} のように指定します。明細テーブルの生成や、HTML の一部分をレコードに応じて組み替える処理が必要になったら、その行の「計算式」を併用します。
| 作りたい帳票 | 選び方 |
|---|---|
| 固定の配置にレコードの値を入れる | HTML・CSS と ${...}
|
| 明細表など、繰り返す部分を生成する | HTML 欄に ##table## などの目印を置き、計算式欄で TABLE_HTML と REPLACE($html, ...) を使って差し替える |
| ページ全体を式で組み立てる | HTML 欄を空にし、計算式の PAGE_HTML・TAG などを使う |
同じ行で HTML と計算式を併用すると、HTML 欄の処理結果は $html から参照できます。最終的な出力は計算式の結果になるため、HTML 欄の内容を残すには REPLACE($html, "##table##", TABLE_HTML(...)) のように $html を使った結果を返してください。計算式だけでページ全体を作る方法もありますが、初めてなら HTML で始め、必要な部分に式を加えると変更箇所を追いやすくなります。どちらの方法でも、PDF にするページには rex0220-pcraft-page が必要です。
Q. 既存の帳票作成例を使って学べますか?
はい。印刷屋プラグインの記事に、見積書・請求書・複数ページ・一覧帳票などの作成例がまとまっています。 最初は見積書の作成手順を読むと、フォーム項目、ボタン設定、HTML と計算式の関係を一通り確認できます。この記事には「計算式のみ」と「HTML+計算式」の2種類の見積書があり、明細には TABLE_HTML を使っています。
- 作成例の一覧から用途に近い帳票を選び、まず自分のアプリのフィールドコードと、例の「見積明細」「合計」「見積ファイル」などの項目を対応付ける。
- HTML・CSS・計算式を自分の項目に合わせて変更する。PDF の保存先にする添付ファイル項目も、自分のアプリで選び直す。
- Ver.6 の設定画面では対象ボタンの「HTML」を開いて入力し、少数のレコードでプレビューと PDF を確認する。
- 基本が動いたら、請求書への変更例や明細を複数ページにする例へ進む。
これらの記事は Ver.6 より前に公開された作成例です。帳票の構成や式を参考にし、画面上の操作名と保存・反映の手順は現在の設定画面で確認してください。記事のフィールドコードや固定の画像キーを、そのまま別のアプリで使えるとは限りません。
Q. レコード詳細画面で1件の PDF を作るには?
対象レコードの詳細画面で印刷屋のボタンを押し、帳票のプレビュー画面でもう一度ボタンを押します。 ボタン名は設定者が決めた名前です。プレビュー画面には「キャンセル」と、PDF のダウンロードまたは保存先を示す説明が表示されます。出力後、画面は再読み込みされます。
詳細画面では、利用者にそのレコードの編集権限があるかを確認してからボタンを表示します。PDF をダウンロードする設定でも、この表示条件は同じです。
Q. プレビューを見てキャンセルすると、PDF やレコードはどうなりますか?
キャンセルすると PDF は作られず、レコードも変わりません。 詳細画面のボタンと「一覧」をオンにしたボタンは、いったん帳票のプレビューを表示し、そこでボタンを押したときだけ PDF の作成・保存・レコード更新を行います。プレビュー中は kintone の画面が隠れますが、キャンセルで元の画面に戻ります。
一覧の通常の複数件処理(「一覧」オフ)にはプレビューがありません。ダイアログで「実行」を押すと対象レコードを1件ずつ処理し、途中で止める操作はないので、対象件数を確認してから実行してください。詳細画面と統合帳票では出力成功後に画面が再読み込みされます。通常の複数件処理では完了後にダイアログを閉じると、1件以上出力した場合に再読み込みされます。ダウンロードだけの場合も同様です。
Q. AI を使って帳票を作成できますか?
はい。たとえば ChatGPT に既存の見積書の作成例と自分のアプリの項目を渡し、HTML・CSS・計算式の変更案を作らせる方法があります。 AI を呼び出す機能は印刷屋にはないため、作成と反映は別々に行います。まずアプリのフォームで実際のフィールドコードを確認し、用紙サイズ、縦横、詳細画面の1件用か一覧の複数件用かを決めます。参考にする Qiita 記事の該当する HTML・CSS・計算式を依頼文に貼ると、変更する箇所を具体的に示せます。
依頼文の書き方が分からなければ、依頼文自体を ChatGPT と一緒に作ることもできます。まず次の短い文を送り、聞かれた内容に答えてください。
kintone の印刷屋プラグイン Ver.6 で帳票を作りたいです。
ChatGPT に帳票作成を依頼するための指示文を一緒に作ってください。
まず、帳票の用途、実際のフィールドコードと項目の種類、
明細テーブルの有無、出力する画面、用紙サイズ、PDF の保存先、
参考にする作成例について、不足している情報を質問してください。
回答後、HTML・CSS・必要な計算式を分けて出力させ、
各ページの外枠に rex0220-pcraft-page クラスを付けるよう
指定してください。PDF は画面の画像化で作られ、文字の検索・
コピーはできないこと、設定手順と完成した PDF の確認項目も
指示文に含めてください。
不明なフィールドコードや計算式は推測しないでください。
参考記事を確認できない場合は、必要な箇所の貼り付けを求めてください。
作られた指示文で、フィールドコード・保存先・参考例との対応が正しいか確認し、同じ会話で「この指示文で帳票案を作ってください」と続けます。必要な情報がそろっているなら、次の具体例をそのまま自分のアプリに合わせて書き換えても構いません。
最初の1件用帳票なら、ChatGPT に次のように依頼できます。見積番号 などのフィールドコードは例なので、自分のアプリのものに置き換えてください。
kintone の印刷屋プラグイン Ver.6 で使う、レコード詳細画面の
見積書を作ってください。A4 縦、1ページ、PDF はダウンロードにします。
参考記事は https://qiita.com/rex0220/items/9df2dd382ee86385bb8d です。
この記事の作成例を土台に、私のアプリの項目へ変更してください。
記事の添付ファイル保存と「見積ファイル」を使う表示条件は
引き継がず、今回は PDF ダウンロード用にしてください。
アプリのフィールドコードは「見積番号」「宛名」「見積日」「合計」です。
見出し、宛名、見積番号、見積日、合計を載せてください。
出力は「HTML」設定の1行に貼る HTML、その行の CSS、
必要なら同じ行の計算式を分けてください。ページ全体を
<div class="rex0220-pcraft-page">...</div> で囲み、
見積番号と宛名は ${見積番号} のように差し込み、
日付と合計は ${FVAL(見積日)}、${FVAL(合計)} で
表示用に整えてください。合計の桁区切りや単位は
アプリ側の項目設定に従い、未指定の通貨記号は足さないでください。
指定した以外のフィールドコードや未確認の計算式は作らず、
情報が足りなければ質問してください。最後に設定手順と、
プレビュー・完成した PDF で確認すべき点も挙げてください。
参考記事の必要な HTML・CSS・計算式をこの下にも貼ります。
記事にアクセスできない場合は貼り付けた部分を使ってください。
使う部分を選び、古い設定画面の操作説明は
Ver.6 の画面に合わせて書き直してください。
[ここに記事の該当箇所を貼る]
回答の HTML と CSS を対象ボタンの「HTML」設定の有効な行に入力し、「保存する」後に運用環境へ反映します。実際のレコードでプレビューし、完成した PDF の値・改ページ・見た目を確認してください。明細テーブル、ページ番号、画像の書き方は次の「帳票の中身をつくる」も参考になります。複数レコードを1つにまとめる帳票や「更新項目(計算式)」を使う帳票は、まず1件用を確認してから必要な項目・条件を追加で指示すると、誤りを見つけやすくなります。実データを AI に渡す場合は、利用環境でのデータの扱いを確認してください。
帳票の中身をつくる
Q. フィールド値、画像、グラフ、QR コードを載せられますか?
HTML と計算式を使って帳票に組み込めます。 HTML 内の ${計算式} はレコードごとに評価されます。添付ファイルの画像や QR コードには専用の置換処理があり、kintone グラフの埋め込みタグも画像に変換して取り込む処理があります。画像が取得できないと代替画像になる場合があります。最初に1件で確認し、一覧の帳票なら複数件でも PDF の内容を確かめてください。
PDF に取り込む帳票本文は rex0220-pcraft-page の要素内に置きます。要素の外に書いた本文は PDF のページにならず、画像・QR コード・ページ番号の #{...} 置換もページ要素の中だけが対象です。CSS はページ要素の外側で定義しても、ページ内の見た目に適用できます。
グラフの埋め込みは表示先の読み込みと画像化に依存します。プレビューで見えても PDF に入らない場合は、グラフの閲覧権限と読み込み状態を確認してください。明細テーブル、ページ番号、画像・QR コードの具体的な書き方は、このあとの質問を参照してください。
Q. 共通CSS と帳票ごとの CSS はどう使い分けますか?
複数の帳票で同じ見た目にしたい部分は「共通CSS」、その帳票だけのレイアウトや色は「HTML」設定の各行の CSS に書きます。 たとえば表の基本的な罫線や文字の配置は共通 CSS、見積書だけの見出しや合計欄は個別 CSS にすると変更箇所が分かりやすくなります。共通 CSS は設定画面上部の「共通CSS」と、使う CSS 行の両方を有効にします。個別 CSS は、対象ボタンの「HTML」設定で有効にした行から読み込まれます。
CSS はページの基本設定、共通 CSS、個別 CSS の順に読み込まれます。同じ詳細度の指定なら後のものが優先されますが、セレクターの詳細度や !important によって結果は変わります。個別 CSS は、その行の HTML だけに自動で限定されません。 1つのボタンに複数の HTML 行やページがある場合も、そのボタンの帳票全体へ適用されます。別の帳票にも使う共通 CSS では汎用の指定を控え、帳票固有の CSS では次のようにクラス名で対象を絞ってください。
Q. CSS のクラス名はどう付ければよいですか?
ページに必須の rex0220-pcraft-page はそのまま使い、独自の部分には帳票の用途が分かる接頭辞を付けるのがおすすめです。 クラス名の役割は次のとおりです。
| クラス名 | 役割 |
|---|---|
rex0220-pcraft-page |
PDF の1ページを示す必須のクラス。置き換えない |
pcraft-table-*、pcraft-card-*
|
TABLE_HTML・RECS_HTML が既定で生成する表・カードのクラス。CSS を書くときは実際の出力に合わせる |
pcraft-inv-* |
見積書の作成例で使うクラス名。独自の帳票で必須ではない |
quote-* など |
自分で付けるクラス名。見積書なら quote-title、quote-total のように用途ごとにそろえる |
たとえばページを <div class="rex0220-pcraft-page quote-page">...</div> とし、合計欄に quote-total を付けたら、個別 CSS は .quote-page .quote-total { text-align: right; } と書けます。明細表の生成クラスも見積書専用にしたい場合は、TABLE_HTML(見積明細, OPT("pref", "quote-item-"), 商品名, 数量, 金額) と指定すると、表には quote-item-table、セルには quote-item-td-value などが付きます。ページ分割で生成されるページには quote-page が自動では付かないため、その表は .quote-item-table のように生成クラスから指定してください。
Q. テーブル(サブテーブル)の明細行を帳票に並べるには?
「HTML」設定の行にある「計算式」で TABLE_HTML(テーブル, 項目, ...) を使い、明細部分の HTML を作ります。 1行の中では HTML 欄を先に処理し、その結果を計算式から $html で参照できます。そのため、次のどちらの書き方もできます。
- HTML 欄に固定部分を書き、
##table##のような目印を置いて、計算式で置き換える - HTML 欄を使わず、計算式だけで
PAGE_HTML(TAG(...), TABLE_HTML(...))のように1ページ分を組み立てる
前者の場合、HTML 欄に <div class="rex0220-pcraft-page"> ... ##table## ... </div> と書き、同じ行の計算式を次のようにします。
REPLACE($html, "##table##",
TABLE_HTML(見積明細, ARRAY("#", ROWNO(見積明細) + 1), 商品名, 数量, 単価, 金額))
ARRAY("ラベル", 値) で行番号などの計算列を足せます。生成される表には既定で pcraft-table- で始まるクラス名が付くので、CSS はそれに合わせて書きます。クラス名の先頭は OPT("pref", "...") で変更できます。まず数行のテーブルで列と並び順を確認してから、実データで確かめてください。
Q. 明細が多いときにページを分け、「1 / 3」のようなページ番号を入れるには?
PDF は rex0220-pcraft-page の要素1つを1ページとして取り込むので、ページを分けるにはその要素を複数作ります。 ページ番号は、ページ要素の中に #{&p}(現在のページ)と #{&n}(総ページ数)と書くと、ページごとに置き換わります。#{&p/&n} のようにまとめて書くこともできます。
明細を一定件数ずつページに分けるには、TABLE_HTML や RECS_HTML のオプションを使います。
TABLE_HTML(見積明細, OPT("pagination", "Y", "perPage", "20", "maxPages", "10", "title", "見積明細"),
商品名, 数量, 単価, 金額)
pagination を Y にすると、perPage 件ごとに rex0220-pcraft-page のページを作り、各ページの見出しにページ番号が入ります。この形式では表そのものがページになるため、外側をさらに rex0220-pcraft-page で囲まないでください。
注意(明細の欠落):
paginationがYの場合、perPage × maxPagesを超えた行は、エラーを出さずに出力対象から外れます。両方を省略すると 20 × 10 = 200 行までです。件数の多い帳票では設定値を見直し、実データで PDF の最終行まで確認してください。
Q. ロゴや印影の画像、QR コードを入れるには?
添付ファイルの画像は計算式の IMGSRC(...)、QR コードは HTML の #{&q(URL)} で差し込みます。 どちらも PDF を作る直前に画像へ置き換わります。
<img src="${IMGSRC(添付ファイル)}"> ← 添付ファイルの最初の画像
<img src="${IMGSRC(添付ファイル, -1)}"> ← 最後の画像
<img src="#{&q(https://example.com/)}"> ← 固定 URL の QR コード
<img src="#{&q(${リンク項目})}"> ← レコードの値を使った QR コード
IMGSRC(添付ファイル, 0, "img") のように3番目に "img" を指定すると、img タグごと返します。固定のロゴや印影は、テンプレートの見本のように data: 形式の画像を HTML に直接書く方法もあります。
注意点として、画像や QR コードの置き換えは rex0220-pcraft-page の要素の中だけで行われます。QR コードにする文字列に } が含まれていると正しく取り出せません。画像が取得できなかった箇所は代替画像になるので、完成した PDF で表示を確認してください。
一覧から出力する
Q. 一覧の「一覧」設定を付けないボタンと、付けたボタンはどう違いますか?
「一覧」を付けないボタンは対象レコードごとに PDF を作り、付けたボタンは対象レコードをまとめて1つの PDF にします。
| ボタン行の「一覧」 | 操作 | 出力・保存先 |
|---|---|---|
| オフ | 対象件数を確認して「実行」 | 条件を満たすレコードごとに PDF。添付先を設定した場合は各レコードへ保存し、それ以外は個別にダウンロード |
| オン | 1つの帳票のプレビューを確認してボタンを押す | 対象レコードを使った1つの PDF をダウンロード。添付ファイル項目への保存とレコード更新は行わない |
「一覧」オンの帳票では、選んだレコードが自動で1ページずつ並ぶわけではありません。複数レコードをどう配置するかは帳票の HTML と計算式で指定します。
Q. 一覧では、どのレコードが対象になりますか?
いま表示している一覧ページのレコードが対象です。 一覧上の「選択したレコードのみ一括処理」をオンにすると、行のチェックボックスで選んだレコードだけになります。オフなら表示中の行すべてが対象です。チェックをオンにしたまま何も選ばなければ「対象レコードがありません」と表示されます。
設定画面の「レコード選択」は、一覧を開いたときのこのチェックの初期状態です。ほかのページや、一覧の絞り込み結果の全件を自動で取得して処理する操作ではありません。
Q. 一度に何件まで出力できますか? 時間がかかるときは?
1回の操作で扱えるのは、いま表示している一覧ページの行までです。 それ以上を処理するには、一覧の表示件数を増やすか、ページを移動して繰り返します。
PDF はブラウザー上で1件ずつ作るため、件数が増えるほど時間がかかります。進み具合はダイアログの「進捗」「完了」「対象外」で確認できます。グラフの埋め込みタグを使う帳票は、1件ごとに読み込みの待ち時間が入るので特に時間がかかります。添付ファイル項目に保存する設定なら各レコードに保存され、ダウンロードの設定なら件数分のファイルが続けてダウンロードされます。ブラウザー側で複数ファイルのダウンロードの確認やブロックが出ていないかも確認してください。実行後に途中で止める操作はないので、まず数件で試してから件数を増やすと安全です。
Q. 一覧で件数が表示されたのに、一部が出力されないのはなぜですか?
各レコードの「ボタン表示条件」を実行時に評価し、条件を満たさないレコードを対象外として数えるためです。 一覧ではボタン自体を表示する段階で各レコードの条件を判定しません。通常の複数件処理ではダイアログに「対象外」「完了」「進捗」が表示されます。条件を満たすレコードがあるか、一覧に表示しているページと選択状態を確認してください。
Q. 1つにまとめる帳票には、選択した複数件のデータをどう渡しますか?
「一覧」をオンにしたボタンでは、選択されたレコード群を帳票の計算式から参照できます。 帳票は選択した最初のレコードを基点に作られるため、${宛名} のような単独の項目は最初のレコードの値になります。選択したレコード全体は RECS_HTML(一覧表の HTML)、RECS_SUM(合計)、RECS_MAP(配列)などの計算式で扱います。
PAGE_HTML(
TAG("div", ATTR("class", "list-title"), "見積一覧"),
RECS_HTML(見積番号, 宛名, 見積日, 合計),
TAG("div", "合計: " & RECS_SUM(合計))
)
RECS_HTML にも OPT("pagination", "Y", "perPage", "20") を指定でき、件数が多いときはページを分けられます。まず少数のレコードで内容と順序を確かめてください。この方式では、通常の複数件処理のようなレコードごとの「ボタン表示条件」による除外は行われません。
PDFの内容と保存先
Q. PDF はダウンロードと添付ファイル保存のどちらになりますか?
通常の詳細・個別出力では、「HTML」設定内の保存先に添付ファイル項目を選ぶとそのレコードへ保存し、選ばなければダウンロードします。 保存先は通常の添付ファイル項目とテーブル内の添付ファイル項目から選べます。「一覧」をオンにした1つの帳票は、保存先の指定にかかわらずダウンロードします。帳票のプレビューや実行ダイアログにも保存先の説明が出ます。
Q. 添付ファイル項目の既存 PDF は置き換わりますか?
通常の添付ファイル項目では、既存ファイルを残して新しい PDF を追加します。 テーブル内の添付ファイル項目では、最後の行の該当項目が空ならそこへ追加し、空でなければ新しい行を追加します。既存ファイルを上書きする設定はありません。保存後はレコードを再読み込みして、追加先の行とファイルを確認してください。
Q. PDF のファイル名はどこで決めますか?
各ボタンの「HTML」設定にある「ファイル名」の計算式で決めます。 設定しない場合、または式の結果が空の場合の名前は rex0220-print-craft.pdf です。式の結果に .pdf がなければ末尾に付けます。ファイル名に使えない一部の記号は _ に置き換わるため、出力後の名前も確認してください。
Q. 用紙サイズ、縦横、ページ数はどこで設定しますか?
各ボタンの「HTML」設定で「ページサイズ」「向き」「解像度(DPI)」を選び、ページ構成は HTML で指定します。 用紙サイズは A1~A5、B1~B5、Letter、Legal、Tabloid、向きは縦・横、DPI は 96・150 から選べます。帳票内の rex0220-pcraft-page 要素を1ページとして PDF に取り込みます。設定画面にはページサイズと DPI から決まる画面サイズが px で表示されるので、CSS の幅や余白はその大きさに合わせます。内側の要素に固定幅を指定すると、余白の分だけページからはみ出す場合があります。ページ内の枠には width: 100% と box-sizing: border-box を組み合わせるなどして、プレビューと完成した PDF の両方で収まりを確認してください。
Q. PDF の文字を検索・コピーできますか? ぼやけるときは?
できません。PDF の各ページは画面を画像にして貼り付けたものなので、文字の選択・コピー・本文検索には対応していません。 表示に使われるフォントがそのまま画像になるため、PDF 側でフォントを指定する設定もありません。
細かい文字がにじむ、または印刷時に粗く見える場合は、「HTML」設定の「解像度(DPI)」を 150 にして出力を比較してください。画素数が増えますが、見え方の改善を保証する設定ではありません。あわせて CSS の文字サイズや行間も調整してください。画像として取り込むため、ページ数や解像度を上げるとファイルサイズも大きくなります。添付ファイル項目に保存した PDF も同じ作りです。読めるかどうかは、実際の PDF を等倍と拡大の両方で確認してください。
Q. PDF 作成時にレコードの項目も更新できますか?
個別出力では「更新項目(計算式)」で有効にした項目を、設定した式の結果で更新できます。 同じ画面の「更新条件」は、更新項目の式を適用するかどうかの条件です。「HTML」設定の「ボタン表示条件」とは別です。添付ファイル保存を指定した場合は、その保存もレコード更新として処理されます。「一覧」をオンにした統合帳票では、更新項目も添付ファイル保存も実行されません。
更新する項目の必須条件や編集権限を満たさない場合、または出力中に別の人がレコードを変更した場合は、保存に失敗することがあります。エラーが出たら再読み込みして最新の値を確認してください。
ボタンと設定
Q. ボタンを追加・複製・削除するには?
設定画面の「行制御」をオンにし、対象行の追加・コピー・削除アイコンを使います。 ボタン行はドラッグして並べ替えられます。追加直後の行は無効なので、使用する行のチェックをオンにし、「ボタン名」と「HTML」を設定してください。「多言語」をオンにすると言語別のボタン名・概要も編集できます。
Q. 1つのレコードから種類の違う帳票を出し分けるには?
帳票の種類ごとにボタン行を分けます。 1つのボタンの「HTML」設定で有効にした行は、上から順に連結されて1つの PDF になります。請求書と控えのように内容を分けたい場合でも、同じボタンに並べると1つの PDF にまとまります(ページを分けるには、それぞれを rex0220-pcraft-page の要素にします)。
別々の PDF にしたい、ファイル名・保存先・用紙サイズを変えたい場合は、ボタンを分けてください。「行制御」のコピーで行を複製し、ボタン名と変更点だけ直すと早いです。ボタンが増えて画面が混み合うときは「メニュー」にまとめられます。
Q. ボタンを表示する一覧や利用者を限定できますか?
「画面」で対象の一覧・詳細画面を選び、「権限」でユーザー・組織・グループを指定できます。 ゲストスペースではゲストユーザーの設定欄も使えます。対象画面を指定しない場合は、設定されたボタンが一覧・詳細画面の両方の候補になります。ただし「一覧」をオンにしたボタンは詳細画面には出ません。
権限による絞り込みを使うときは、ボタン行の「権限」チェックもオンにします。これは印刷屋のボタン表示を絞る設定で、kintone のアプリ・レコード・フィールドの権限を増やすものではありません。
Q. 「ボタン表示条件」と「更新条件」はどう違いますか?
「ボタン表示条件」は帳票出力の可否、「更新条件」は出力時に更新項目の式を適用するかを決めます。 前者は「HTML」設定の先頭行、後者は「更新項目(計算式)」の先頭行にあります。詳細画面では表示時に前者を評価し、一覧の通常の複数件処理では実行時に各レコードについて評価します。後者が偽でも、添付先を指定した個別 PDF の保存は別に行われます。
Q. 「HTML」「更新項目(計算式)」「共通CSS」は何を設定しますか?
「HTML」は PDF の内容・見た目・保存先、「更新項目(計算式)」は出力時に変更するレコード項目、「共通CSS」は複数の帳票で使うスタイルです。 「HTML」設定では行ごとの HTML・CSS・計算式と、ページサイズなどを指定します。「共通CSS」は行の有効状態に加え、画面上部の「共通CSS」チェックもオンにすると帳票へ反映されます。HTML と更新項目の行はドラッグで並べ替えられます。
Q. 「更新項目(計算式)」に目的の項目が出てきません。
更新項目に選べるのは、テーブルの外にある入力項目です。 文字列(1行・複数行)、数値、日付、日時、時刻、ドロップダウン、ラジオボタン、チェックボックス、複数選択、ユーザー選択、組織選択、グループ選択、リンクが対象です。計算フィールド、添付ファイル項目、レコード番号や作成日時などの自動の項目、テーブル内の項目は一覧に出ません。テーブルの行の値を書き換える用途には使えません。
一覧に見当たらないときは、ダイアログの「全項目追加」で追加されるか確認してください。それでも出てこない項目は対象外です。PDF の保存先にする添付ファイル項目は、この画面ではなく「HTML」設定の「ファイル」で指定します。
Q. 「メニュー」をオンにすると何が変わりますか?
対象のボタンを、画面上部の「印刷屋」メニュー内へまとめられます。 設定画面上部の「メニュー」をオンにし、各ボタン行の「メニュー」チェックで含めるボタンを選びます。メニュー名は設定ボタンで変更できます。対象画面、権限、ボタン表示条件はメニュー項目にも適用されます。
Q. 別のボタンの設定を使い回すには?
ボタン行全体を複製するなら「行制御」のコピー、内容を選んで取り込むなら「他のボタンから設定を取り込む」を使います。 後者では、権限、対象の一覧・詳細画面、HTML 設定、更新項目から取り込む内容を選べます。取り込み先1件のほか、コピー元以外の全ボタンにも適用できます。取り込み後は保存前に、特に保存先の添付ファイル項目と対象画面を確認してください。
Q. 「設定をクリップボードにコピー」と設定ファイルの操作はどう違いますか?
クリップボードへのコピーは、選んだボタンと内容を Markdown にして記録・共有する操作です。 「設定をダウンロード」はプラグイン設定のファイルを作り、「設定をアップロード」はその設定ファイルを画面に取り込みます。どちらも帳票 PDF の出力ではありません。アップロードすると画面上の設定全体が取り込んだ内容に置き換わるため、必要なら先に現在の設定をダウンロードしてください。内容を確認して「保存する」を実行すると反映対象になります。
Q. 設定を保存したのに、利用画面に反映されません。
「保存する」後に「アプリを更新」を行ったか確認してください。 設定画面の「運用環境に反映」をオンにして保存した場合は、保存後に反映処理も実行します。反映の失敗や完了未確認が表示された場合は、アプリ設定画面で状態を確認し、必要なら「アプリを更新」してください。その後、利用画面を再読み込みします。
Ver.6 では設定画面が変わりましたが、従来の保存形式を読み込む処理があります。旧設定を使っている場合も、対象ボタン・HTML・保存先を設定画面で確認してから保存してください。
困ったとき
Q. 印刷ボタンが表示されません。何を確認しますか?
最初に「プラグイン有効」と対象ボタン行の有効チェックを確認してください。 続けて次の順に確認します。
- 設定を保存し、運用環境へ反映した後、利用画面を再読み込みしたか。
- レコード詳細画面、または PC 版の通常のレコード一覧画面を開いているか。レコードの編集中や追加中の画面にはボタンが出ません。スマートフォン版は詳細画面だけで、「一覧」をオンにしたボタンは出ません。また、プラグイン設定の「Web フォント」が無効だと、スマートフォン版にはボタンが出ません。
- 「画面」でその一覧または詳細画面を対象にしたか。「一覧」をオンにしたボタンを詳細画面で探していないか。
- 「権限」の指定に自分が含まれるか。詳細画面では対象レコードの編集権限があるか。
- 詳細画面では「ボタン表示条件」を満たすか。メニューを使う設定なら、ボタンがメニュー内にないか。
Q. 一覧で選んだレコードが処理されません。
「選択したレコードのみ一括処理」の状態と、現在の一覧ページの行チェックを確認してください。 続けて次の順に確認します。
- チェックをオンにした場合、対象行にチェックが入っているか。
- 別ページのレコードを選んだつもりになっていないか。
- 通常の複数件処理なら、各レコードの「ボタン表示条件」で対象外になっていないか。
- 完了・対象外の件数と、表示されたエラーを確認したか。
Q. PDF がダウンロードされない、または添付ファイルに保存されません。
まず実行画面に表示された「pdf ダウンロード」または保存先の案内と、ボタン行の「一覧」設定を確認してください。 続けて次の順に確認します。
- 「一覧」オンの帳票なら、保存先ではなくダウンロードを確認する。
- 個別出力で添付先を使うなら、「HTML」設定で実在する添付ファイル項目を選んでいるか。
- 対象レコードと項目の編集権限、更新する項目の必須条件を満たすか。
- 実行中に別の人がレコードを更新していないか。エラーが出たら再読み込みして最新の値を確認する。
- PDF のプレビュー画面で出力ボタンを押したか。ダウンロード先はブラウザーのダウンロード履歴でも確認する。複数件をダウンロードする場合は、ブラウザーの確認やブロックが出ていないかも確認する。
Q. PC とスマートフォンで、同じ帳票の書体や改行位置が違います。
書体はプラグイン設定の「Web フォント」でそろえ、改行位置が決まっている箇所は帳票側で固定してください。 帳票は kintone の画面の中に組むので、書体を指定しないと PC とスマートフォンで OS の書体を継ぎ、文字幅が変わって折り返しが変わります。設定画面の「Web フォント」をチェックして候補(Noto Sans JP など。Google Fonts)を選ぶと、帳票を作るときにブラウザーがその書体を読み込み、Windows・Mac・iPhone で同じ字形になります。帳票を作る人のブラウザーが Google Fonts に接続すること、読み込めない環境では OS の書体で作られることに注意してください。帳票の CSS で font-family を指定している部分はそちらが優先です。
書体をそろえても、どこで折り返すかの判断はブラウザー(Chrome と Safari)で違うことがあります。word-break: keep-all を指定した列では、Chrome が「(」の手前で折り返し、Safari が英単語の後の空白で折り返す、といった差が出ます。改行位置が決まっている箇所は、<br>(計算式なら VTAG("br"))で改行を明示するか、その列に white-space: nowrap を指定して列幅で調整してください。
しくみは rex0220 印刷屋プラグイン — Web フォントのしくみとスマートフォン対応 で、図を使って説明しています。
Q. ページの内容や画像が PDF で想定と違います。
まず「HTML」の有効行、ページを表す要素、適用する CSS を確認してください。 続けて次の順に確認します。
- 各ページの HTML に
rex0220-pcraft-pageクラスの要素があり、用紙サイズ・向きに内容が収まるか。 - 「共通CSS」と使う CSS 行の両方が有効か。
-
${計算式}の結果が想定どおりか。最初は1件で値を確かめる。 - 添付画像やグラフを表示するための閲覧権限があり、読み込みが終わっているか。画像・QR コード・ページ番号の置き換えは、ページ要素の中だけで行われる。
-
TABLE_HTMLやRECS_HTMLのページ分割を使う帳票なら、行数が上限(perPage × maxPages)を超えていないか。 - プレビューだけで判断せず、完成した PDF のページ数と画像を確認したか。
補足・確認事項
- 文字表記: HTML に書いた
\(バックスラッシュ)は、PDF 作成用の画面へ表示するときに¥へ置き換わります。CSS 欄は対象外です。- PDF の見え方: 各ページを画像化して組み立てるため、文字やグラフの見え方はプレビューと完全には一致しません。完成した PDF を等倍と拡大の両方で確認してください。