Exemple #1
0
 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));
     }
 }
Exemple #3
0
 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));
     }
 }
Exemple #5
0
        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));
            }
        }
Exemple #6
0
 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));
     }
 }
Exemple #7
0
 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));
     }
 }
Exemple #9
0
 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));
     }
 }
Exemple #13
0
 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));
     }
 }
Exemple #15
0
 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));
            }
        }
Exemple #17
0
 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));
     }
 }