public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { Graphics g = (Graphics)other; //这里无法精细化绘制一维码,是抛弃该打印方式的的主要原因. //如果说有更好的、高还原的一维码生成解决方案便可采纳. //但依然存在着如进纸的精准性控制、效果细微差别、条码长度不可控等问题. //CODE_128不支持中文字符,这里的值如果是中文,将会抛出异常. Bitmap img = BarCodeHelper.CreateBarCode(printItem.PrintKeyValue, BarcodeFormat.CODE_128, new EncodingOptions() { Height = (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pHeight", this.GetType().Name)) / 3, PureBarcode = true, Margin = 0 }); g.DrawImageUnscaled ( img, (int)(PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation) / 3, (int)(PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation) / 3 ); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { Graphics g = (Graphics)other; //1像素的大小是不确定的.图像大小400*500,表示长400个像素单位,宽500个像素单位.不同分辨率的设备像素单位大小不一样,因此图像显示得有大有小. //创建出的图像最小都是 21*21个像素点 //300点打印机和Graphics像素单位长度之比为1:3(1像素单位长度固定). //Bitmap的Width为像素点个数,因此在绘制二维码时,用printItem.Width / 3弥补素单位长度之比造成的图像放大. //即printItem.Width为300点打印机像素点个数,printItem.Width / 3为转化后对应在的Graphics中像素点个数. Bitmap img = BarCodeHelper.CreateBarCode(printItem.PrintKeyValue, BarcodeFormat.QR_CODE, new EncodingOptions() { Width = (int)printItem.Width / 3, Height = (int)printItem.Height / 3, PureBarcode = true, Margin = 0 }); g.DrawImageUnscaled ( img, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation) / 3, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation) / 3 ); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { string flag = Guid.NewGuid().ToString(); flag = flag.Substring(flag.LastIndexOf("-") + 1); PrintRuleBase.PTK_DrawTextTrueTypeW ( PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation, PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation, PrintRuleBase.GetPrintParameterByName <int>(printItem, "pHeight", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "fWidth", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <string>(printItem, "fType", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "fSpin", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "fWeight", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "fItalic", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "fUnline", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "fStrikeOut", this.GetType().Name), flag, printItem.PrintKeyValue ); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { if (!File.Exists(printItem.PrintKeyValue)) { throw new Exception(string.Format("未发现图片资源{0}.", printItem.PrintKeyValue)); } string format = Path.GetExtension(printItem.PrintKeyValue); if (!format.ToUpper().Equals(".PCX")) { string desPath0 = string.Format("{0}\\{1}\\{2}{3}", AppDomain.CurrentDomain.BaseDirectory, "TempImageConvertDirectory", Guid.NewGuid(), ".pcx"); ImageHelper.ChangeFormat(printItem.PrintKeyValue, desPath0, 144); printItem.PrintKeyValue = desPath0; } string desPath = string.Format("{0}\\{1}\\{2}{3}", AppDomain.CurrentDomain.BaseDirectory, "TempImageConvertDirectory", Guid.NewGuid(), ".pcx"); ImageHelper.Resize(printItem.PrintKeyValue, desPath, (double)2 / 3); printItem.PrintKeyValue = desPath; PrintRuleBase.PTK_PrintPCX ( (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation) * 2 / 3, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation) * 2 / 3, printItem.PrintKeyValue ); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { if (!File.Exists(printItem.PrintKeyValue)) { throw new Exception(string.Format("未发现图片资源{0}.", printItem.PrintKeyValue)); } //PrintRuleBase.PTK_BinGraphicsDel("*"); //PrintRuleBase.PTK_PcxGraphicsDownload(Path.GetFileName(printItem.PrintKeyValue), printItem.PrintKeyValue); //PrintRuleBase.PTK_DrawPcxGraphics( // PrintRuleBase.GetPrintParameterByName<int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation, // PrintRuleBase.GetPrintParameterByName<int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation, // Path.GetFileName(printItem.PrintKeyValue)); PrintRuleBase.PTK_PrintPCX ( PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation, PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation, printItem.PrintKeyValue ); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { int r = PrintRuleBase.GetPrintParameterByName <int>(printItem, "r", this.GetType().Name) * 2; r = r > 9 ? 9 : r; PrintRuleBase.PTK_DrawBar2D_QR ( (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation) * 2, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation) * 2, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "w", this.GetType().Name)), (PrintRuleBase.GetPrintParameterByName <int>(printItem, "v", this.GetType().Name)), PrintRuleBase.GetPrintParameterByName <int>(printItem, "o", this.GetType().Name), r, PrintRuleBase.GetPrintParameterByName <int>(printItem, "m", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "g", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "s", this.GetType().Name), printItem.PrintKeyValue ); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { Graphics g = (Graphics)other; if (!File.Exists(printItem.PrintKeyValue)) { throw new Exception(string.Format("未发现图片资源{0}.", printItem.PrintKeyValue)); } Bitmap img = ImageHelper.LoadImageFormFreeImage(PrintRuleBase.GetPrintParameterByName <string>(printItem, "PrintKeyValue", this.GetType().Name)); //如果是绘制原始图DrawImageUnscaled,不同图片即使Width、Height同,Graphics呈现效果也可能不一样.这与图片数据结构及Graphics呈现有关. //这里使用绝对长、宽.是界面呈现大小的1/3. //这里的PrintFactory.Width就是目前300点打印机的dot数 //1dot=25.4/300 mm //1print=25.4/100 mm //先将dot转mm 再将mm转print g.DrawImage ( img, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation) / 3, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation) / 3, (float)printItem.Width / 3, (float)printItem.Height / 3 ); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { string d = "M"; int type = PrintRuleBase.GetPrintParameterByName <int>(printItem, "type", this.GetType().Name); int flag = PrintRuleBase.GetPrintParameterByName <int>(printItem, "g", this.GetType().Name); if (flag == 0) { d = "L"; } else if (flag == 1) { d = "M"; } else if (flag == 2) { d = "Q"; } else if (flag == 3) { d = "H"; } if (type == 0) { ZebraPrinterHelper.PrintQRCode ( PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation, PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation, PrintRuleBase.GetPrintParameterByName <int>(printItem, "r", this.GetType().Name), d, printItem.PrintKeyValue ); } else { ZebraPrinterHelper.PrintDataMatrix ( PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation, PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation, PrintRuleBase.GetPrintParameterByName <int>(printItem, "r", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "s", this.GetType().Name), printItem.PrintKeyValue ); } } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { PrintRuleBase.PTK_DrawLineOr ( PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation, PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation, PrintRuleBase.GetPrintParameterByName <int>(printItem, "pWidth", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "pHeight", this.GetType().Name) ); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { ZebraPrinterHelper.PrintRectangle ( (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation) * 2, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation) * 2, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pEX", this.GetType().Name) - PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name)) * 2, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pEY", this.GetType().Name) - PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name)) * 2, PrintRuleBase.GetPrintParameterByName <int>(printItem, "thickness", this.GetType().Name) ); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { PrintRuleBase.PTK_DrawBar2D_MaxiCode ( PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation, PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation, PrintRuleBase.GetPrintParameterByName <int>(printItem, "m", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "u", this.GetType().Name), printItem.PrintKeyValue ); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { string code = PrintRuleBase.GetPrintParameterByName <string>(printItem, "pCode", this.GetType().Name); if (code == "1E") { ZebraPrinterHelper.PrintCode93 ( (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation) * 2, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation) * 2, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "narrowWidth", this.GetType().Name)) * 2, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pHeight", this.GetType().Name)) * 2, printItem.PrintKeyValue ); } else if (code == "1") { ZebraPrinterHelper.PrintCode128C ( (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation) * 2, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation) * 2, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "narrowWidth", this.GetType().Name)) * 2, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pHeight", this.GetType().Name)) * 2, printItem.PrintKeyValue ); } else { ZebraPrinterHelper.PrintCode128 ( PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation, PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation, PrintRuleBase.GetPrintParameterByName <int>(printItem, "narrowWidth", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "pHeight", this.GetType().Name), printItem.PrintKeyValue ); } } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { Graphics g = (Graphics)other; Pen p = new Pen(Color.Black, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pHeight", this.GetType().Name)) / 3); g.DrawLine( p, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation) / 3, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation + PrintRuleBase.GetPrintParameterByName <int>(printItem, "pHeight", this.GetType().Name) / 2) / 3, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.YDeviation + PrintRuleBase.GetPrintParameterByName <int>(printItem, "pWidth", this.GetType().Name)) / 3, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation + PrintRuleBase.GetPrintParameterByName <int>(printItem, "pHeight", this.GetType().Name) / 2) / 3 ); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { Graphics g = (Graphics)other; Pen p = new Pen(Color.Black, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "thickness", this.GetType().Name)) / 3); g.DrawRectangle(p, new Rectangle() { X = (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation) / 3, Y = (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation) / 3, Width = (int)printItem.Width / 3, Height = (int)printItem.Height / 3, }); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { Graphics g = (Graphics)other; g.DrawString ( printItem.PrintKeyValue, new Font(PrintRuleBase.GetPrintParameterByName <string>(printItem, "fType", this.GetType().Name), WordHeightToFontSize(PrintRuleBase.GetPrintParameterByName <double>(printItem, "pHeight", this.GetType().Name))), new SolidBrush(Color.Black), //细微修正-2 保证打印效果与界面呈现一致 (int)((PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation) / 3 - 2), (int)((PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation) / 3 - 2), new StringFormat() ); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { if (!File.Exists(printItem.PrintKeyValue)) { throw new Exception(string.Format("未发现图片资源{0}.", printItem.PrintKeyValue)); } ZebraPrinterHelper.PrintImage ( printItem.PrintKeyValue, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation) * 2, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation) * 2 ); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { PrintRuleBase.PTK_DrawBarcode ( PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation, PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation, PrintRuleBase.GetPrintParameterByName <int>(printItem, "pDirec", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <string>(printItem, "pCode", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "narrowWidth", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "pHorizontal", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "pHeight", this.GetType().Name), PrintRuleBase.GetPrintParameterByName <int>(printItem, "pText", this.GetType().Name), printItem.PrintKeyValue ); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public void PrintParseFuntion(PrintItemModel printItem, object other = null) { try { Regex cn = new Regex("[\u4e00-\u9fa5]+");//正则表达式 表示汉字范围 string type = PrintRuleBase.GetPrintParameterByName <string>(printItem, "fType", this.GetType().Name); if (type == "Arial") { type = "Y"; } else if (type == "ZEBRA0") { type = "0"; } else { type = "Z"; } if (cn.IsMatch(printItem.PrintKeyValue)) { type = "Z"; } ZebraPrinterHelper.PrintString ( type, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pHeight", this.GetType().Name)) * 2, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "fWidth", this.GetType().Name)) * 2, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pX", this.GetType().Name) + printItem.XDeviation) * 2, (PrintRuleBase.GetPrintParameterByName <int>(printItem, "pY", this.GetType().Name) + printItem.YDeviation) * 2, printItem.PrintKeyValue ); } catch (Exception ex) { throw new Exception(string.Format("打印{0}异常:{1}", this.GetType().Name, ex.Message)); } }