62,046
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Runtime.InteropServices;
/// <summary>
/// dllOperator 的摘要说明
/// </summary>
public class dllOperator
{
const string szSavePath = "C:\\PPLB_Example.Prn";
[DllImport("Winpplb.dll")]
private static extern int B_Bar2d_Maxi(int x, int y, int cl, int cc, int pc, string data);
[DllImport("Winpplb.dll")]
private static extern 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, string data);
[DllImport("Winpplb.dll")]
private static extern int B_Bar2d_PDF417_N(int x, int y, int w, int h, string para, string data);
[DllImport("Winpplb.dll")]
private static extern void B_ClosePrn();
[DllImport("Winpplb.dll")]
private static extern int B_CreatePrn(int selection, string filename);
[DllImport("Winpplb.dll")]
private static extern int B_Del_Form(string formname);
[DllImport("Winpplb.dll")]
private static extern int B_Del_Pcx(string pcxname);
[DllImport("Winpplb.dll")]
private static extern int B_Error_Reporting(char option);
[DllImport("Winpplb.dll")]
private static extern string B_Get_DLL_Version(int nShowMessage);
[DllImport("Winpplb.dll")]
private static extern int B_Get_DLL_VersionA(int nShowMessage);
[DllImport("Winpplb.dll")]
private static extern int B_Get_Pcx(int x, int y, string filename);
[DllImport("Winpplb.dll")]
private static extern int B_Initial_Setting(int Type, string Source);
[DllImport("Winpplb.dll")]
private static extern int B_Load_Pcx(int x, int y, string pcxname);
[DllImport("Winpplb.dll")]
private static extern int B_Open_ChineseFont(string path);
[DllImport("Winpplb.dll")]
private static extern int B_Print_Form(int labset, int copies, string form_out, string var);
[DllImport("Winpplb.dll")]
private static extern int B_Print_MCopy(int labset, int copies);
[DllImport("Winpplb.dll")]
private static extern int B_Print_Out(int labset);
[DllImport("Winpplb.dll")]
private static extern int B_Prn_Barcode(int x, int y, int ori, string type, int narrow,
int width, int height, char human, string data);
[DllImport("Winpplb.dll")]
private static extern void B_Prn_Configuration();
[DllImport("Winpplb.dll")]
private static extern int B_Prn_Text(int x, int y, int ori, int font, int hor_factor,
int ver_factor, char mode, string data);
[DllImport("Winpplb.dll")]
private static extern int B_Prn_Text_Chinese(int x, int y, int fonttype, string id_name,
string data);
[DllImport("Winpplb.dll")]
private static extern int B_Prn_Text_TrueType(int x, int y, int FSize, string FType,
int Fspin, int FWeight, int FItalic, int FUnline, int FStrikeOut, string id_name,
string data);
[DllImport("Winpplb.dll")]
private static extern int B_Prn_Text_TrueType_W(int x, int y, int FHeight, int FWidth,
string FType, int Fspin, int FWeight, int FItalic, int FUnline, int FStrikeOut,
string id_name, string data);
[DllImport("Winpplb.dll")]
private static extern int B_Select_Option(int option);
[DllImport("Winpplb.dll")]
private static extern int B_Select_Option2(int option, int p);
[DllImport("Winpplb.dll")]
private static extern int B_Select_Symbol(int num_bit, int symbol, int country);
[DllImport("Winpplb.dll")]
private static extern int B_Select_Symbol2(int num_bit, string csymbol, int country);
[DllImport("Winpplb.dll")]
private static extern int B_Set_Backfeed(char option);
[DllImport("Winpplb.dll")]
private static extern int B_Set_BMPSave(int nSave, string strBMPFName);
[DllImport("Winpplb.dll")]
private static extern int B_Set_Darkness(int darkness);
[DllImport("Winpplb.dll")]
private static extern int B_Set_DebugDialog(int nEnable);
[DllImport("Winpplb.dll")]
private static extern int B_Set_Direction(char direction);
[DllImport("Winpplb.dll")]
private static extern int B_Set_Form(string formfile);
[DllImport("Winpplb.dll")]
private static extern int B_Set_Labgap(int lablength, int gaplength);
[DllImport("Winpplb.dll")]
private static extern int B_Set_Labwidth(int labwidth);
[DllImport("Winpplb.dll")]
private static extern int B_Set_Originpoint(int hor, int ver);
[DllImport("Winpplb.dll")]
private static extern int B_Set_Prncomport(int baud, char parity, int data, int stop);
[DllImport("Winpplb.dll")]
private static extern int B_Set_Prncomport_PC(int nBaudRate, int nByteSize, int nParity,
int nStopBits, int nDsr, int nCts, int nXonXoff);
[DllImport("Winpplb.dll")]
private static extern int B_Set_Speed(int speed);
[DllImport("Winpplb.dll")]
private static extern int B_Set_ProcessDlg(int nShow);
[DllImport("Winpplb.dll")]
private static extern int B_GetUSBBufferLen();
[DllImport("Winpplb.dll")]
private static extern int B_EnumUSB(byte[] buf);
[DllImport("Winpplb.dll")]
private static extern int B_CreateUSBPort(int nPort);
[DllImport("Winpplb.dll")]
private static extern int B_ResetPrinter();
[DllImport("Winpplb.dll")]
private static extern int B_GetPrinterResponse(byte[] buf, int nMax);
[DllImport("Winpplb.dll")]
private static extern int B_TFeedMode(int nMode);
[DllImport("Winpplb.dll")]
private static extern int B_TFeedTest();
[DllImport("Winpplb.dll")]
private static extern int B_CreatePort(int nPortType, int nPort, string filename);
[DllImport("Winpplb.dll")]
private static extern int B_Execute_Form(string form_out, string var);
[DllImport("Winpplb.dll")]
private static extern int B_Bar2d_QR(int x, int y, int model, int scl, char error,
char dinput, int c, int d, int p, string data);
[DllImport("Winpplb.dll")]
private static extern int B_GetNetPrinterBufferLen();
[DllImport("Winpplb.dll")]
private static extern int B_EnumNetPrinter(byte[] buf);
[DllImport("Winpplb.dll")]
private static extern int B_CreateNetPort(int nPort);
[DllImport("Winpplb.dll")]
private static extern int B_Prn_Text_TrueType_Uni(int x, int y, int FSize, string FType,
int Fspin, int FWeight, int FItalic, int FUnline, int FStrikeOut, string id_name,
byte[] data, int format);
[DllImport("Winpplb.dll")]
private static extern int B_Prn_Text_TrueType_UniB(int x, int y, int FSize, string FType,
int Fspin, int FWeight, int FItalic, int FUnline, int FStrikeOut, string id_name,
byte[] data, int format);
[DllImport("Winpplb.dll")]
private static extern int B_GetUSBDeviceInfo(int nPort, byte[] pDeviceName,
out int pDeviceNameLen, byte[] pDevicePath, out int pDevicePathLen);
public dllOperator()
{
}
public void doPrint(String strText,int count)
{
int nLen, ret;
byte[] pbuf = new byte[128];
string ver, strmsg;
System.Text.Encoding encAscII = System.Text.Encoding.ASCII;
System.Text.Encoding encUnicode = System.Text.Encoding.Unicode;
// dll version.
ver = B_Get_DLL_Version(0);//取得或秀出此函數庫版本資訊。
// search port.
nLen = B_GetUSBBufferLen() + 1;//查詢 USB 埠資料長度
strmsg = "DLL ";
strmsg += ver;
strmsg += "\r\n";
if (nLen > 1)
{
byte[] buf1, buf2;
int len1 = 128, len2 = 128;
buf1 = new byte[len1];
buf2 = new byte[len2];
B_EnumUSB(pbuf);//取得 USB 埠的資料
B_GetUSBDeviceInfo(1, buf1, out len1, buf2, out len2);//取得 USB 埠的裝置名稱和裝置路徑。
ret = B_CreatePrn(12, encAscII.GetString(buf2, 0, len2));// open usb.開啟 Printer 工作。
if (0 != ret)
{
strmsg += "Open USB fail!";
}
else
{
strmsg += "Open USB:\r\nDevice name: ";
strmsg += encAscII.GetString(buf1, 0, len1);
strmsg += "\r\nDevice path: ";
strmsg += encAscII.GetString(buf2, 0, len2);
}
}
else
{
ret = B_CreatePrn(0, szSavePath);// open file.開啟 Printer 工作。
strmsg += "Open ";
strmsg += szSavePath;
if (0 != ret)
{
strmsg += " file fail!";
}
else
{
strmsg += " file succeed!";
}
}
if (0 != ret)
return;
// sample setting.
B_Set_DebugDialog(1);//設定除錯環境。
B_Set_Originpoint(0, 0);//設定開始列印點。
B_Select_Option(2);//設定轉印模式、啟動 Cutter 或 Peel。
B_Set_Darkness(8);//設定熱感頭列印熱度。
B_Set_Backfeed('F');
B_Del_Pcx("*");// delete all picture.刪除 Pcx 圖檔。
B_Bar2d_QR(420, 200, 1, 3, 'M', 'M', 12, 15, 30, strText);//列印 QR 條碼 "QR CODE"
B_Print_Out(count);// copy 1.列印所有資料。
B_ClosePrn();//關閉 Printer 工作。
}
}