提供Web API④:帳票の差し込み印刷

※LinkPrint CLOUD Web APIの概要や本記事内に記載されている用語についての説明はこちらをご確認ください。

差し込み印刷の方法

指定されたテンプレートフォームに対し、指定された印刷データを差し込む方法です。

差し込み印刷方法サンプル
関数名 LPCA.insertPrintData
引数①
必須。

提供Web API③:印刷データのアップロード」を利用し、対象の印刷データをアップロードすると、「printDataId」が取得できます。この値をご指定ください。

引数②
必須。

提供API①:テンプレートフォーム一覧の取得」を利用し取得した、対象フォームの「form_id」をご指定ください。

引数③
必須。

差し込みした結果をどのような形で表示・実行するか、を以下の指定番号からご指定ください。

指定番号 表示・実行方法
1 帳票画面(入力モード)を起動します
2 PDFをダウンロードします
3 スター精密(株)製の対応プリンタに直接印刷します
4 PDFのURLを戻します
URL例:https://www.lpcloud.jp/application/api/getCopiedPdf.php?★★★

開発会社様側でURLを受け取る処理をご用意ください

※戻ってきたURLに直接アクセスすることはできません。アクセス元がご申告いただいたドメインである場合にのみアクセスいただけます。

5 フォーム保存します
フォーム保存されたテンプレートフォームは、利用会社様のLinkPrint CLOUD ユーザアカウントでログインするとご確認いただけます

※「帳票画面」はモバイル端末(iOS/Android)に対応しておりません。

※フォーム振り分け差し込み印刷を行う場合は、指定番号:2(PDFダウンロード)、もしくは4(PDFのURLを戻す)のみが対象になります。

引数④
引数③で指定番号4を指定した場合に必須。

引数③で指定番号4をご指定された場合の、開発会社様側の処理をご指定ください。

引数⑤
引数③で指定番号5を指定した場合に必須。

引数③で指定番号5をご指定された場合の、フォーム保存されるテンプレートフォームの名称をご指定ください。

引数➅
省略可。

開発会社様側で管理しているユーザIDがあり、このユーザID単位で情報の管理が必要であれば、ユーザIDをご指定ください。ユーザIDは100文字以内でご指定ください。ご指定いただいた場合、以下の部分に、ご指定されたユーザIDを表示します。

1.LinkPrint CLOUD 印刷履歴
LinkPrint CLOUDに管理者アカウントでログインされますと、印刷履歴のページが参照できます。差し込み印刷後にPDF化をされました場合、印刷履歴ページのユーザ名の列にご指定いただいた値が表示されます。
詳細は「Web API連携時の印刷履歴について」をご確認ください。

2.LinkPrint CLOUD 保存フォーム一覧
LinkPrint CLOUDにユーザアカウントでログインされますと、保存フォーム一覧ページが参照できます。上記引数③に5を指定されました場合、該当保存フォームの詳細情報の作成者欄にご指定いただいた値が表示されます。

引数⑦
省略可。

当処理は、非同期の処理です。差し込み結果が返ってくるまでお時間がかかることがありますので、画面上に「処理中」等のメッセージを表示されたい場合は、メッセージを表示するための関数を開発会社様側でご用意いただき、その関数をご指定ください。

引数⑧
引数⑦を省略された場合は省略してください。

引数⑦をご指定された場合に、そのメッセージ(「処理中」等)を非表示にするための処理をご指定ください。

戻り値 差し込みした結果を引数③で指定された方法で実行します。

 

<ポップアップブロックが表示される場合>

差し込み印刷を行う場合、別ウインドウを起動します。この別ウインドウを起動する際に、ポップアップブロックが発生し、別ウインドウが起動しないことがあります。この場合は、処理開始前に、

「LPCA.open_window();」

を実行ください。エラー等で強制的に別ウインドウを閉じたい場合は、

「LPCA.close_window();」

を実行ください。

<フォーム振り分け差し込み印刷の解除>
フォーム振り分け設定がされているフォームカテゴリを利用したテンプレートフォームに対して、フォーム振り分けをせずに差し込み印刷を行う際、「LPCA.insertPrintData」を実行する前にこちらの関数を実行してください。

関数名 LPCA.not_form_divide_print
引数 true:フォーム振り分けをせずに差し込み印刷を行う場合
false:当関数に対して「true」で実行した後に解除を実施する場合
※デフォルトでは「false」状態となっています。
戻り値 なし

 

<差し込み印刷処理を連続で行う場合>

以下の方法で差し込み印刷処理を連続で行うことが可能です。

変数名
詳細
LPCA.CLOSE_INSERT_WINDOW_FLAG

標準は「true」の値を持ちます。

「LPCA.insertPrintData」を実行すると、別ウィンドウを起動し差し込み印刷処理を行います。引数③で「2」もしくは「4」を選択された場合、差し込み印刷処理完了後に「LPCA.CLOSE_INSERT_WINDOW_FLAG」が「true」であれば、この別ウィンドウを閉じます。

LPCA.PDF_URL_RETURN_TYPE

標準は「1」の値を持ちます。

「LPCA.insertPrintData」の引数③に「4」を指定された場合、引数④の処理の引数にPDFの情報を渡します。

LPCA.PDF_URL_RETURN_TYPE」が「1」の場合は、PDFのURLの文字列を渡します。

LPCA.PDF_URL_RETURN_TYPE」が「2」の場合は、以下の配列の情報を渡します。

「finishFlg」:差し込み印刷処理が完了した場合は「true」、未完了の場合は「false」
url」:PDFのURL

 

差し込み印刷処理を連続で行う場合は、「LPCA.insertPrintData」の引数③に「4」を指定してください。

「LPCA.insertPrintData」を実行時に起動する別ウィンドウが閉じてしまうと、次に「LPCA.insertPrintData」を実行時にポップアップブロックが表示される可能性があります。差し込み印刷処理を連続で行う場合は、この別ウィンドウを閉じずに次の差し込み印刷処理を実行すると処理を継続することができます。

「LPCA.insertPrintData」を実行する前に、「LPCA.CLOSE_INSERT_WINDOW_FLAG = false;」に指定し、最終の「LPCA.insertPrintData」を実行する前に、「LPCA.CLOSE_INSERT_WINDOW_FLAG = true;」に指定してください。

また、「LPCA.insertPrintData」を実行する前に「LPCA.PDF_URL_RETURN_TYPE = 2;」と指定しておくと、「finishFlg」の情報を得ることができ、1つの差し込み印刷処理が完了したか否かを確認することができます。

 

<差し込み処理が開始されたタイミングで実行する処理を指定>

「LPCA.insertPrintData」を実行しますと、「/waiting/」というウィンドウが起動します。その後、差し込み処理の準備が整うと、このウィンドウが「/start/」に遷移し差し込み処理が行われます。「/start/」に遷移した際に、呼び出し元の画面側で行う処理をご指定いただけます。

関数名 LPCA.setAfterInsertFunction
引数 処理
戻り値 なし

 

●サンプル

*********************************
LPCA.setAfterInsertFunction(function(){
(処理)
});
LPCA.insertPrintData(・・・・);
*********************************

「LPCA.insertPrintData」を実行する前にご指定ください。

また、「LPCA.setAfterInsertFunction」でご指定された処理は、呼び出し元の画面が再読み込みされるまで保持します。処理をリセットされたい場合は、以下の処理をご指定ください。

関数名 LPCA.resetAfterInsertFunction
引数 なし
戻り値 なし

 

<差し込み処理中にエラーが発生した場合>

「LPCA.insertPrintData」を実行し何らかのエラーが発生した際のメッセージを呼び出し元に返します。「LPCA.insertPrintData」を実行する前に以下の関数をご指定ください。

関数名 LPCA.setReturnErrorMsg
引数 処理
戻り値 なし

 

●サンプル

*********************************
LPCA.setReturnErrorMsg(function(msg){
(処理)
});
LPCA.insertPrintData(・・・・);
*********************************

<面付フォーム 差し込み印刷対象外の面にあるオブジェクトの削除>

面付フォームに対する差し込み印刷で残ってしまう面の面上のオブジェクトを削除するようにご指定いただけます。
例:12面の面付フォームで10面分のみ使用し2面が残る場合、残った2面の面上のオブジェクトをすべて削除。

関数名 LPCA.set_delete_no_use_men_flg
引数 「true」:オブジェクトの削除をします
「false」:オブジェクトを削除しません
戻り値 なし

 

 

<script>
//「処理中」等のメッセージを表示する関数
function waiting(){
  //「処理中」等のメッセージを表示する処理
}
//「処理中」等のメッセージを非表示にする関数
function waited(){
  //「処理中」等のメッセージを非表示にする処理
}
//PDFのURLを取得した後の処理(開発会社様にご用意いただく処理となります)
function getPdfUrl(url){
  //引数のurlに生成したPDFのURLが指定されます。PDFのURLを取得した後の処理を作成いただきます。
}
//「printDataId」の値
var printDataId_val = '●●';
//「form_id」の値
var target_form_id = '△△';
//指し込み結果の表示方法
var insertMethod_val = □□;
(1~5までを指定//フォーム保存されるテンプレートフォームの名称
var save_formName = '〇〇';
//開発会社様側で管理しているユーザID
var devsys_userid = '▲▲';
//差し込み処理開始
LPCA.insertPrintData(printDataId_val, target_form_id, insertMethod_val, getPdfUrl, save_formName, devsys_userid, waiting, waited);
</script>