C# 調用打印機API - APISample c# 标簽打印範例代碼,,C# 打印, C#實現打印,C#調用打印機, C# 打印API,C# 打印報表,CSharp标簽打印,CSharp單據打印 ,CCPrintingAPI , C# 打印範例代碼,C#标簽打印,條碼,二維碼标簽,C# 單據打印,很(hěn)容易集成。
CCPrintingAPI XI
輕量、簡潔、穩定、可(kě)靠,通(tōng)用的打印機API接口,支持近百個(gè)品牌,數(shù)千個(gè)型号打印機。
打印機接口API C# 範例代碼
C#
CCPrintingAPI C# API打印範例代碼,C#調用打印機,調用CCPrintingAPI打印機接口API。

1. 引入 CCPrintingApiNet.dll
引入CCPrintingApiNet.dll後,即可(kě)使用API的相關方法,進行(xíng)設置和(hé)打印操作(zuò)。
CCPrintingApiNet CCPrintingAPI = null;
CCPrintingAPI = new CCPrintingApiNet();
//獲取HID
GetHID(m_OpenId, m_Tokens);
//獲取所有(yǒu)打印機
GetPrinters(m_OpenId, m_Tokens,6789);    
//打印
Print(m_OpenId, m_Tokens,6789);  
2. 獲取打印機
獲取計(jì)算(suàn)機上(shàng)所有(yǒu)打印機, 打印時(shí),指定該列表的打印機名稱。如果能确保打印機名稱不變,該操作(zuò)也可(kě)省去。
public void GetPrinters(String openid,String token,int itemid){
     ConfigPrintSettings cfgData = new ConfigPrintSettings() ;
     cfgData.XAction = "Printers";
     cfgData.XOpenId = openid;
     cfgData.XTokens = token;
     cfgData.ItemID = itemid;
     CCPrintingAPI.Excute(cfgData, (status, arg0, sessionid) =>
            {
                Console.WriteLine(string.Format("Excute Status:{0}, SessionId:{1}", status, sessionid));
                if (arg0 == null || arg0.Length == 0) return;
                Console.WriteLine(string.Format("Excute Result:{0}", string.Join(" ", arg0)));
            });
}
3. 打印
進行(xíng)相關參數(shù)設置後(指定打印機,設置模闆,設置打印數(shù)據),将指令通(tōng)過API傳給打印機。
public void Print(String openid,String token,int itemid){
ConfigPrintSettings cfgData = GetPrintSettings(openid, token, itemid);
CCPrintingAPI.Excute(cfgData, (status, arg0, sessionid) =>
{
     Console.WriteLine(string.Format("Excute Status:{0}, SessionId:{1}", status, sessionid));
      if (arg0 == null || arg0.Length == 0) return;
      Console.WriteLine(string.Format("Excute Result:{0}", string.Join(" ", arg0)));
  });
}

  
private ConfigPrintSettings GetPrintSettings(string openid, string token, int itemid)
{
        DataTable prtdata = new DataTable("PrintData");
        prtdata.Columns.Add("Field1", typeof(string));
        prtdata.Columns.Add("Field2", typeof(string));
        prtdata.Columns.Add("Field3", typeof(string));
        prtdata.Columns.Add("Field4", typeof(string));

        DataRow row = prtdata.NewRow();
        row["Field1"] = "CCPrintingAPI";
        row["Field2"] = ".Net 标簽打印開(kāi)發接口";
        row["Field3"] = "901201251002404";
        row["Field4"] = "325435";
        prtdata.Rows.Add(row);
        prtdata.AcceptChanges();

        //指定打印機名稱
        string selPrinter = "Deli DL-888C";
        /*打印參數(shù)配置,打印數(shù)據設置*/
        ConfigPrintSettings cfgData = new ConfigPrintSettings();
        cfgData.XAction = "Print";
        cfgData.XOpenId = openid;
        cfgData.XTokens = token;
        cfgData.ItemID = itemid;
        /*指定打印機名稱,不使用默認打印機時(shí),為(wèi)空(kōng),則使用配置的打印機*/
        cfgData.PrinterName = selPrinter;
        /*0-打印,3-獲取打印預覽*/
        cfgData.Preview = 0;
        /*模闆方式,0-客戶端模闆,1-遠程模闆,2-如果本地模闆存在,使用本地,不存在使用遠程模闆,3-不使用模闆*/
        cfgData.TemplateMode = 1;
        /*遠程模闆URL*/
        cfgData.TemplateURL = "http://img.51321.cn/web/chicore/VPrinting/API";
        //cfgPrintSettings.TemplateURL = "E:\\臨時(shí)數(shù)據\\打印\\打印樣本\\智能制(zhì)造";
        cfgData.TemplateName = "984.Lblx";
        /*打印數(shù)據的類型,0-數(shù)組,1-Json數(shù)組,元素為(wèi)JSON對象,字段:值 , JSON.stringify(prtData) 2 Datatable*/
        cfgData.PrintDataType = 2;
        /*打印數(shù)據*/
        cfgData.PrintData = prtdata;
        return cfgData;
}
4. 讀取客戶端HID
讀取安裝CCPrintingAPI的客戶端計(jì)算(suàn)機HID,該HID可(kě)以用來(lái)标識計(jì)算(suàn)機。該方法,根據需要使用。
public void GetHID(String openid,String token){
ConfigPrintSettings cfgData = new ConfigPrintSettings() ;
cfgData.XAction = "HID";
cfgData.XOpenId = openid;
cfgData.XTokens = token;
CCPrintingAPI.Excute(cfgData, (status, arg0, sessionid) =>
 {
        Console.WriteLine(string.Format("Excute Status:{0}, SessionId:{1}", status, sessionid));
         if (arg0 == null || arg0.Length == 0) return;
         Console.WriteLine(string.Format("Excute Result:{0}", string.Join(" ", arg0)));
   });
}