1. 程式人生 > >TSC條碼印表機函式使用

TSC條碼印表機函式使用

                        TSC條碼印表機函式使用

  TSC的系列條碼印表機已經被越來越多的企業使用,有相當多的企業使用者,在列印條碼標籤時,需要使用到編寫程式來列印,但對於TSC條碼機器的TSCLIB.DLL函式庫不是很瞭解,下面北京希創技術談談TSCLIB.DLL函式庫使用說明方面的問題。注意:使用動態庫TSCLIB.DLL前,安裝TSC條碼印表機驅動程式。

  1. openport(a)
    說明:指定電腦端的輸出埠
    引數:
    a:單機列印時,請指定印表機驅動程式名稱,例如: TSC CLEVER TTP-243
    若連線印表機伺服器,請指定伺服器路徑及共用印表機名稱,例如: \SERVER\TTP243

  2. closeport()
    說明:關閉指定的電腦端輸出埠
    引數:無

  3. setup(a,b,c,d,e,f,g)
    說明:設定標籤的寬度、高度、列印速度、列印濃度、感應器類別、gap/black mark垂直間距、gap/black mark偏移距離)
    引數:
    a:字串型別,設定標籤寬度,單位mm
    b:字串型別,設定標籤高度,單位mm
    c:字串型別,設定列印速度,(列印速度隨機型不同而有不同的選項)
    1.0:每秒1.0吋列印速度
    1.5:每秒1.5吋列印速度
    2.0:每秒2.0吋列印速度
    3.0:每秒3.0吋列印速度
    4.0:每秒4.0吋列印速度
    5.0:每秒5.0吋列印速度
    6.0:每秒6.0吋列印速度
    d:字串型別,設定列印濃度,
    0~15,數字愈大列印結果愈黑
    e:字串型別,設定使用感應器類別
    0表示使用垂直間距感測器(gap sensor)
    1表示使用黑標感測器(black mark sensor)
    f:字串型別,設定gap/black mark垂直間距高度,單位: mm
    g:字串型別,設定gap/black mark偏移距離,單位: mm,此引數若使用一般標籤時均設為0

  4. clearbuffer()
    說明:清除
    引數:無

  5. barcode(a,b,c,d,e,f,g,h,I)
    說明:使用條碼機內建條碼列印
    引數:
    a:字串型別,條碼X方向起始點,以點(point)表示。
    (200 DPI,1點=1/8 mm, 300 DPI,1點=1/12 mm)
    b:字串型別,條碼Y方向起始點,以點(point)表示。
    (200 DPI,1點=1/8 mm, 300 DPI,1點=1/12 mm)
    c:字串型別,
    128 Code 128, switching code subset A, B, C
    automatically
    128M Code 128, switching code subset A, B, C
    manually.
    EAN128 Code 128, switching code subset A, B, C
    automatically
    25 Interleaved 2 of 5
    25C Interleaved 2 of 5 with check digits
    39 Code 39
    39C Code 39 with check digits
    93 Code 93
    EAN13 EAN 13
    EAN13+2 EAN 13 with 2 digits add-on
    EAN13+5 EAN 13 with 5 digits add-on
    EAN8 EAN 8
    EAN8+2 EAN 8 with 2 digits add-on
    EAN8+5 EAN 8 with 5 digits add-on
    CODA Codabar
    POST Postnet
    UPCA UPC-A
    UPCA+2 UPC-A with 2 digits add-on
    UPCA+5 UPC-A with 5 digits add-on
    UPCE UPC-E
    UPCE+2 UPC-E with 2 digits add-on
    UPCE+5 UPC-E with 5 digits add-on

d:字串型別,設定條碼高度,高度以點來表示
e:字串型別,設定是否列印條碼碼文
0:不列印碼文
1:列印碼文
f:字串型別,設定條碼旋轉角度
0:旋轉0度
90:旋轉90度
180:旋轉180度
270:旋轉270度
g:字串型別,設定條碼窄bar比例因子,請參考TSPL使用手冊
h:字串型別,設定條碼窄bar比例因子,請參考TSPL使用手冊
I:字串型別,條碼內容

  1. printerfont(a,b,c,d,e,f,g)
    說明:使用條碼機內建文字列印
    引數:
    a:字串型別,文字X方向起始點,以點(point)表示。
    (200 DPI,1點=1/8 mm, 300 DPI,1點=1/12 mm)
    b:字串型別,文字Y方向起始點,以點(point)表示。
    (200 DPI,1點=1/8 mm, 300 DPI,1點=1/12 mm)
    c:字串型別,內建字型名稱,共12種。
    1: 8*/12 dots
    2: 12*20 dots
    3: 16*24 dots
    4: 24*32 dots
    5: 32*48 dots
    TST24.BF2:繁體中文24*24
    TST16.BF2:繁體中文16*16
    TTT24.BF2:繁體中文24*24 (電信碼)
    TSS24.BF2:簡體中文24*24
    TSS16.BF2:簡體中文16*16
    K:韓文24*24
    L:韓文16*16
    d:字串型別,設定文字旋轉角度
    0:旋轉0度
    90:旋轉90度
    180:旋轉180度
    270:旋轉270度
    e:字串型別,設定文字X方向放大倍率,1~8
    f:字串型別,設定文字X方向放大倍率,1~8
    g:字串型別,列印文字內容

  2. sendcommand(command)
    說明:送內建指令到條碼印表機
    引數:詳細指令請參考TSPL

  3. printlabel(a,b)
    說明:列印標籤內容
    引數:
    a:字串型別,設定列印標籤式數(set)
    b:字串型別,設定列印標籤份數(copy)

  4. downloadpcx(a,b)
    說明:下載單色PCX格式圖檔至印表機
    引數:
    a:字串型別,檔案名(可包含路徑)
    b:字串型別,下載至印表機記憶體內之檔名(請使用大寫檔名)

  5. formfeed()
    說明:跳頁,該函式需在setup後使用
    引數:無

  6. nobackfeed()
    說明:設定紙張不回吐
    引數:無

  7. windowsfont(a,b,c,d,e,f,g,h)
    說明:使用Windows TTF字型列印文字
    引數:
    a:整數型別,文字X方向起始點,以點(point)表示。
    b:整數型別,文字Y方向起始點,以點(point)表示。
    c:整數型別,字型高度,以點(point)表示。
    d:整數型別,旋轉角度,逆時鐘方向旋轉
    0 -> 0 degree
    90-> 90 degree
    180-> 180 degree
    270-> 270 degree
    e:整數型別,字型外形
    0->標準(Normal)
    1->斜體(Italic)
    2->粗體(Bold)
    3->粗斜體(Bold and Italic)
    f:整數型別,底線
    0->無底線
    1->加底線
    g:字串型別,字型名稱。如: Arial, Times new Roman,細名體,標楷體
    h:字串型別,列印文字內容。

  8. about()
    說明:顯示DLL版本號碼
    引數:無

Visual Basic 5.0, 6.0 for Win95, 98範例

Private Declare Sub openport Lib “c:\windows\system\tsclib.dll” (
ByVal PrinterName As String)
Private Declare Sub closeport Lib “c:\windows\system\tsclib.dll” ()
Private Declare Sub sendcommand Lib “c:\windows\system\tsclib.dll” ( _
ByVal command As String)
Private Declare Sub setup Lib “c:\windows\system\tsclib.dll” ( _
ByVal LabelWidth As String, _
ByVal LabelHeight As String, _
ByVal Speed As String, _
ByVal Density As String, _
ByVal Sensor As String, _
ByVal Vertical As String, _
ByVal Offset As String)
Private Declare Sub downloadpcx Lib “c:\windows\system\tsclib.dll” ( _
ByVal Filename As String, _
ByVal ImageName As String)
Private Declare Sub barcode Lib “c:\windows\system\tsclib.dll” ( _
ByVal X As String, _
ByVal Y As String, _
ByVal CodeType As String, _
ByVal Height As String, _
ByVal Readable As String, _
ByVal rotation As String, _
ByVal Narrow As String, _
ByVal Wide As String, _
ByVal Code As String)
Private Declare Sub printerfont Lib “c:\windows\system\tsclib.dll” ( _
ByVal X As String, _
ByVal Y As String, _
ByVal FontName As String, _
ByVal rotation As String, _
ByVal Xmul As String, _
ByVal Ymul As String, _
ByVal Content As String)
Private Declare Sub clearbuffer Lib “c:\windows\system\tsclib.dll” ()
Private Declare Sub printlabel Lib “c:\windows\system\tsclib.dll” ( _
ByVal NumberOfSet As String, _
ByVal NumberOfCopy As String)
Private Declare Sub formfeed Lib “c:\windows\system\tsclib.dll” ()
Private Declare Sub nobackfeed Lib “c:\windows\system\tsclib.dll” ()
Private Declare Sub windowsfont Lib “c:\windows\system\tsclib.dll” ( _
ByVal X As Integer, _
ByVal Y As Integer, _
ByVal fontheight As Integer, _
ByVal rotation As Integer, _
ByVal fontstyle As Integer, _
ByVal fontunderline As Integer, _
ByVal FaceName As String, _
ByVal TextContent As String)

Private Sub Command1_Click()
Call openport(“TSC TTP-243”)
‘Call openport(“\server\TTP243”)
Call setup(“100”, “100”, “3”, “10”, “0”, “0”, “0”)
Call clearbuffer
Call downloadpcx(“c:\UL.PCX”, “UL.PCX”)
‘Call downloadpcx(App.Path + “\UL.PCX”, “UL”)
‘ComText = “PUTPCX 100,400,” + Chr(34) + “UL” + Chr(34)
‘ Call sendcommand(ComText)
Call printerfont(“10”, “10”, “4”, “0”, “1”, “1”, “TEST PRINTOUT”)
Call barcode(“10”, “80”, “39”, “96”, “1”, “0”, “2”, “4”, “0987654321”)
Call sendcommand(“PUTPCX 100,250,”“UL.PCX”“”)
Call sendcommand(“BAR 400,200,300,100”)
Call sendcommand(“BOX 10,300,300,300,5”)
Call windowsfont(10, 500, 80, 0, 0,0, “標楷體”, “標楷體字型”)
Call printlabel(“1”, “1”)
Call closeport
End Sub

FoxPro範例
declare openport in c:\windows\system\tsclib.dll string
declare closeport in c:\windows\system\tsclib.dll
declare sendcommand in c:\windows\system\tsclib.dll
declare setup in c:\windows\system\tsclib.dll
string,string,string,string,string,string,string
declare downloadpcx in c:\windows\system\tsclib.dll
string, string
declare barcode in c:\windows\system\tsclib.dll
string,string,string,string,string,string,string,string,string
declare printerfont in c:\windows\system\tsclib.dll
string,string,string,string,string,string,string

declare clearbuffer in c:\windows\system\tsclib.dll
declare printlabel in c:\windows\system\tsclib.dll string,string
declare formfeed in c:\windows\system\tsclib.dll
declare nobackfeed in c:\windows\system\tsclib.dll
declare windowsfont in c:\windows\system\tsclib.dll
integer,integer,integer,integer,integer,integer,integer,string,string

openport(“TSC TTP-243”)
setup(“32”,”25”,”2”,”10”,”0”,”0”,”0”)
clearbuffer()
barcode(“10”,”0”,”EAN13”,”80”,”1”,”0”,”2”,”4”,”123456789012”)
windowsfont(10,100,50,0,0,0,”標楷體”,”標楷體字型”)
printlabel(“1”,”1”)
closeport()

Delphi宣告範例
procedure openport(PrinterName:pchar);stdcall;far; external ‘tsclib.dll’;
procedure closeport; external ‘tsclib.dll’;
procedure sendcommand(Command:pchar);stdcall;far;external ‘tsclib.dll’;
procedure setup(LabelWidth, LabelHeight, Speed, Density, Sensor, Vertical,
Offset:pchar);tsdcall; far; external ‘tsclib.dll’;
procedure downloadpcx(Filename,ImageName:pchar);stdcall;far;
external ‘tsclib.dll’;
procedure barcode(X, Y, CodeType, Height, Readable, Rotation, Narrow,
Wide, Code :pchar); stdcall; far; external ‘tsclib.dll’;
procedure printerfont(X, Y, FontName, Rotation, Xmul, Ymul, Content:pchar);
stdcall;far; external ‘tsclib.dll’;
procedure clearbuffer; external ‘tsclib.dll’;
procedure printlabel(NumberOfSet, NumberOfCopoy:pchar);stdcall; far;
external ‘tsclib.dll’;
procedure formfeed;external ‘tsclib.dll’;
procedure nobackfeed; external ‘tsclib.dll’
procedure windowsfont (X, Y, FontHeight, Rotation, FontStyle,
FontUnderline : integer; FaceName,
TextContect:pchar);stdcall;far;external ‘tsclib.dll’;

請注意:函式名稱務必使用小寫字母

openport(‘TSC TTP/TDP-243(E)’);
//sendcommand(‘Abcdvsafsfs’);
Setup(‘50’, ‘30’, ‘3’, ‘10’, ‘0’, ‘0’, ‘0’);
SendCommand(‘DIRECTION 0’);
ClearBuffer();
WindowsFont(190,18, 45, 0, 0,0, ‘Arial’, ‘ACC’);
printlabel(‘1’,’1’);
closeport;

PB全域性函式宣告:
Function long openport (string a) library”tsclib.dll”
Function long closeport () library”tsclib.dll”
Function long setup (string a, string b, string c ,string d, string e, string f, string g) library “tsclib.dll”
Function long clearbuffer () library”tsclib.dll”
Function long barcode (string ss1, string ss2, string ss3, string ss4, string ss5, string ss6, string ss7 ,string ss8, string ss9) library”tsclib.dll”
Function long printlabel (string ss1, string ss2) library”tsclib.dll”
Function long windowsfont (long a, long b, long c, long d,long e ,long f, string g ,string h) library “tsclib.dll”
Function long printerfont(string a,string b,string c,string d,string e,string f,string g) library “tsclib.dll”

簡單例程:
openport (“TSC TTP/TDP-243(E)”)
setup(“32”,“25”,“2”,“10”,“0”,“0”,“0”)
clearbuffer ()
barcode(“10”, “0”, “EAN13”, “80”, “1”, “0”, “2”,“4”,“123456789012”)
windowsfont(10,100,50,0,0,0,“宋體”, “標楷體字型”)
printlabel(“1”, “1”)
closeport()