ePOS-Print API FileMaker 印刷サンプルファイル
FileMaker からエプソン製レシートプリンタに対して印刷を実行するサンプルファイルです。
FileMaker からは Web ビューアを経由して Webサービスプリント機能(ePOS-Print API)を制御しています。ドライバを必要としないので、iPhone / iPad 上の FileMaker Go からでもレシート印刷が可能です。
ダウンロード
ePOS-Print API FileMaker 印刷サンプルファイル
動作環境
- FileMaker Pro 15 / FileMaker Pro 15 Advanced / FileMaker Go 15
- FileMaker Pro 14 / FileMaker Pro 14 Advanced / FileMaker Go 14
- FileMaker Pro 13 / FileMaker Pro 13 Advanced / FileMaker Go 13
- TM-T88V-i(ePOS-Print API 対応レシートプリンタ)
- 80mmラベル紙(レシートの行内文字数:最大全角21文字)
- (Mac, Win, iPhone, iPadで動作確認)
使い方
ダウンロードしたファイルを解凍してできる「ReceiptPrint_FM.fmp12」ファイルを開き、「PRINTERADDRESS」フィールドにプリンタのIPアドレスを指定して「レシート印刷」ボタンを実行します。
FileMaker Goでファイルを開くと、iPhone 用、または iPad 用のレイアウトで表示します。動作確認用のレイアウトですべてのオブジェクトが表示されていませんので、詳しくご覧になりたい方は FileMaker Pro 13 か FileMaker Pro 13 Advanced で開いてご覧ください。
設計
固定長(半角スペース詰め)により各行のデータを生成しています。
・レシート印刷で使用しているフィールド
売上明細::Linedata42(レシートの明細行の作成フィールド)
売上伝票::Sum42(レシートの合計行の作成フィールド)
売上伝票::GivenMoney42(レシートのお預り行の作成フィールド)
売上伝票::Change42(レシートのお釣り行の作成フィールド)
売上伝票::Footerdata42(レシートのフッタ行の作成フィールド)
売上伝票::LOGO(ロゴ画像格納フィールド)
売上伝票::ADDRESS(レシート印刷住所)
売上伝票::TEL(レシート印刷電話番号)
売上伝票::HTML(HTMLテンプレート格納用フィールド)
「売上伝票」レイアウトで、薄青の背景色にしたオブジェクトは印刷用に作成したもので、黄色の背景色にしたオブジェクトはヘッダ情報、HTMLテンプレートなどです。HTMLテンプレートにはキャッシュドロアを開くコマンドを含んでいます。
・明細行の仕様
「売上明細」テーブルの「Linedata42」フィールドで各明細行の印刷用文字列を生成。
・「Linedata42」フィールドの計算ロジック
固定長データのブロックを3つ繋げると考える。
空白スペースを詰める方向が右と左の場合に別れる。
書式)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 99 ¥999,999
商品名:30バイト(左詰め)
区切り:1バイト(半角スペース)
数 量:2バイト(右詰め)
区切り:1バイト(半角スペース)
価 格:6バイト(”¥”、”,”合わせて8バイト、右詰め)
バイト数のカウントにはカスタム関数を使用。
他の印刷用フィールドもデータ行の桁数、詰め方を決めて、不足の桁(半角スペース)を追加する考え方は同じです。
・参考
レシートプリンタのIPアドレス、住所、電話番号などはグローバルフィールドになっています。書き換えたい時はホストとしてファイルを開いて書き換えてください。
処理内容の分かりやすさを優先した構成になっています。実用の場合はご自身のソリューションに合わせて適宜カスタマイズしてください。例えば、ロゴ画像は印刷実行の度に Base64 エンコードしていますが、エンコードした文字列を HTML テンプレートに埋め込む方がパフォーマンスが向上します。
変更履歴
■ver 1.1
・Windows でデフォルトブラウザが IE 11 になっている環境で印刷されない問題を修正。
・行データの取得を ExecuteSQL 関数を使う方法に変更。
・FileMaker 14 で動作確認。
■ver 1.0
・初版公開
サポート
本ファイルは実装例を提示するためのサンプルファイルです(プロテクトはかかっていません)。
無保証、無サポートですので、自己責任にてご利用ください。
Special thanks
本ファイルで使用しているHTML、JavaScriptコードの作成に当たっては、エプソン販売株式会社ご担当者様のご協力をいただきました。ご協力に感謝いたします。
フィードバック
ご意見、ご感想は大歓迎です。
KEY_Planning on Twitter
KEY Planning on Facebook