PLB条码打印
发布时间:2020-12-15 17:52:45 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; usi
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices;//This is about DllImport. namespace VCsharp_2005 { public partial class Form1 : Form { const uint IMAGE_BITMAP = 0; const uint LR_LOADFROMFILE = 16; [DllImport("user32.dll",SetLastError = true,CharSet = CharSet.Auto)] static extern IntPtr LoadImage(IntPtr hinst,string lpszName,uint uType,int cxDesired,int cyDesired,uint fuLoad); [DllImport("Gdi32.dll",CharSet = CharSet.Auto)] static extern int DeleteObject(IntPtr ho); const string szSavePath = "C:Argox"; const string szSaveFile = "C:ArgoxPPLB_Example.Prn"; const string sznop1 = "nop_frontrn"; const string sznop2 = "nop_middlern"; [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 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,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_Draw_Box(int x,int thickness,int hor_dots,int ver_dots); [DllImport("Winpplb.dll")] private static extern int B_Draw_Line(char mode,int x,int ver_dots); [DllImport("Winpplb.dll")] private static extern int B_Error_Reporting(char option); [DllImport("Winpplb.dll")] private static extern IntPtr 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_Graphic_ColorBMP(int x,string filename); [DllImport("Winpplb.dll")] private static extern int B_Get_Graphic_ColorBMPEx(int x,int nWidth,int nHeight,int rotate,string id_name,string filename); [DllImport("Winpplb.dll")] private static extern int B_Get_Graphic_ColorBMP_HBitmap(int x,IntPtr hbm); [DllImport("Winpplb.dll")] private static extern int B_Get_Pcx(int x,string filename); [DllImport("Winpplb.dll")] private static extern int B_Initial_Setting(int Type,string Source); [DllImport("Winpplb.dll")] private static extern int B_WriteData(int IsImmediate,byte[] pbuf,int length); [DllImport("Winpplb.dll")] private static extern int B_ReadData(byte[] pbuf,int length,int dwTimeoutms); [DllImport("Winpplb.dll")] private static extern int B_Load_Pcx(int x,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 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 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 fonttype,string data); [DllImport("Winpplb.dll")] private static extern int B_Prn_Text_TrueType(int x,int FSize,string FType,int Fspin,int FWeight,int FItalic,int FUnline,int FStrikeOut,string data); [DllImport("Winpplb.dll")] private static extern int B_Prn_Text_TrueType_W(int x,int FHeight,int FWidth,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 model,int scl,char error,char dinput,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,byte[] data,int format); [DllImport("Winpplb.dll")] private static extern int B_Prn_Text_TrueType_UniB(int x,int format); [DllImport("Winpplb.dll")] private static extern int B_GetUSBDeviceInfo(int nPort,byte[] pDeviceName,out int pDeviceNameLen,byte[] pDevicePath,out int pDevicePathLen); [DllImport("Winpplb.dll")] private static extern int B_Set_EncryptionKey(string encryptionKey); [DllImport("Winpplb.dll")] private static extern int B_Check_EncryptionKey(string decodeKey,string encryptionKey,int dwTimeoutms); public Form1() { InitializeComponent(); } private void button1_Click(object sender,EventArgs e) { //Test code start // open port. int nLen,ret,sw; byte[] pbuf = new byte[128]; string strmsg; IntPtr ver; 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; strmsg = "DLL "; strmsg += Marshal.PtrToStringAnsi(ver); strmsg += "rn"; if (nLen > 1) { byte[] buf1,buf2; int len1 = 128,len2 = 128; buf1 = new byte[len1]; buf2 = new byte[len2]; B_EnumUSB(pbuf); B_GetUSBDeviceInfo(1,buf1,out len1,buf2,out len2); sw = 1; if (1 == sw) { ret = B_CreatePrn(12,encAscII.GetString(buf2,len2));// open usb. } else { ret = B_CreateUSBPort(1);// must call B_GetUSBBufferLen() function fisrt. } if (0 != ret) { strmsg += "Open USB fail!"; } else { strmsg += "Open USB:rnDevice name: "; strmsg += encAscII.GetString(buf1,len1); strmsg += "rnDevice path: "; strmsg += encAscII.GetString(buf2,len2); //sw = 2; if (2 == sw) { //Immediate Error Report. B_WriteData(1,encAscII.GetBytes("^eern"),5);//^ee ret = B_ReadData(pbuf,4,1000); } } } else { System.IO.Directory.CreateDirectory(szSavePath); ret = B_CreatePrn(0,szSaveFile);// open file. strmsg += "Open "; strmsg += szSaveFile; if (0 != ret) { strmsg += " file fail!"; } else { strmsg += " file succeed!"; } } MessageBox.Show(strmsg); if (0 != ret) return; // sample setting. B_Set_DebugDialog(1); B_Set_Originpoint(0,0); B_Select_Option(2); B_Set_Darkness(8); B_Del_Pcx("*");// delete all picture. B_WriteData(0,encAscII.GetBytes(sznop2),sznop2.Length); B_WriteData(1,encAscII.GetBytes(sznop1),sznop1.Length); //draw box. B_Draw_Box(20,20,760,560); B_Draw_Line('O',400,540); //print text,true type text. B_Prn_Text(30,40,2,1,'N',"PPLB Lib Example"); B_Prn_Text_TrueType(30,100,30,"Arial","AA","TrueType Font");//save in printer. B_Prn_Text_TrueType_W(30,160,"Times New Roman","AB","TT_W: 多字元測試"); B_Prn_Text_TrueType_Uni(30,220,"AC",Encoding.Unicode.GetBytes("TT_Uni: 多字元測試"),1);//UTF-16 encUnicode.GetBytes("xFEFF",pbuf,0);//UTF-16.//pbuf[0]=0xFF,pbuf[1]=0xFE; encUnicode.GetBytes("TT_UniB: 多字元測試",14,2);//copy mutil byte. encUnicode.GetBytes("x0000",30);//null.//pbuf[30]=0x00,pbuf[31]=0x00; B_Prn_Text_TrueType_UniB(30,280,"AD",0);//Byte Order Mark. //barcode. B_Prn_Barcode(420,"3",3,'B',"1234<+1>");//have a counter B_Bar2d_QR(420,200,'M','A',"QR CODE"); //picture. B_Get_Graphic_ColorBMP(420,"bb.bmp");// Color bmp file. B_Get_Graphic_ColorBMPEx(420,320,150,"bb1","bb.bmp");//180 angle. IntPtr himage = LoadImage(IntPtr.Zero,"bb.bmp",IMAGE_BITMAP,LR_LOADFROMFILE); B_Get_Graphic_ColorBMP_HBitmap(630,250,80,"bb2",himage);//90 angle. if (IntPtr.Zero != himage) DeleteObject(himage); // output. B_Print_Out(2);// copy 2. // close port. B_ClosePrn(); } private void button2_Click(object sender,EventArgs e) { //PPLBDLL Test code start //B_CreatePrn(0,null); /* int B_CreatePrn(int selection,LPCTSTR filename); 參數: selection; 選擇輸出埠或檔案。 0 -> print to file. 1 -> lpt1,2 -> lpt2,3 -> lpt3 4 -> com1,5 -> com2,6 -> com3 10 -> pipe,11 -> USBXXX,12 -> USB 13 -> LAN Client(TCP/IP) filename; 當 selection 是 0 時,資料則輸出至檔案,filename 為檔案名稱,可含路徑。 當 selection 是 10 時,filename 為輸出路徑或機碼(裝置路徑)。 當 selection 是 11 時,filename 指的是想開啟的USB之index,index由1開始; 當 selection 是 12 時,filename 指的是想開啟的USB機碼(裝置路徑),和nPort = 10的使用方法一樣 當 selection 內容是 13 時,filename 指的是想開啟的IP Address,使用TCP/IP去開啟; 預設的port值為9100,若要指定port值,如80,則在IPAddress後加上字串":80". * int B_CreateUSBPort(int nPort); 參數: nPort; USB 傳輸埠 ; nPort由1開始. */ // USB Port Open int nUSBDataLen; byte[] pbuf; nUSBDataLen = B_GetUSBBufferLen()+1; pbuf = new byte[nUSBDataLen]; B_EnumUSB(pbuf); B_CreateUSBPort(1); // Open com3 //B_CreatePort(1,null); //B_Set_Darkness(8); //B_Select_Option(1); //B_Set_Labgap(50,24); //B_Set_Labwidth(816); //B_Set_Speed(2); //B_Error_Reporting('S'); B_Prn_Text(100,"FONT 3"); //Get a text string. // B_Prn_Text(200,10,"Text 3<+1>"); B_Prn_Barcode(20,"1",75,"079-305"); //Get a bar code. //Get a PDF-417 2D bar code. //B_Bar2d_PDF417(50,300,7,"ARGOXINFO"); //Get a Maxi Code 2D bar code. B_Bar2d_Maxi(400,93065,"This MaxiCode"); B_Draw_Line('E',380,10); //Line Draw by Exclusive or operation. //B_Draw_Line('O',180,100); //Line draw by or operation. //B_Draw_Line('W',10); //Draw white line. //B_Draw_Line('E',450,110); //Line Draw by Exclusive or operation. //B_Draw_Box(0,5,815,300); //Draw a box. // B_Get_Pcx(50,55,"phone.pcx"); //Print Graphics of .PCX. //B_Get_Pcx(400,"test1.pcx"); B_Prn_Text_TrueType(450,"Library Test"); // Get a truetype text //B_Prn_Text_TrueType(30,50,"TrueType Font"); B_Print_Out(1); B_ClosePrn(); //PPLBDLL Test code end } } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |