zoukankan      html  css  js  c++  java
  • 条码通用库PLLB

        ~g2fk;
        /******************************************************************************
         Module: BWIN-CAPI.TXT
                 All commands for PPLB in Dynamic Link Library for Windows
        Notices: Copyright (c) 1998-2004 ARGOIMPREX
        Version: 3.04BW 2005/12/07
        ******************************************************************************/
        目錄
        ===============================================================================
        B_Bar2d_Maxi()            => 印出一個 Maxi Code 2D Barcode。
        B_Bar2d_PDF417()        => 印出一個 PDF-417 2D Barcode。
        B_Bar2d_PDF417_N()        => 印出一個 PDF-417 2D Barcode。
        B_ClosePrn()            => 關閉 Printer 工作。
        B_CreatePrn()            => 開啟 Printer 工作。
        B_Del_Form()            => 刪除 Form (表格)。
        B_Del_Pcx()            => 刪除 Form (表格)。
        B_Draw_Box()            => 畫一個框。
        B_Draw_Line()            => 畫一條線。
        B_Error_Reporting()        => 開啟或關閉錯誤回傳功能。
        B_Get_DLL_Version()        => 取得或秀出此函數庫版本資訊。
        B_Get_DLL_VersionA()        => 取得或秀出此函數庫版本資訊。
        B_Get_Graphic_ColorBMP()    => 轉換 BMP 圖檔彩色變灰階,並將圖形儲存在印表機內的 RAM。
        B_Get_Pcx()            => 列印一個圖形並將圖形儲存在印表機內的 Memory。
        B_Initial_Setting()        => 前置處理。
        B_Load_Pcx()            => 列印一個圖形。
        B_Open_ChineseFont()        => 開啟使用中文點矩陣字型檔案 (16*15 和 24*24)。
        B_Print_Form()            => 列印一個 FORM (表格),並輸入 FORM 所有變數、計數資料。
        B_Print_MCopy()            => 列印所有資料和加上跳號複製功能。
        B_Print_Out()            => 列印所有資料。
        B_Prn_Barcode()            => 印出一個條碼和加上跳號功能。
        B_Prn_Configuration()        => 列印印表機內部配置。
        B_Prn_Text()            => 印出一行文字和加上跳號功能。
        B_Prn_Text_Chinese()        => 印出一行文字,使用中文點矩陣字型檔案 (16*15 或 24*24)。
        B_Prn_Text_TrueType()        => 印出一行 True Type Font 文字。
        B_Prn_Text_TrueType_W()        => 印出一行 True Type Font 文字,並控制字型的寬及高。
        B_Select_Option()        => 設定轉印模式、啟動 Cutter 或 Peel。
        B_Select_Symbol()        => 符號設定選擇。
        B_Set_Backfeed()        => 啟動 Back feed。
        B_Set_BMPSave()            => 儲存影像圖檔。
        B_Set_Darkness()        => 設定熱感頭列印熱度。
        B_Set_DebugDialog()        => 設定除錯環境。
        B_Set_Direction()        => 設定列印方向。
        B_Set_Form()            => 儲存並列印 FORM (表格)。
        B_Set_Labgap()            => 同時設定標籤長度及 GAP 長度。
        B_Set_Labwidth()        => 設定標籤寬度。
        B_Set_Originpoint()        => 設定開始列印點。
        B_Set_Prncomport()        => 設定 Serial Port。
        B_Set_Prncomport_PC()        => 設定 PC 序列埠。
        B_Set_Speed()            => 設定列印速度。
        B_Set_ProcessDlg()        => 開啟或關閉進度對話框
        B_GetUSBBufferLen()    => 查詢 USB 埠資料長度
        B_EnumUSB()            => 取得 USB 埠的資料
        B_CreateUSBPort()    => 使用 USB 埠進行傳輸
            
        *******************************************************************************
        注意事項
        ===============================================================================
        使用方法:將 WINPPLB.DLL 加入 \\Windows\system\ 或 \\???\ 執行中路徑,
                  才能被搜尋到。

        *******************************************************************************
        B_GetUSBBufferLen()
        B_EnumUSB()
        ===============================================================================
        功能:    取得 USB Printer 的資料。

        語法:    int B_GetUSBBufferLen();
                int B_EnumUSB(char *buf);

        參數:    char *buf;    ●儲存 USB Printer 資料。


        傳回值:    B_GetUSBBufferLen(); 傳回 USB 的資料長度
                    B_EnumUSB()    0 -> OK.
                                Reference AW-Error.txt file.

        範例:    char *buf;
                int    nLen = B_GetUSBBufferLen()+1;
                buf = malloc(nLen);
                memset(buf, 0, nLen);
                B_EnumUSB(buf);

        說明:    這兩個函數是一組的函數。先用 B_GetUSBBufferLen() 取得 USB 傳輸埠的資料
                長度, 然後再配記憶體給 B_EnumUSB() 儲存 USB 埠的資料。USB 埠的資料是以
                ("0x0d0x0a")做分隔,舉例來說, 如果資料是 A-200(0x0d)(0x0a)R-400ZIP 的話
                表示 USB1 是接 A-200, USB2 是接 R-400Zip。

        *******************************************************************************
        B_CreatePrn()
        B_CreateUSBPort()
        ===============================================================================
        功能:    開啟 Printer 工作。

        語法:    int B_CreatePrn(int selection,LPCTSTR filename);
                int B_CreateUSBPort(int nPort);

        參數:    int    selection;    ●擇輸出埠或檔案。
                        0 -> print to file.
                        1 -> lpt1, 2 -> lpt2, 3 -> lpt3
                        4 -> com1, 5 -> com2, 6 -> com3
            LPCTSTR    filename;    ●當 selection 內容是 0 時資料則輸出至檔
                        案,檔名就是 filename 內容,可含路徑,或
                        是 NULL。當 selection 內容是 10 時,
                        filename 為輸出路徑。
                int    nPort;            ● USB 傳輸埠

        傳回值:0 -> OK.
            Reference BW-Error.txt file.

        範例:    B_CreatePrn(1,NULL); 或 B_CreatePrn(0,"C:\TEMP\out.prn");
            B_CreatePrn(10,"\\allen\Label"); 或 B_CreateUSBPort(1);

        說明:    B_CreatePrn 和 B_CreateUSBPort 函數會開啟你選擇的輸出埠或開啟你鍵入的
            輸出檔。而這個函數必須在所有函數之前執行。
            B_CreatePrn 和 B_CreateUSBPort 不能同時使用。

        *******************************************************************************
        B_ClosePrn()
        ===============================================================================
          功能:  關閉 Printer 工作。

          語法:  void B_ClosePrn(void);

          範例:  B_ClosePrn();

        說明:  這個 B_ClosePrn 函數會關閉執行過的記憶體及你選擇的輸出埠或關閉你開啟的
                  輸出檔。而這個函數必須在所有函數之後執行。

        *******************************************************************************
        B_Bar2d_Maxi()
        ===============================================================================
          功能:  印出一個 Maxi Code 2D Barcode。

          語法:  int B_Bar2d_Maxi(int x,int y,int cl,int cc,long int pc,LPCTSTR data);

          參數:  int      x;                ●X 座標。
                  int      y;                ●Y 座標。備註:1 dot = 0.125 mm。
                  int      cl;               ●A 3-位數 Class code。
                  int      cc;               ●A 3-位數 Country code。
                  long int pc;               ●在美國 Post code 是一個4或5-位數,
                                               其他國家是 6 位數。
                  LPCTSTR  data;             ●資料字串,最多84個字元。

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  int      x,y,cl,cc;
                  long int pc;
                  LPCTSTR  data="This MaxiCode";
                           x=50;y=50;cl=300;cc=400;pc=93065;
                  B_Bar2d_Maxi(x,y,cl,cc,pc,data);

        說明:  這個 B_Bar2d_Maxi 函數可以列印出一個 Maxi Code 2D Barcode。

        *******************************************************************************
        B_Bar2d_PDF417()
        ===============================================================================
          功能:  印出一個 PDF-417 2D Barcode。

          語法:  int B_Bar2d_PDF417(int x,int y,int w,int v,int s,int c,int px,
                                   int py,int r,int l,int t,int o,LPCTSTR data);

          參數:  int     x;                 ●X 座標。
                  int     y;                 ●Y 座標。備註:1 dot = 0.125 mm。
                  int     w;                 ●最大列印寬度,單位 dots。
                  int     v;                 ●最大列印高度,單位 dots。
                  int     s;                 ●錯誤校正等級,範圍:0~8。
                  int     c;                 ●資料壓縮等級,範圍:0 或 1。
                  int     px;                ●模組寬度,範圍:2~9 dots。
                  int     py;                ●模組高度,範圍:4~99 dots。
                  int     r;                 ●最大 row count。
                  int     l;                 ●最大 column count。
                  int     t;                 ●Truncation flag,
                                               '0' 是 normal 和 '1' 是 truncated.
                  int     o;                 ●列印方向定位,'0'是 0°,'1'是90°、
                                                             '2'是180°,'3'是270°
                  LPCTSTR data;              ●資料字串。

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  int     x,y,w,v,s,c,px,py,r,l,t,o;
                  LPCTSTR data="ARGOXINFO";
                          x=10;y=10;w=400;v=300;s=0;c=0;px=3;py=7;r=10;l=2;t=0;o=0;
                  B_Bar2d_PDF417(x,y,w,v,s,c,px,py,r,l,t,o,data);

        說明:  這個 B_Bar2d_PDF417 函數可以列印出一個 PDF-417 2D Barcode。

        *******************************************************************************
        B_Del_Form()
        ===============================================================================
          功能:  刪除 Form (表格)。

          語法:  int B_Del_Form(char formname[10]);

          參數:  char   formname[10];       ●表格名稱,最多 9 個字。
                                               當 formname 內容是 '*'時將會清除印表
                                               機內所有表格。
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  char formname[10] = "demo";
                  B_Del_Form(formname);
        
        說明:  這個 B_Del_Form 函數會刪除印表機內,你輸入的 Form (表格)名稱。當
                  你刪除它後,將不能再還原,但可以重新載入。

        *******************************************************************************
        B_Del_Pcx()
        ===============================================================================
          功能:  刪除圖形。

          語法:  int B_Del_Pcx(char pcxname[10]);

          參數:  char   pcxname[10];        ●圖形名稱,最多 9 個字。
                                               當 pcxname 內容是 '*'時將會清除印表
                                               機內 RAM 或 flash memory 所有圖形。
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  char pcxname[10]="*";
                  B_Del_Pcx(pcxname);

        說明:  這個 B_Del_Pcx 函數會刪除印表機內,你輸入的圖形名稱。當你刪除它後,
                  將不能再還原,但可以重新載入。

        *******************************************************************************
        B_Draw_Box()
        ===============================================================================
          功能:  畫一個框。

          語法:  int B_Draw_Box(int x,int y,int thickness,int hor_dots,int ver_dots);

          參數:  int    x;                  ●起點 X 座標。
                  int    y;                  ●起點 Y 座標。
                                               備註:1 dot = 0.125 mm。
                  int    thickness;          ●指定框四邊邊線厚度。
                  int    hor_dots;           ●對角點 X 座標。
                  int    ver_dots;           ●對角點 Y 座標。

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  int x,y,thickness,hor_dots,ver_dots;
                      x=50;y=120;thickness=5;hor_dots=250;ver_dots=150;
                  B_Draw_Box(x,y,thickness,hor_dots,ver_dots);

        說明:  這個 B_Draw_Box 函數會畫一個屬性是 "OR" 的框。

        *******************************************************************************
        B_Draw_Line()
        ===============================================================================
          功能:  畫一條線。

          語法:  int B_Get_Line(char mode,int x,int y,int hor_dots,int ver_dots);

          參數:  char   mode;               ●選擇線條種類,如下表:
                                                   ╒══╤═══════════╕
                                                   │mode│線條種類              │
                                                   ╞══╪═══════════╡
                                                   │ E  │exclusive OR          │
                                                   ├──┼───────────┤
                                                   │ O  │OR                    │
                                                   ├──┼───────────┤
                                                   │ W  │白線,它會蓋掉先前影像│
                                                   └──┴───────────┘
                  int    x;                  ●起點 X 座標。
                  int    y;                  ●起點 Y 座標。
                                               備註:1 dot = 0.125 mm。
                  int    width;              ●水平長度。
                  int    height;             ●垂直長度。

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  char mode,
                  int  x,y,hor_dots,ver_dots;
                       mode='O';x=50;y=30;hor_dots=100;ver_dots=10;
                  B_Draw_Line(mode,x,y,hor_dots,ver_dots);

        說明:  這個 Draw_Line 函數會畫一個屬性是"OR"或"XOR"的線條及一條白線。

        *******************************************************************************
        B_Error_Reporting()
        ===============================================================================
          功能:  開啟或關閉錯誤回傳功能。

          語法:  int B_Error_Reporting(char option);

          參數:  char option;               ●當 option 是'N'時 Disable 狀態回饋,
                                               'S' 是 Enable 狀態回饋。
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  char option;
                       option='S';
                  B_Error_Reporting(option);

        說明:  這個 B_Error_Reporting 函數會使印表機狀態回饋 Disable/Enable,這回
                  饋通道是透過 RS232 Port。預定值是 Disable。

        *******************************************************************************
        B_Get_DLL_Version()
        B_Get_DLL_VersionA()
        ===============================================================================
          功能:  取得或秀出此函數庫版本資訊。

          語法:  char* B_Get_DLL_Version(int nShowMessage);
                  int B_Get_DLL_VersionA(int nShowMessage);

          參數:  int    nShowMessage;       ●訊息視窗顯現。0 -> 不顯現、1 -> 顯現。

        傳回值:  傳回版本資訊字串,失敗則傳回 NULL。
                  B_Get_DLL_VersionA() -> return version value.

          範例:  B_Get_DLL_Version(1);

        說明:  這個 B_Get_DLL_Version 函數,讓使用者取得或秀出此函數庫版本資訊。

        *******************************************************************************
        B_Get_Graphic_ColorBMP()
        ===============================================================================
          功能:  轉換 BMP 圖檔彩色變灰階,並將圖形儲存在印表機內的 RAM。

          語法:  int B_Get_Graphic_ColorBMP(int x, int y, LPCTSTR filename);

          參數:  int    x;                  ●X 座標。
                  int    y;                  ●Y 座標。
                  LPCTSTR filename           ●圖形檔名稱,可含路徑。
                                               格式如:XXXXXXXX.XXX 或 X:\XXX\XXX.BMP
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Get_Graphic_ColorBMP(30,20,"girl.bmp");

        說明:  這個 B_Get_Graphic_ColorBMP 函數可輸入任何顏色 BMP 圖檔,並自動轉換為
                  黑白灰階圖檔送至印表機列印,而轉換品質由 Windows's Driver for Dr.200
                  or Dr.300 調整,所以使用者必需安裝 ARGOX Driver,印表機抓取為預設印表機,
                  假若 default printer 不是 Dr.200 或 Dr.300 ,程式自動搜尋 Windows 內,
                  是否有裝 Dr.200 或 Dr.300,再依序使用。圖形儲存在印表機內的 RAM。

        *******************************************************************************
        B_Get_Pcx()
        ===============================================================================
          功能:  列印一個圖形並將圖形儲存在印表機內的 Memory。

          語法:  int B_Get_Pcx(int x,int y,LPCTSTR filename);

          參數:  int      x;                ●X 座標。
                  int      y;                ●Y 座標。備註:1 dot = 0.125 mm。
                  LPCTSTR  filename;         ●圖形檔名稱,可含路徑。
                                               格式如:XXXXXXXX.XXX 或 X:\XXX\XXX.PCX
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Get_Pcx(10,100,"phone.pcx");

        說明:  這個 B_Get_Pcx 函數會列印一個圖形並將圖形儲存在印表機內的 RAM 或
                  flash memory。圖形檔必須是 PCX 的格式。

        *******************************************************************************
        B_Initial_Setting()
        ===============================================================================
          功能:  前置處理。

          語法:  int B_Initial_Setting(int Type,LPCTSTR Source);

          參數:  int       Type;            ●選擇輸入模式,值為 0 -> 輸入字串,
                                                                  1 -> 輸入檔案。
                  LPCTSTR   Source;          ●資料來源,可為字串或檔案名稱,可含路徑。
                                               
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  LPCTSTR aa = "ZT\r\n\0"; B_Initial_Setting(0,aa);
                  or
                  B_Initial_Setting(1,"initfile.txt");

        說明:  這個 B_Initial_Setting 函數前置處理的動作,是將一串 Command 先送至印表
                  機,由字串或檔案輸入,在使用這個函數時,須先在 B_Create_Prn() 之後其他
                  函數之前,可作為使用者自訂型態。

        *******************************************************************************
        B_Load_Pcx()
        ===============================================================================
          功能:  列印一個圖形。

          語法:  int B_Load_Pcx(int x,int y,char pcxname[10]);

          參數:  int    x;                  ●X 座標。
                  int    y;                  ●Y 座標。備註:1 dot = 0.125 mm。
                  char   pcxname[10];        ●圖形檔名稱最大9個字元。

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  int   x,y;
                  char  pcxname[10]="phone";
                        x=50;y=30;
                  B_Load_Pcx(x,y,pcxname);

        說明:  這個 B_Load_Pcx 函數會列印一個 PCX 格式圖形,而圖形必須事先載入印表
                  機內的 RAM 或 flash memory 儲存。

        *******************************************************************************
        B_Open_ChineseFont()
        ===============================================================================
          功能:  開啟使用中文點矩陣字型檔案 (16*15 和 24*24)。

          語法:  int B_Open_ChineseFont(char* path);

          參數:  char*  path;               ●中文點矩陣字型檔案來源路徑。

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Open_ChineseFont("C:\\ET3");

        說明:  這個 B_Open_ChineseFont 函數開啟中文點矩陣字型檔案 (16*15 和 24*24),
                  供 B_Prn_Text_Chinese 函數使用。

        *******************************************************************************
        B_Print_Form()
        ===============================================================================
          功能:  列印一個 FORM (表格),並輸入 FORM 所有變數、計數資料。

          語法:  int B_Print_Form(int labset,int copies,char form_out[10],
                                 LPTSTR var);

          參數:  int    labset;             ●列印的份數,範圍:1~32767。
                  int    copies;             ●複製的份數,範圍:1~32767。
                  char   form_out[10];       ●表格名稱,同於之前載入的 FORM 名稱,
                                               或原先儲存在印表機內的 FORM。
                  LPTSTR var;                ●輸入 FORM 所有變數、計數資料,用 ","
                                               依序分別區隔開。如果變數裡有","號,
                                               可用";,"來代表逗號。
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  int    labset,copies;
                  char   form_out[10]="demo";
                  LPTSTR var="2000,deng";
                         labset=3;copypiece=2;
                  B_Print_form(labset,copies,form_out,var);

        說明:  這個 B_Print_Form 函數會送所有資料及表格到 Printer,這個函數使用前
                  須先執行 B_Set_Form(),並在所有函數之後,B_ClosePrn() 之前執行。當使
                  用此函數時,就不須執行 B_Print_Out()。

        *******************************************************************************
        B_Print_MCopy()
        ===============================================================================
          功能:  列印所有資料和加上跳號複製功能。

          語法:  int B_Print_MCopy(int labset,int copies)

          參數:  int     labset;            ●列印的份數。
                  int     copies;            ●複製的份數,當為 1 時同等於Print_Out()功
                                               能。

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Print_MCopy(2,2);

          說明:  這個 B_Print_MCopy 函數會送所有資料到 Printer,這個函數須在所有函數之
                  後,B_ClosePrn() 之前執行,當使用此函數時,就不須執行 B_Print_Out()。它
                  包含 B_Print_Out() 所有功能。

        *******************************************************************************
        B_Print_Out()
        ===============================================================================
          功能:  列印所有資料。

          語法:  int B_Print_Out(int labset);

          參數:  int    labset;             ●列印的份數。

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Print_Out(1);

        說明:  這個 B_Print_Out 函數會送所有資料到 B_Printer,這個函數須在所有函數之
                  後,B_ClosePrn() 之前執行。

        *******************************************************************************
        B_Prn_Barcode()
        ===============================================================================
          功能:  印出一個條碼和加上跳號功能。

          語法:  int B_Prn_Barcode(int x,int y,int ori,char type[4],int narrow,
                                  int width,int height, char human,LPCTSTR data);

          參數:  int    x;                  ●X 座標。
                  int    y;                  ●Y 座標。
                                               備註:200 dpi => 1 dot = 0.125 mm。
                  int    ori;                ●列印方向定位,'0'是 0°,'1'是90°、
                                                             '2'是180°,'3'是270°
                  char   type[4];            ●Bar code 型式、如下表:
        ╒══╤══════════════╤══╤══════════════╕
        │type│        條碼種類            │type│          條碼種類          │
        ╞══╪══════════════╪══╪══════════════╡
        │ 0  │Code 128 UCC (shipping cont-│ E30│EAN-13                      │
        │    │ainer code)                 ├──┼──────────────┤
        ├──┼──────────────┤ E32│EAN-13 2 digit add-on       │
        │ 1  │Code 128 subset A,B and C   ├──┼──────────────┤
        ├──┼──────────────┤ E35│EAN-13 5 digit add-on       │
        │ 1E │UCC/EAN                     ├──┼──────────────┤
        ├──┼──────────────┤ E80│EAN-8                       │
        │ 2  │Interleaved 2 of 5          ├──┼──────────────┤
        ├──┼──────────────┤ E82│EAN-8 2 digit add-on        │
        │ 2C │Interleaved 2 of 5 with che-├──┼──────────────┤
        │    │ck sum digit                │ E85│EAN-8 5 digit add-on        │
        ├──┼──────────────┼──┼──────────────┤
        │ 2D │Interleaved 2 of 5 with hum-│ K  │Codabar                     │
        │    │an readable check digit     ├──┼──────────────┤
        ├──┼──────────────┤ P  │Postnet                     │
        │ 2G │German Postcode             ├──┼──────────────┤
        ├──┼──────────────┤ UA0│UPC-A                       │
        │ 2M │Matrix 2 of 5               ├──┼──────────────┤
        ├──┼──────────────┤ UA2│UPC-A 2 digit add-on        │
        │ 2U │UPC Interleaved 2 of 5      ├──┼──────────────┤
        ├──┼──────────────┤ UA5│UPC-A 5 digit add-on        │
        │ 3  │Code 3 of 9                 ├──┼──────────────┤
        ├──┼──────────────┤ UE0│UPC-E                       │
        │ 3C │Code 3 of 9 with check sum  ├──┼──────────────┤
        │    │digit                       │ UE2│UPC-E 2 digit add-on        │
        ├──┼──────────────┼──┼──────────────┤
        │ 9  │Code 93                     │ UE5│UPC-E 5 digit add-on        │
        └──┴──────────────┴──┴──────────────┘

                  int    narrow;             ●NARROW bar 寬度在最小單位,
                  int    width;              ●WIDE bar 寬度在最小單位,
                  int    height;             ●Bar code 高度。
                  int    human;              ●當 human 是'N'時,則不列印文字,
                                               當 human 是'B'時,則列印可讀文字。
                  LPCTSTR data;              ●資料字串,當尾端資料加上
                                               <Operation Number> 格式為加上跳號功能,
                                               Operation: + or - 記號,
                                               Number: 0 ~ 32768 數值。

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Prn_Barcode(650,15,0,"E80",2,2,51,'B',"1234567"); 無跳號功能
                  or
                  B_Prn_Barcode(650,15,0,"E80",2,2,51,'B',"1234567<+10>"); 有跳號功能

        說明:  這個 B_Prn_Barcode 函數可以列印出一個特定 Barcode 和加上跳號功能。

        *******************************************************************************
        B_Prn_Configuration()
        ===============================================================================
          功能:  列印印表機內部配置。

          語法:  void B_Prn_Configuration(void);

          範例:  B_Prn_Configuration();

        說明:  這個 B_Prn_Configuration 函數會列印印表機內部配置,包含設定、
                  firmware 版本、accessories、等....。

        *******************************************************************************
        B_Prn_Text()
        ===============================================================================
          功能:  印出一行文字和加上跳號功能。

          語法:  int B_Prn_Text(int x,int y,int ori,int font,int hor_factor,
                               int ver_factor,char mode,LPCTSTR data);

          參數:  int    x;                  ●X 座標。
                  int    y;                  ●Y 座標。備註:1 dot = 0.125 mm。
                  int    ori;                ●列印方向定位,'0'是 0°,'1'是90°、
                                                             '2'是180°,'3'是270°
                  int    font;               ●選擇字形,1~5 選擇常佇字形。
                  int    hor_factor;         ●水平放大比例,範圍:1~24。
                  int    ver_factor;         ●垂直放大比例,範圍:1~24。
                  char   mode;               ●反白功能,'N'普通文字,
                                                         'R'反白文字。
                  LPCTSTR data;              ●資料字串,當尾端資料加上
                                               <Operation Number> 格式為加上跳號功能,
                                               Operation: + or - 記號,
                                               Number: 0 ~ 32768 數值。
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Prn_Text(50,110,0,4,1,1,'N',"A123456"); 無跳號功能
                  or
                  B_Prn_Text(50,110,0,4,1,1,'N',"A123456<-1>"); 有跳號功能

        說明:  這個 B_Prn_Text 函數可以列印出一行文字和加上跳號功能。

        *******************************************************************************
        B_Prn_Text_Chinese()
        ===============================================================================
          功能:  印出一行文字,使用中文點矩陣字型檔案 (16*15 或 24*24)。

          語法:  int B_Prn_Text_Chinese(int x,int y,int fonttype,LPCTSTR id_name,LPCTSTR data);
          
          參數:  int      x;                ●X 座標。(dot)
                  int      y;                ●Y 座標。(dot)
                  int      fonttype;         ●矩陣字型選擇。
                                               0 -> 16*15、1 -> 24*24。
                  LPCTSTR  id_name;          ●給予一個識別名稱存放於印表機內,以後直
                                               接使用 Load_Pcx() 即可將舊圖呼叫出來。
                  LPCTSTR  data;             ●文字內容。
            
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Open_ChineseFont("C:\\ET3");
                  B_Prn_Text_Chinese(100, 100, 0,"A01","國家利益當前AbCcDd");

        說明:  這個 B_Prn_Text_Chinese 函數可以印出一行文字,使用中文點矩陣字型檔案
                  (16*15 或 24*24)。
                  但須先安裝 Window's Driver for Dr.200 or Dr.300,濃淡從 driver 設定,
                  印表機抓取為預設印表機,假若default printer 不是 Dr.200 或 Dr.300 ,
                  程式自動搜尋 Windows 內,是否有裝 Dr.200 或 Dr.300,在依序使用。

        *******************************************************************************
        B_Prn_Text_TrueType()
        B_Prn_Text_TrueType_W()
        ===============================================================================
          功能:  印出一行 True Type Font 文字。

          語法:  int B_Prn_Text_TrueType(int x,int y,int FSize,LPCTSTR FType,
                                        int Fspin,int FWeight,int FItalic,int FUnline,
                                        int FStrikeOut,LPCTSTR id_name,LPCTSTR data);
                  int B_Prn_Text_TrueType_W(int x,int y,int FHeight,int FWidth,LPCTSTR FType,
                                        int Fspin,int FWeight,int FItalic,int FUnline,
                                        int FStrikeOut,LPCTSTR id_name,LPCTSTR data);
                                              
          參數:  int      x;                ●X 座標。
                  int      y;                ●Y 座標。備註:1 dot = 0.125 mm。
                  int      FSize;            ●TrueType font size,單位為點(dot)。
                                                FSize = (dpi * point) / 72.
                  int      FHeight;          ●字型高度,單位為點(dot)。
                                                FHeight = (dpi * point) / 72.
                  int      FWidth;           ●字型寬度,單位為點(dot)。
                                                FWidth = (dpi * point) / 72.
                  LPCTSTR  FType;            ●TrueType font 字型名稱。
                  int      Fspin;            ●TrueType font 字體旋轉。
                                               1 -> 0, 2 -> 90, 3 -> 180, 4 -> 270
                  int      FWeight;          ●TrueType font 字體粗細。
                                               0 and NULL and 400 -> 400 標準、
                                               100 -> 非常細、200 -> 極細、
                                               300 -> 細        、500 -> 中等、
                                               600 -> 半粗  、700 -> 粗  、
                                               800 -> 特粗  、900 -> 黑體。
                  int      FItalic;          ●TrueType font 字體斜體。
                                               0 -> FALSE、1 -> TRUE。
                  int      FUnline;          ●TrueType font 字體加底線。
                                               0 -> FALSE、1 -> TRUE。
                  int      FStrikeOut;       ●TrueType font 字體加刪除線。
                                               0 -> FALSE、1 -> TRUE。
                  LPCTSTR  id_name;          ●給予一個識別名稱存放於印表機內,以後直
                                               接使用 Load_Pcx() 即可將舊圖呼叫出來。
                  LPCTSTR  data;             ●文字內容。
            
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Prn_Text_TrueType(30,35,40,"標楷體",4,400,0,0,0,"AA","機要絕密");
                  B_Prn_Text_TrueType_W(30,35,40,30,"標楷體",4,400,0,0,0,"AA","機要絕密");

        說明:  這個 B_Prn_Text_TrueType 函數可以印出一行 True Type Font 文字,
                  但須先安裝 Window's Driver for Dr.200 or Dr.300,濃淡從 driver 設定,
                  印表機抓取為預設印表機,假若default printer 不是 Dr.200 或 Dr.300 ,
                  程式自動搜尋 Windows 內,是否有裝 Dr.200 或 Dr.300,在依序使用。

        *******************************************************************************
        B_Select_Option()
        ===============================================================================
          功能:  設定轉印模式、啟動 Cutter 或 Peel。

          語法:  int B_Select_Option(int object);

          參數:  int   object;              ●印表機功能選項。
                                               1 -> 開啟熱轉,關閉 Cutter 和 Peel。
                                               2 -> 開啟熱感,關閉 Cutter 和 Peel。
                                               3 -> 開啟熱感和 Cutter,關閉 Peel。
                                               4 -> 開啟熱感和 Peel,關閉 Cutter。
                                               5 -> 開啟熱轉和 Cutter,關閉 Peel。
                                               6 -> 開啟熱轉和 Peel,關閉 Cutter。
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Select_Option(1);

        說明:  這個 B_Select_Option 函數可以選擇不同 Printer 選項,使印表機依據這
                  些選項工作。

        *******************************************************************************
        B_Select_Symbol()
        ===============================================================================
          功能:  符號設定選擇。

          語法:  int B_Select_Symbol(int num_bit,int symbol,int country);

          參數:  int    num_bit;            ●資料位元數量。8 是 8-bit data 和
                                                             7 是 7-bit data。
                  int    symbol;             ●符號設定。見下表:
                                               備註:工廠內定符號設定是 Code page
                                               437(English)。
                  int    country;            ●KDU country code.
                     ╒══════════════╤══════════════╕
                     │        8 bit data          │        7 bit data          │
                     ├───┬──────────┼───┬──────────┤
                     │symbol│    Code page       │symbol│     Code page      │
                     ╞═══╪══════════╪═══╪══════════╡
                     │  0   │English(437)        │  0   │USASCII             │
                     ├───┼──────────┼───┼──────────┤
                     │  1   │Latin(850)          │  1   │British             │
                     ├───┼──────────┼───┼──────────┤
                     │  2   │Slavic(852)         │  2   │German              │
                     ├───┼──────────┼───┼──────────┤
                     │  3   │Portugal(860)       │  3   │French              │
                     ├───┼──────────┼───┼──────────┤
                     │  4   │Canadian?French(863)│  4   │Danish              │
                     ├───┼──────────┼───┼──────────┤
                     │  5   │Nordic(865)         │  5   │Italian             │
                     ├───┼──────────┼───┼──────────┤
                     │      │                    │  6   │Spanish             │
                     ├───┼──────────┼───┼──────────┤
                     │      │                    │  7   │Swedish             │
                     ├───┼──────────┼───┼──────────┤
                     │      │                    │  8   │Swiss               │
                     └───┴──────────┴───┴──────────┘
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  int num_bit,symbol,country;
                      num_bit=7;symbol=5;country=1;
                  B_Select_Symbol(num_bit,symbol,country);

        說明:  這個 B_Select_Symbol 函數可以選擇適當符號設定。

        *******************************************************************************
        B_Set_Backfeed()
        ===============================================================================
          功能:  啟動 Back feed。

          語法:  int B_Set_Backfeed(char option);

          參數:  char   option;             ●功能選項,"B" 關閉 Back feed。
                                                         "F" 啟動 Back feed。
                                               它可吐出一定長度,讓使用者看到印出結
                                               果。
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  char option;
                       option='B';
                  B_Set_Backfeed(option);

        說明:  這個 B_Set_Backfeed 函數可以調整停止點。

        *******************************************************************************
        B_Set_BMPSave()
        ===============================================================================
          功能:  儲存影像圖檔。

          語法:  int B_Set_BMPSave(int nSave, char *pstrBMPFName);

          參數:  int    nSave;               # 1 -> 儲存圖檔
                            0 -> 不儲存圖檔

                  char   *pstrBMPFName;          # 儲存圖檔的名稱

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Set_BMPSave(1, "C:\TempBMP.bmp");

        說明:  這個 B_Set_BMPSave 函數,可以決定是否儲存影像圖檔。

        *******************************************************************************
        B_Set_Darkness()
        ===============================================================================
          功能:  設定熱感頭列印熱度。

          語法:  int B_Set_Darkness(int darkness);

          參數:  int    darkness;           ●設定熱感頭列印熱度,範圍:0~15,內
                                               定是 8。
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  int darkness;
                      darkness=9;
                  B_Set_Darkness(darkness);

        說明:  這個 B_Set_Darkness 函數控制影像濃淡,想得到更好的印出品質,你應該
                  考慮一些因素,印出圖案樣式、速度。

        *******************************************************************************
        B_Set_DebugDialog()
        ===============================================================================
          功能:  設定除錯環境。

          語法:  int B_Set_DebugDialog(int nEnable);

          參數:  int    nEnable;          # 1 -> 除錯環境致能
                                             0 -> 除錯環境關閉

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Set_DebugDialog(1);

        說明:  這個 B_Set_DebugDialog 函數,設定除錯環境,除了會回傳錯誤碼,也會秀
                  出警示訊息對話框外。

        *******************************************************************************
        B_Set_Direction()
        ===============================================================================
          功能:  設定列印方向。

          語法:  int B_Set_Direction(char direction);

          參數:  int    direction;          ●設定列印方向,範圍:B 和 T。
                                               它們是對角對稱。內定是 T。
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  char direction;
                       direction='T';
                  B_Set_Direction(direction);

        說明:  這個 B_Set_Direction 函數設定列印方向,對整個版面內所有圖形文字。

        *******************************************************************************
        B_Set_Form()
        ===============================================================================
          功能:  儲存並列印 FORM (表格)。

          語法:  int B_Set_Form(LPCTSTR formfile);

          參數:  LPCTSTR   formfile;        ●表格檔案名稱,可含路徑。
                                               表格檔的來源,使用 Drive Disk 內
                                               dos\pplb\demo.bat 來設定取得。
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Set_Form("demo.prn");

        說明:  這個 B_Set_Form 函數儲存並列印 FORM (表格)。在使用這個函數時,須先
                  在 B_Print_Form函數之前。使用此函數時,就必須執行 B_Print_Form()。

        *******************************************************************************
        B_Set_Labgap()
        ===============================================================================
          功能:  同時設定標籤長度及 GAP 長度。

          語法:  int B_Set_Labgap(int lablength,int gaplength);

          參數:  int    lablength;          ●標籤長度。單位 dot。
                  int    gaplength;          ●GAP 長度。當是連續紙時,必須設為 0。
                                               備註:1 dot = 0.125 mm。
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  int lablength,gaplength;
                      lablength=100;gaplength=20;
                  B_Set_Labgap(lablength,gaplength);

        說明:  這個 B_Set_Labgap 函數設定標籤長度及 GAP 長度。

        *******************************************************************************
        B_Set_Labwidth()
        ===============================================================================
          功能:  設定標籤寬度。

          語法:  int B_Set_Labwidth(int labwidth);

          參數:  int    labwidth;           ●標籤寬度。單位 dot。
                                               備註:1 dot = 0.125 mm。

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  int labwidth;
                      labwidth=250;
                  B_Set_Labwidth(labwidth);

        說明:  這個 B_Set_Labwidth 函數設定標籤寬度。當使用此函數,就不能使用
                  B_Set_Originpoint 函數。

        *******************************************************************************
        B_Set_Originpoint()
        ===============================================================================
          功能:  設定開始列印點。

          語法:  int B_Set_Originpoint(int hor,int ver);

          參數:  int    hor;                ●水平邊界基點。單位 dot。
                  int    ver;                ●垂直邊界基點。單位 dot。
                                               備註:1 dot = 0.125 mm。
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  int hor,ver;
                      hor=0;ver=0;
                  B_Set_Originpoint(hor,ver);

        說明:  這個 B_Set_Originpoint 函數使用重新設定起源點 X、Y 軸。

        *******************************************************************************
        B_Set_Prncomport()
        ===============================================================================
          功能:  設定 Serial Port。

          語法:  int B_Set_Prncomport(int baud,char parity,int data,int stop);

          參數:  int    baud;               ●鮑爾率,如下表:
                                               ╒══╤══════╕
                                               │baud│   speed    │
                                               ╞══╪══════╡
                                               │ 38 │ 38,400 baud│
                                               ├──┼──────┤
                                               │ 19 │ 19,200 baud│
                                               ├──┼──────┤
                                               │ 96 │  9,600 baud│
                                               ├──┼──────┤
                                               │ 48 │  4,800 baud│
                                               ├──┼──────┤
                                               │ 24 │  2,400 baud│
                                               └──┴──────┘
                  char   parity;             ●Parity。'O'是 odd,'E'是 even parity
                                                       'N'是 none parity。
                  int    data;               ●Data bit number,7 或 8。
                  int    stop;               ●Stop bit number,1 或 2。

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  int  baud,data,stop;
                  char parity;
                       parity='N';baud=96;data=8;stop=1;
                  B_Set_Prncomport(baud,parity,data,stop);

        說明:  這個 B_Set_Prncomport 函數設定 Serial Port,改變 printer 與主機相同
                  。印表機必須與主機相同否則會發生不可預知之事情。

        *******************************************************************************
        B_Set_Prncomport_PC()
        ===============================================================================
          功能:  設定 PC 序列埠。

          語法:  int B_Set_Prncomport_PC(int nBaudRate, int nByteSize, int nParity,
                                    int nStopBits, int nDsr, int nCts, int nXonXoff);

          參數:  int    nBaudRate;          ●鮑爾率,如下表:
                                                1 -> 110     9 -> 19200
                                                2 -> 300    10 -> 38400
                                                3 -> 600    11 -> 56000
                                                4 -> 1200   12 -> 57600
                                                5 -> 2400   13 -> 115200
                                                6 -> 4800   14 -> 128000
                                                7 -> 9600   15 -> 256000
                                                8 -> 14400   0 -> 9600

                  int    nByteSize;          ●Data bit number:
                                                0 -> 7-bit data
                                                7 -> 7-bit data
                                                8 -> 8-bit data

                  int    nParity;            ●Parity,如下表:
                                                0 -> none parity
                                                1 -> even parity
                                                2 -> odd  parity
                  int    nStopBits;          ●Stop bit number:
                                                0 -> 1 stop bit
                                                1 -> 1 stop bit
                                                2 -> 2 stop bits
                  int    nDsr;               ●Setup hardware flow control
                                                1 -> DTR CONTROL HANDSHAKE;
                                                0 -> DTR CONTROL ENABLE;

                  int    nCts;               ●Setup hardware flow control
                                                1 -> RTS CONTROL HANDSHAKE;
                                                0 -> RTS CONTROL ENABLE;

                  int    nXonXoff;           ●Setup software flow control
                                                0 -> Enable;
                                                1 -> Disable;
        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Set_Prncomport_PC(0, 0, 0, 0, 1, 1, 1);

        說明:  這個 B_Set_Prncomport_PC 函數會設定 PC 序列埠設定值,來改變 PC 相同
                  於印表機序列埠設定值,如果不同則無法與印表機連接。此函數必須在函數
                  B_Print_Out 之前執行。
                  
        *******************************************************************************
        B_Set_Speed()
        ===============================================================================
          功能:  設定列印速度。

          語法:  int B_Set_Speed(int speed);

          參數:  int speed;                 ●列印速度,範圍:0~7。

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  int speed;
                      speed=2;
                  B_Set_Speed(speed);

        說明:  這個 B_Set_Speed 函數設定列印速度。

        *******************************************************************************
        B_Set_ProcessDlg()
        ===============================================================================
          功能:  開啟或關閉進度對話框。

          語法:  int B_Set_ProcessDlg(int nShow);

          參數:  int   nShow;        0:關閉進度對話框。
                        1:開啟進度對話框

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Set_ProcessDlg(1);

        說明:  這個 B_Set_ProcessDlg 函數可開關進度對話框。

        *******************************************************************************
        B_Bar2d_PDF417_N()
        ===============================================================================
          功能:  印出一個 PDF-417 2D Barcode。

          語法:  int B_Bar2d_PDF417_N(int x, int y, int w, int h, LPCTSTR pParameter, LPCTSTR data);

          參數:  int     x;                 ●X 座標。
                  int     y;                 ●Y 座標。
                  int     w;                 ●最大列印寬度,單位 dots。
                  int     h;                 ●最大列印高度,單位 dots。
              LPCTSTR pParameter         ●其他可隱藏之參數,此參數可以是NULL。
                                           錯誤校正等級(s),範圍:0~8。
                           資料壓縮等級(c),範圍:0 或 1。
                           print human readable(pxxx,yyy,mm)
                           xxx:Human readable horizontal start location, 0 ~ 999.
                           yyy: Human readable vertical start location, 0 ~ 999.
                           mm:Maximum characters per line, 0 ~ 99.
                           f:Bar code origin point, 0 or 1.
                           模組寬度(x),範圍:2~9 dots。
                           模組高度(y),範圍:4~99 dots。
                           最大 row count(r)。
                           最大 column count(l)。
                           Truncation flag(t),'0' 是 normal 和 '1' 是 truncated.
                  LPCTSTR data;              ●資料字串。

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Bar2d_PDF417_N(10,10,400,300,”s0,c0,p400,400,10,f0,x3,y7,r10,l2,f0”,"ARGOXINFO");
                  pParameter參數可以任意組合

        說明:  這個 B_Bar2d_PDF417 函數可以列印出一個 PDF-417 2D Barcode。

        ******************************************************************************
        B_Set_ErrorReport()
        ==============================================================================
          功能:  開啟或關閉印表機錯誤回傳。

          語法:  int B_Set_ErrorReport(int nEnable);

          參數:  int   nEnable;        0:關閉錯誤回傳。
                        1:開啟錯誤回傳。

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_Set_ErrorReport(1);

        說明:  這個 B_Set_ErrorReport 函數可開關進度對話框。
              回傳時是透過 RS-232 傳回, PC端可透過終端機接收訊息

        *******************************************************************************
        B_ResetPrinter()
        ==============================================================================
          功能:  此函數會使印表機重新開機。

          語法:  int B_ResetPrinter();

        傳回值:  0    -> OK.
                  Reference BW-Error.txt file.

          範例:  B_ResetPrinter();

        *******************************************************************************

  • 相关阅读:
    Day3-B-Round Marriage CodeForces-981F
    Day3-A-Problem H. Monster Hunter HDU6326
    Day3-G
    Day3-I-Squares POJ2002
    Day3-M-Cable master POJ1064
    Day3-N
    Day3-O-Median POJ3579
    Day3-P
    Day3-L-Cup HDU2289
    LeetCode "Majority Element"
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3084601.html
Copyright © 2011-2022 走看看