|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Runtime.InteropServices;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
namespace WeighAndGrading
|
|
|
{
|
|
|
public static class PrintAPI
|
|
|
{
|
|
|
[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_Set_Direction(char direction);
|
|
|
|
|
|
[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_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 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_Print_Out(int labset);
|
|
|
|
|
|
[DllImport("Winpplb.dll")]
|
|
|
private static extern void B_ClosePrn();
|
|
|
|
|
|
|
|
|
public static void Print(PrintEntity entity)
|
|
|
{
|
|
|
B_GetUSBBufferLen();
|
|
|
B_EnumUSB(new byte[128]);
|
|
|
B_CreateUSBPort(1);
|
|
|
|
|
|
B_Prn_Text_TrueType(110, 31, 31, "宋体", 1, 700, 0, 0, 0, "C1", entity.AccountingUnit_Name);
|
|
|
B_Prn_Text_TrueType(42, 75, 31, "宋体", 1, 700, 0, 0, 0, "C2", "合格证");
|
|
|
B_Prn_Text_TrueType(440, 75, 31, "宋体", 1, 700, 0, 0, 0, "C3", entity.Goods_Name);
|
|
|
|
|
|
B_Prn_Text_TrueType(42, 125, 27, "宋体", 1, 400, 0, 0, 0, "C4", string.Format("生产日期:{0}", entity.Date.ToString("yyyy/MM/dd")));
|
|
|
B_Prn_Text_TrueType(42, 165, 27, "宋体", 1, 400, 0, 0, 0, "C5", string.Format("检 验 员:{0}", entity.Checker));
|
|
|
B_Prn_Text_TrueType(42, 205, 27, "宋体", 1, 400, 0, 0, 0, "C6", string.Format("保 质 期:{0}", entity.StoreCondition));
|
|
|
|
|
|
B_Prn_Text_TrueType(42, 255, 23, "宋体", 1, 400, 0, 0, 0, "C7", string.Format("产地:{0} 电话:{1}", entity.Place, entity.TelNumber));
|
|
|
B_Prn_Text_TrueType(42, 290, 23, "宋体", 1, 400, 0, 0, 0, "C8", string.Format("地址:{0}", entity.Address));
|
|
|
|
|
|
B_Prn_Barcode(42, 330, 0, "1", 3, 22, 35, 'N', entity.BarCode);
|
|
|
B_Prn_Text_TrueType(175, 370, 25, "宋体", 1, 500, 0, 0, 0, "C9", entity.BarCode);
|
|
|
B_Bar2d_QR(430, 120, 2, 7, 'M', 'A', 0, 0, 0, entity._2DQRCode);
|
|
|
|
|
|
B_Set_Direction('B');
|
|
|
B_Print_Out(1);
|
|
|
B_ClosePrn();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public class PrintEntity
|
|
|
{
|
|
|
public string AccountingUnit_Name { get; set; }
|
|
|
|
|
|
public string Goods_Name { get; set; }
|
|
|
|
|
|
public DateTime Date { get; set; }
|
|
|
|
|
|
public string Checker { get; set; }
|
|
|
|
|
|
public string StoreCondition { get; set; }
|
|
|
|
|
|
public string Place { get; set; }
|
|
|
|
|
|
public string TelNumber { get; set; }
|
|
|
|
|
|
public string Address { get; set; }
|
|
|
|
|
|
public string BarCode { get; set; }
|
|
|
|
|
|
public string _2DQRCode { get; set; }
|
|
|
}
|
|
|
}
|