使用c#來使用條碼機的應用在網路其實不太好找到

參考了網路上許多前輩的用法,找出自己需要的才是重要的

 

首先要載入 (743LIB.DLL、TSCLIB.DLL)這2個dll檔,不像我熟悉「加入參考」的方式

需要用 動態連結程式庫(DLL) 靜態使用的方式   先宣告一個類別先

public class TSCLIB_DLL
{
[DllImport("743LIB.dll", EntryPoint = "about")]
public static extern int about();

[DllImport("743LIB.dll", EntryPoint = "openport")]
public static extern int openport(string printername);

[DllImport("743LIB.dll", EntryPoint = "barcode")]
public static extern int barcode(string x, string y, string type,
string height, string readable, string rotation,
string narrow, string wide, string code);

[DllImport("743LIB.dll", EntryPoint = "clearbuffer")]
public static extern int clearbuffer();

[DllImport("743LIB.dll", EntryPoint = "closeport")]
public static extern int closeport();

[DllImport("743LIB.dll", EntryPoint = "downloadpcx")]
public static extern int downloadpcx(string filename, string image_name);

[DllImport("743LIB.dll", EntryPoint = "formfeed")]
public static extern int formfeed();

[DllImport("743LIB.dll", EntryPoint = "nobackfeed")]
public static extern int nobackfeed();

[DllImport("743LIB.dll", EntryPoint = "printerfont")]
public static extern int printerfont(string x, string y, string fonttype,
string rotation, string xmul, string ymul,
string text);

[DllImport("743LIB.dll", EntryPoint = "printlabel")]
public static extern int printlabel(string set, string copy);

[DllImport("743LIB.dll", EntryPoint = "sendcommand")]
public static extern int sendcommand(string printercommand);

[DllImport("743LIB.dll", EntryPoint = "setup")]
public static extern int setup(string width, string height,
string speed, string density,
string sensor, string vertical,
string offset);

[DllImport("743LIB.dll", EntryPoint = "windowsfont")]
public static extern int windowsfont(int x, int y, int fontheight,
int rotation, int fontstyle, int fontunderline,
string szFaceName, string content);

}

上面的載入dll檔  [DllImport("743LIB.dll", EntryPoint = "about")]需要檔案的絕對路徑

 

接下來就是使用dll的部分

 

string printer_name = "bp-743m";

//  如果是使用網路上的 則是 //server_name/bp-743m

TSCLIB_DLL.openport(printer_name );

 

/*

標籤紙大小的主要設定

設定標籤的寬度、高度、列印速度、列印濃度、感應器類別、gap/black mark 垂直間距、gap/black mark 偏移距離

這邊實際上應該就有出入了 寬度、高度雖然一開始去量了紙張實際大小,但是列出來就出現太大一次出2張的問題

這部分需要一直不斷測試才能找到最佳的設定

*/

TSCLIB_DLL.setup("100", "78.5", "2", "10", "0", "0", "0");

//  清除緩衝區內容(以免前一張標籤的資料殘留)

TSCLIB_DLL.clearbuffer();

 

/*

再來就是刷定要印的字了

分別是 文字x軸起始 、文字y軸起始 、字體大小 、字體大小 、是否翻轉(0~270度)  、字體外形(0標準、1斜體、2粗體、3粗斜體)  、字型 、 顯示的字

*/

TSCLIB_DLL.windowsfont(30, 30, 30, 0, 0, 0, "標楷體", "廣華電子材料有限公司");  //Draw windows font

//  第幾頁開始、份數

TSCLIB_DLL.printlabel("1", "1"); 

TSCLIB_DLL.closeport(); 

 

 參考文章 http://www.mayantech.cn/New-51.html

詳細設定文件 https://docs.google.com/file/d/0By33wVEK-g_0ZFctUERIa0padlk/edit

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 richchen10 的頭像
    richchen10

    陽光灑肩頭--彷彿自由人

    richchen10 發表在 痞客邦 留言(0) 人氣()