カスタマイズ

PDFを出力する

概要

テンプレートファイルとレコードデータをもとに PDF ファイルを生成・出力します。

使い方

事前にいくつかの準備が必要です。

gusukuのAPIキーが必要になります。この APIキーは kintone アプリの APIトークンとは異なります。gusuku の APIキーは gusuku 共通管理画面から発行・取得することができます。

テンプレートファイルを準備します。テンプレートファイルの作成方法については、Excel/PDF出力テンプレート リファレンスマニュアルのページをご覧ください。

また、テンプレートを保存するためのkintoneアプリも必要です。作成したアプリに添付ファイルフィールドを設置し、このフィールドに1テンプレートにつき1レコードになるようにレコードを作成しておきます。

Customineのカスタマイズでは、適用するテンプレートを保存したレコードと、出力するデータとなるレコードを選択するようなカスタマイズを作成します。

最後に、カスタマイズ内に「PDFを出力する」を設置し、テンプレートや出力レコードなどをパラメーターとして設定します。

出力には少し時間がかかるため、出力処理中はダイアログが表示されます。出力が完了した時点でアクションが完了します。

設定するパラメーター

「gusuku APIキー」「データレコード」「テンプレートレコード」「テンプレートフィールド」「出力先」「ファイル名」を設定します。

gusuku APIキー

gusuku の APIキーを指定します。

kintone アプリの APIトークンのことではありませんので注意してください。

データレコード

出力したいデータとなるレコードを選択します。

省略した場合、ユーザーが現在開いている画面のレコードがデータレコードとなります。一覧画面の場合は一覧内の現在のページに表示されているレコードが対象となり、レコード詳細・編集系画面ではその1レコードが対象になります。ただし、カレンダー形式の一覧画面の場合は省略できません。

テンプレートレコード

テンプレートファイルの入ったレコードを選択します。

選択したレコードが実行時に1行もなかった場合はエラーになります。

テンプレートフィールド

テンプレートファイルの入った「テンプレートレコード」内の添付ファイルフィールドを選択します。

添付ファイルフィールドのみ選択可能です。テーブル内のフィールドは選択できません。

添付ファイルフィールド内にファイルが1つも添付されていない場合は、実行時にエラーになります。

添付ファイルのファイル拡張子が .xlsx である必要があります。それ以外の拡張子のファイルだった場合は、実行時にエラーになります。

出力先

生成したPDFファイルを出力する方法を選択します。

  • 「ブラウザーのタブ」…ブラウザーで新しいタブが開いてそこに表示されます。
  • 「ダウンロード」…ブラウザー上でファイルをダウンロードします。
    • アクションが完了する前にユーザーがブラウザーのタブを閉じてしまった場合は、ダウンロードされません。
  • 「添付ファイルフィールド」…生成したPDFファイルをkintoneへアップロードします。
    • アップロードした時点ではまだ実際にどこかのフィールドに保存されたわけではありません。「レコードを追加する」などのフィールドマッピングで、「=$1」等として「PDFを出力する」の結果をセットすることで添付ファイルフィールドにセットすることができます。
  • 「ブラウザーのタブとフィールド」…ブラウザーで新しいタブが開いてそこにPDFが表示され、同時にkintoneへもアップロードします。
  • 「ダウンロードと添付ファイルフィールド」…ブラウザー上でファイルをダウンロードし、同時にkintoneへもアップロードします。

ファイル名

ファイル名を入力します。

ダウンロード時の初期ファイル名や、添付ファイルフィールドのファイル名になります。

注意事項

  • gusuku のサーバーへの通信が発生しますが、この際の接続にはIPアドレス制限は適用されません。

制限事項

  • 出力先に「ブラウザーのタブ」または「ダウンロード」が含まれる場合、ユーザーのブラウザーの設定でポップアップブロックが有効になっていると、カスタマイズからタブを開く操作がブロックされてしまいます。「ダウンロード」も別タブでダウンロードを行いますので、ポップアップブロックされるとダウンロードが行われません。ブラウザーの設定でポップアップを許可してください。

  • 「データレコード」のサイズが約50MBを超えるとエラーになります。

  • 「データレコード」に「テーブル行をレコードとして取得する」で取得したレコードを渡すとエラーになります。

  • 出力処理が10分以内に終わらなかった場合はエラーになります。

関連記事