ロゴ:EPSON
ロゴ:よくあるご質問(FAQ)

製品別
質問別

URLをクリップボードにコピーしました
シェア用URL:https://faq2.epson.jp/web/Detail.aspx?id=35758
  FAQ番号:35758
用紙切れ状態の取得方法<EPSON Advanced Printer Driver 4 / 5 シリーズ>
TMプリンターの用紙が無くなったとき、開発したプログラムから検出する方法を教えてください。
 
 

TMプリンターには、プリンター内部に用紙が無い、用紙残量が少ない状態などを判別する機構が搭載されています。

ハードウェアの仕様上、TM-T20, TM-T20II , TM-m30 , TM-m10 は用紙エンドを検出できますが、用紙ニアエンドは検出できません。

 

TMプリンターにて、用紙エンド検出または、用紙ニアエンド検出が判別されたとき、プリンターは状態の変化(ステータス)を通知します。
プログラムの開発環境にて EPSON Advanced Printer Driver のステータスを取得するには、Status API をご利用ください。


「Status API」機能は、EPSON Advanced Printer Driver のプリンタードライバーと同時にインストールされます。
.NET 開発環境で使用される場合はこちらをご覧ください。

 

用紙切れ状態の取得方法 ( C# )

Status API で用紙切れの状態を確認するには、ステータス値 ASB_RECEIPT_NEAR_END (用紙残量が少ない) / ASB_RECEIPT_END (用紙が無い) を使用します。

using com.epson.pos.driver;

class PaperCheckSample
{

  private string PRINTER_NAME = "EPSON TM-T88V Receipt"; // プリンター名
  private StatusAPI sAPI;

  //ステータス監視の開始
  private void Start()
  {
     sAPI = new StatusAPI();

     //通知された ASB ステータスを処理するイベントハンドラーへの参照
     sAPI.StatusCallback += new StatusAPI.StatusCallbackHandler(Monitor);

     if (sAPI.OpenMonPrinter(OpenType.TYPE_PRINTER, PRINTER_NAME) == ErrorCode.SUCCESS)
     {
        //StatusCallback イベントによる自動ステータス通知を開始
        if (sAPI.SetStatusBack() != ErrorCode.SUCCESS)
        {
           //自動ステータス通知の開始失敗
        }
     } else {
        // プリンターのオープン失敗
     }
  }

  //ステータス監視の処理(イベントハンドラーメソッド)
  private void Monitor(ASB dStats)
  {
     if (dStats.ToString().Contains(ASB.ASB_RECEIPT_NEAR_END.ToString()))
     {
        //用紙残量が少ない
     }

     if (dStats.ToString().Contains(ASB.ASB_RECEIPT_END.ToString()))
     {
        //用紙が無い
     }
  }

  //ステータス監視の終了
  private void End()
  {
     if (sAPI.CancelStatusBack() == ErrorCode.SUCCESS)
     {
        if (sAPI.CloseMonPrinter() != ErrorCode.SUCCESS)
        {
           //クローズ失敗
        }
     } else {
        // ステータス通知の終了失敗
     }
  }
}

モバイルプリンター TM-P20,TM-P60II
PC一体型プリンター TM-T70II-DT,TM-T88V-DT
TMシリーズ TM-H5000II,TM-H6000II,TM-H6000III,TM-H6000IV,TM-J2000,TM-J2100,TM-L60II,TM-L90 オートカッターモデル,TM-L90 ピーラーモデル,TM-T20,TM-T20II,TM-T285,TM-T70,TM-T70II,TM-T88III,TM-T88IV,TM-T88V,TM-T90,TM-T90 KP,TM-T90II,TM-U220A,TM-U220B,TM-U220D,TM-U295,TM-U590,TM-U675,TM-U950,TM-m10,TM-m30
FAQ改善アンケート

このページの評価をお聞かせください。〇✖をお選びください。

 

■役に立った
■役に立たなかった