private void ViewBarCode() { PrintTemplateModel model = new PrintTemplateHelper().GetConfig(); if (model == null) { MessageBox.Show("打印模板参数获取失败!"); return; } var paperWidth = model.PageWidth * printMultiple; var paperHeight = model.PageHeight * printMultiple; Bitmap image = new Bitmap(paperWidth, paperHeight); Graphics g = Graphics.FromImage(image); System.Drawing.Brush bush = new SolidBrush(System.Drawing.Color.Black);//填充的颜色 try { //消除锯齿 g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; g.PageUnit = GraphicsUnit.Pixel; //清空图片背景颜色 g.Clear(System.Drawing.Color.White); var code = "1231125-102-23"; #region PDF417 PDF417EncodingOptions pdf_options = new PDF417EncodingOptions { Margin = 0, DisableECI = true, CharacterSet = "UTF-8", Width = ConvertInt(model.BarCodeWidth), Height = ConvertInt(model.BarCodeHeight), PureBarcode = false }; var pdf417Writer = new ZXing.BarcodeWriter(); pdf417Writer.Format = BarcodeFormat.PDF_417; pdf417Writer.Options = pdf_options; #endregion Bitmap bmp = pdf417Writer.Write(code); // Bitmap bmp = CreateImg.GenerateBitmap(code, 5, 5); g.DrawImage(bmp, ConvertInt(model.BarCodeX), ConvertInt(model.BarCodeY), ConvertInt(model.BarCodeWidth), ConvertInt(model.BarCodeHeight)); IntPtr myImagePtr = image.GetHbitmap(); //创建GDI对象,返回指针 BitmapSource imgsource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(myImagePtr, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); //创建imgSource DeleteObject(myImagePtr); imgTest.Source = imgsource; } finally { g.Dispose(); image.Dispose(); } }
private void LoadConfig() { PrintTemplateModel model = new PrintTemplateHelper().GetConfig(); if (model == null) { MessageBox.Show("获取参数失败!", "提示", MessageBoxButton.OK, MessageBoxImage.Warning); return; } /// <summary> /// 页面宽度 /// </summary> txtPageWidth.Text = model.PageWidth + ""; /// <summary> /// 页面高度 /// </summary> txtPageHeight.Text = model.PageHeight + ""; /// <summary> /// 病区文字 /// </summary> sliderAreaFontSize.Value = model.AreaFontSize; /// <summary> /// 病区文字X坐标 /// </summary> txtAreaFontX.Text = model.AreaFontX + ""; /// <summary> /// 病区文字Y坐标 /// </summary> txtAreaFontY.Text = model.AreaFontY + ""; /// <summary> /// 日期文字 /// </summary> sliderDateFontSize.Value = model.DateFontSize; /// <summary> /// 日期文字X坐标 /// </summary> txtDateFontX.Text = model.DateFontX + ""; /// <summary> /// 日期文字Y坐标 /// </summary> txtDateFontY.Text = model.DateFontY + ""; /// <summary> /// 二维码文字 /// </summary> sliderQRCodeFontSize.Value = model.QRCodeHeight; /// <summary> /// 二维码文字X坐标 /// </summary> txtQRCodeFontX.Text = model.QRCodeX + ""; /// <summary> /// 二维码文字Y坐标 /// </summary> txtQRCodeFontY.Text = model.QRCodeY + ""; /// <summary> /// 第一条分割线宽度 /// </summary> sliderSplitWidth.Value = model.SplitWidth; /// <summary> /// 第一条分割线X坐标 /// </summary> txtSplitX.Text = model.SplitX + ""; /// <summary> /// 第一条分割线Y坐标 /// </summary> txtSplitY.Text = model.SplitY + ""; #region 病人编号 /// <summary> /// 病人编号文字 /// </summary> sliderDoctorAdviceFontSize.Value = model.GroupNumFontSize; /// <summary> /// 病人编号文字X坐标 /// </summary> txtDoctorAdviceFontX.Text = model.GroupNumFontX + ""; /// <summary> /// 病人编号文字Y坐标 /// </summary> txtDoctorAdviceFontY.Text = model.GroupNumUnFontY + ""; #endregion #region 床位 /// <summary> /// 床位文字 /// </summary> sliderBedFontSize.Value = model.BedFontSize; /// <summary> /// 床位文字X坐标 /// </summary> txtBedFontX.Text = model.BedFontX + ""; /// <summary> /// 床位文字Y坐标 /// </summary> txtBedFontY.Text = model.BedFontY + ""; #endregion /// <summary> /// 患者名称文字 /// </summary> sliderPatientFontSize.Value = model.PatientFontSize; /// <summary> /// 患者名称文字X坐标 /// </summary> txtPatientFontX.Text = model.PatientFontX + ""; /// <summary> /// 患者名称文字Y坐标 /// </summary> txtPatientFontY.Text = model.PatientFontY + ""; /// <summary> /// 性别文字 /// </summary> sliderGenderFontSize.Value = model.GenderFontSize; /// <summary> /// 性别文字X坐标 /// </summary> txtGenderFontX.Text = model.GenderFontX + ""; /// <summary> /// 性别文字Y坐标 /// </summary> txtGenderFontY.Text = model.GenderFontY + ""; /// <summary> /// 核对文字 /// </summary> sliderCheckFontSize.Value = model.CheckFontSize; /// <summary> /// 核对文字X坐标 /// </summary> txtCheckFontX.Text = model.CheckFontX + ""; /// <summary> /// 核对文字Y坐标 /// </summary> txtCheckFontY.Text = model.CheckFontY + ""; /// <summary> /// 编号文字 /// </summary> sliderSerialNumberFontSize.Value = model.is_print_snvFontSize; /// <summary> /// 编号文字X坐标 /// </summary> txtSerialNumberFontX.Text = model.is_print_snvFontX + ""; /// <summary> /// 编号文字Y坐标 /// </summary> txtSerialNumberFontY.Text = model.is_print_snvFontY + ""; /// <summary> /// 第二条分割线宽度 /// </summary> sliderSplit2Width.Value = model.Split2Width; /// <summary> /// 第二条分割线X坐标 /// </summary> txtSplit2X.Text = model.Split2X + ""; /// <summary> /// 第二条分割线Y坐标 /// </summary> txtSplit2Y.Text = model.Split2Y + ""; /// <summary> /// 药名标题文字 /// </summary> sliderDrugsTitleFontSize.Value = model.DrugsTitleFontSize; /// <summary> /// 药名标题文字X坐标 /// </summary> txtDrugsTitleFontX.Text = model.DrugsTitleFontX + ""; /// <summary> /// 药名标题文字Y坐标 /// </summary> txtDrugsTitleFontY.Text = model.DrugsTitleFontY + ""; /// <summary> /// 药品名称文字 /// </summary> sliderDrugsContentFontSize.Value = model.DrugsContentFontSize; /// <summary> /// 药品名称文字X坐标 /// </summary> txtDrugsContentFontX.Text = model.DrugsContentFontX + ""; /// <summary> /// 药品名称文字Y坐标 /// </summary> txtDrugsContentFontY.Text = model.DrugsContentFontY + ""; #region 规格 /// <summary> /// 规格标题文字 /// </summary> sliderSpecTitleFontSize.Value = model.SpecTitleFontSize; /// <summary> /// 规格标题文字X坐标 /// </summary> txtSpecTitleFontX.Text = model.SpecTitleFontX + ""; /// <summary> /// 规格标题文字Y坐标 /// </summary> txtSpecTitleFontY.Text = model.SpecTitleFontY + ""; /// <summary> /// 规格值文字 /// </summary> sliderSpecValueFontSize.Value = model.SpecValueFontSize; /// <summary> /// 规格值文字X坐标 /// </summary> txtSpecValueFontX.Text = model.SpecValueFontX + ""; /// <summary> /// 规格值文字Y坐标 /// </summary> txtSpecValueFontY.Text = model.SpecValueFontY + ""; #endregion #region 用量 /// <summary> /// 用量标题文字 /// </summary> sliderUseSpTitleFontSize.Value = model.UseSpTitleFontSize; /// <summary> /// 用量标题文字X坐标 /// </summary> txtUseSpTitleFontX.Text = model.UseSpTitleFontX + ""; /// <summary> /// 用量标题文字Y坐标 /// </summary> txtUseSpTitleFontY.Text = model.UseSpTitleFontY + ""; /// <summary> /// 用量值文字 /// </summary> sliderUseSpValueFontSize.Value = model.UseSpValueFontSize; /// <summary> /// 用量值文字X坐标 /// </summary> txtUseSpValueFontX.Text = model.UseSpValueFontX + ""; /// <summary> /// 用量值文字Y坐标 /// </summary> txtUseSpValueFontY.Text = model.UseSpValueFontY + ""; #endregion #region 数量 /// <summary> /// 数量标题文字 /// </summary> sliderUseTitleFontSize.Value = model.UseTitleFontSize; /// <summary> /// 数量标题文字X坐标 /// </summary> txtUseTitleFontX.Text = model.UseTitleFontX + ""; /// <summary> /// 数量标题文字Y坐标 /// </summary> txtUseTitleFontY.Text = model.UseTitleFontY + ""; /// <summary> /// 数量值文字 /// </summary> sliderUseValueFontSize.Value = model.UseValueFontSize; /// <summary> /// 数量值文字X坐标 /// </summary> txtUseValueFontX.Text = model.UseValueFontX + ""; /// <summary> /// 数量值文字Y坐标 /// </summary> txtUseValueFontY.Text = model.UseValueFontY + ""; #endregion #region 医院名称 /// <summary> /// 医院名称文字 /// </summary> sliderHospitalNameFontSize.Value = model.HospitalNameFontSize; /// <summary> /// 医院名称文字 /// </summary>X坐标 txtHospitalNameFontX.Text = model.HospitalNameFontX + ""; /// <summary> /// 医院名称文字Y坐标 /// </summary> txtHospitalNameFontY.Text = model.HospitalNameFontY + ""; #endregion #region 医嘱类型 /// <summary> /// 医院名称文字 /// </summary> sliderOrderTypeFontSize.Value = model.OrderTypeFontSize; /// <summary> /// 医院名称文字 /// </summary>X坐标 txtOrderTypeFontX.Text = model.OrderTypeFontX + ""; /// <summary> /// 医院名称文字Y坐标 /// </summary> txtOrderTypeFontY.Text = model.OrderTypeFontY + ""; #endregion #region 特殊用药 /// <summary> /// 特殊用药文字 /// </summary> sliderspecial_medicationtipFontSize.Value = model.special_medicationtipFontSize; /// <summary> /// 特殊用药文字X坐标 /// </summary> txtspecial_medicationtipFontX.Text = model.special_medicationtipFontX + ""; /// <summary> /// 特殊用药文字Y坐标 /// </summary> txtspecial_medicationtipFontY.Text = model.special_medicationtipFontY + ""; #endregion #region 批次名称 /// <summary> /// 批次名称文字 /// </summary> sliderBatchNameFontSize.Value = model.BatchNameFontSize; /// <summary> /// 批次名称文字X坐标 /// </summary> txtBatchNameFontX.Text = model.BatchNameFontX + ""; /// <summary> /// 批次名称文字Y坐标 /// </summary> txtBatchNameFontY.Text = model.BatchNameFontY + ""; #endregion #region 年龄 /// <summary> /// 年龄文字 /// </summary> sliderAgeFontSize.Value = model.AgeFontSize; /// <summary> /// 年龄文字X坐标 /// </summary> txtAgeFontX.Text = model.AgeFontX + ""; /// <summary> /// 年龄文字Y坐标 /// </summary> txtAgeFontY.Text = model.AgeFontY + ""; #endregion /// <summary> /// 给药文字 /// </summary> sliderDoseFontSize.Value = model.DoseFontSize; /// <summary> /// 给药文字 /// </summary>X坐标 txtDoseFontX.Text = model.DoseFontX + ""; /// <summary> /// 给药文字Y坐标 /// </summary> txtDoseFontY.Text = model.DoseFontY + ""; /// <summary> /// 备注文字 /// </summary> sliderRemarkFontSize.Value = model.RemarkFontSize; /// <summary> /// 备注文字X坐标 /// </summary> txtRemarkFontX.Text = model.RemarkFontX + ""; /// <summary> /// 备注文字Y坐标 /// </summary> txtRemarkFontY.Text = model.RemarkFontY + ""; /// <summary> /// 用药频次文字 /// </summary> sliderSortFontSize.Value = model.UserFrequentFontSize; /// <summary> /// 用药频次文字X坐标 /// </summary> txtSpeedFontX.Text = model.UserFrequentFontX + ""; /// <summary> /// 用药频次文字Y坐标 /// </summary> txtSpeedFontY.Text = model.UserFrequentFontY + ""; /// <summary> /// 第三条分割线宽度 /// </summary> sliderSplit2Width.Value = model.Split3Width; /// <summary> /// 第三条分割线X坐标 /// </summary> txtSplit3X.Text = model.Split3X + ""; /// <summary> /// 第三条分割线Y坐标 /// </summary> txtSplit3Y.Text = model.Split3Y + ""; /// <summary> /// 审核文字 /// </summary> sliderExamineFontSize.Value = model.ExamineFontSize; /// <summary> /// 审核文字X坐标 /// </summary> txtExamineFontX.Text = model.ExamineFontX + ""; /// <summary> /// 审核文字Y坐标 /// </summary> txtExamineFontY.Text = model.ExamineFontY + ""; /// <summary> /// 复核文字 /// </summary> sliderReviewFontSize.Value = model.ReviewFontSize; /// <summary> /// 复核文字X坐标 /// </summary> txtReviewFontX.Text = model.ReviewFontX + ""; /// <summary> /// 复核文字Y坐标 /// </summary> txtReviewFontY.Text = model.ReviewFontY + ""; /// <summary> /// 排药文字 /// </summary> sliderSortFontSize.Value = model.SortFontSize; /// <summary> /// 排药文字X坐标 /// </summary> txtSortFontX.Text = model.SortFontX + ""; /// <summary> /// 排药文字Y坐标 /// </summary> txtSortFontY.Text = model.SortFontY + ""; /// <summary> /// 配液文字 /// </summary> sliderDispensingFontSize.Value = model.DispensingFontSize; /// <summary> /// 配液文字X坐标 /// </summary> txtDispensingFontX.Text = model.DispensingFontX + ""; /// <summary> /// 配液文字Y坐标 /// </summary> txtDispensingFontY.Text = model.DispensingFontY + ""; /// <summary> /// 用法文字 /// </summary> sliderUsageNameFontSize.Value = model.UsageNameFontSize; /// <summary> /// 用法文字X坐标 /// </summary> txtUsageNameFontX.Text = model.UsageNameFontX + ""; /// <summary> /// 用法文字Y坐标 /// </summary> txtUsageNameFontY.Text = model.UsageNameFontY + ""; /// <summary> /// 二维码条码宽度 /// </summary> txtBarCodeWidth.Text = model.BarCodeWidth + ""; /// <summary> /// 二维码条码高度 /// </summary> txtBarCodeHeight.Text = model.BarCodeHeight + ""; /// <summary> /// 二维码条码X坐标 /// </summary> txtBarCodeX.Text = model.BarCodeX + ""; /// <summary> /// 二维码条码Y坐标 /// </summary> txtBarCodeY.Text = model.BarCodeY + ""; }
private void ViewCard() { //if (printer == null) //{ // printer = printerManager.GetPrinter(); //} PrintTemplateModel model = new PrintTemplateHelper().GetConfig(); if (model == null) { MessageBox.Show("打印模板参数获取失败!"); return; } string fontName = "SimSun"; var startTime = DateTime.Now; var paperWidth = model.PageWidth * printMultiple; var paperHeight = model.PageHeight * printMultiple; Bitmap image = new Bitmap(paperWidth, paperHeight); Graphics g = Graphics.FromImage(image); System.Drawing.Brush bush = new SolidBrush(System.Drawing.Color.Black);//填充的颜色 try { //消除锯齿 g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; g.PageUnit = GraphicsUnit.Pixel; //清空图片背景颜色 g.Clear(System.Drawing.Color.White); var code = "1231125-102-23"; #region PDF417 PDF417EncodingOptions pdf_options = new PDF417EncodingOptions { Margin = 0, DisableECI = true, CharacterSet = "UTF-8", Width = ConvertInt(model.BarCodeWidth), Height = ConvertInt(model.BarCodeHeight), PureBarcode = false }; var pdf417Writer = new ZXing.BarcodeWriter(); pdf417Writer.Format = BarcodeFormat.PDF_417; pdf417Writer.Options = pdf_options; #endregion Bitmap bmp = pdf417Writer.Write(code); g.DrawImage(bmp, ConvertInt(model.BarCodeX), ConvertInt(model.BarCodeY), ConvertInt(model.BarCodeWidth), ConvertInt(model.BarCodeHeight)); g.DrawString("普通外科二病区", new Font(fontName, ConvertFontInt(model.AreaFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.AreaFontX), ConvertInt(model.AreaFontY)); g.DrawString("2018-11-12补", new Font(fontName, ConvertFontInt(model.DateFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.DateFontX), ConvertInt(model.DateFontY)); g.DrawString("1/1", new Font(fontName, ConvertFontInt(model.PageNumFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.PageNumFontX), ConvertInt(model.PageNumFontY)); g.DrawLine(new System.Drawing.Pen(bush), new System.Drawing.Point(ConvertInt(model.SplitX), ConvertInt(model.SplitY)), new System.Drawing.Point(ConvertInt(model.SplitX + model.SplitWidth), ConvertInt(model.SplitY))); g.DrawString(code, new Font(fontName, ConvertFontInt(model.DoctorAdviceFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.DoctorAdviceFontX), ConvertInt(model.DoctorAdviceFontY)); g.DrawString("31床", new Font(fontName, ConvertFontInt(model.BedFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.BedFontX), ConvertInt(model.BedFontY)); g.DrawString("史新平", new Font(fontName, ConvertFontInt(model.PatientFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.PatientFontX), ConvertInt(model.PatientFontY)); g.DrawString("男", new Font(fontName, ConvertFontInt(model.GenderFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.GenderFontX), ConvertInt(model.GenderFontY)); g.DrawString("1批", new Font(fontName, ConvertFontInt(model.BatchNumberFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.BatchNumberFontX), ConvertInt(model.BatchNumberFontY)); g.DrawString("[C-4]-1", new Font(fontName, ConvertFontInt(model.SerialNumberFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.SerialNumberFontX), ConvertInt(model.SerialNumberFontY)); g.DrawLine(new System.Drawing.Pen(bush), new System.Drawing.Point(ConvertInt(model.Split2X), ConvertInt(model.Split2Y)), new System.Drawing.Point(ConvertInt(model.Split2X + model.Split2Width), ConvertInt(model.Split2Y))); g.DrawString("药品名称", new Font(fontName, ConvertFontInt(model.DrugsTitleFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.DrugsTitleFontX), ConvertInt(model.DrugsTitleFontY)); g.DrawString("5%葡萄糖注射液[100ml](非PVC双阀)", new Font(fontName, ConvertFontInt(model.DrugsContentFontSize)), bush, ConvertInt(model.DrugsContentFontX), ConvertInt(model.DrugsContentFontY)); g.DrawString("数量", new Font(fontName, ConvertFontInt(model.UseTitleFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.UseTitleFontX), ConvertInt(model.UseTitleFontY)); g.DrawString("100ml", new Font(fontName, ConvertFontInt(model.UseValueFontSize)), bush, ConvertInt(model.UseValueFontX), ConvertInt(model.UseValueFontY)); g.DrawString("处方医生:张慧", new Font(fontName, ConvertFontInt(model.DoctorFontSize)), bush, ConvertInt(model.DoctorFontX), ConvertInt(model.DoctorFontY)); g.DrawString("备注:", new Font(fontName, ConvertFontInt(model.RemarkFontSize)), bush, ConvertInt(model.RemarkFontX), ConvertInt(model.RemarkFontY)); g.DrawString("滴速:40滴/分 静脉续滴 qd(8点)", new Font(fontName, ConvertFontInt(model.SpeedFontSize)), bush, ConvertInt(model.SpeedFontX), ConvertInt(model.SpeedFontY)); g.DrawLine(new System.Drawing.Pen(bush), new System.Drawing.Point(ConvertInt(model.Split3X), ConvertInt(model.Split3Y)), new System.Drawing.Point(ConvertInt(model.Split3X + model.Split3Width), ConvertInt(model.Split3Y))); g.DrawString("审核:焦媛媛", new Font(fontName, ConvertFontInt(model.ExamineFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.ExamineFontX), ConvertInt(model.ExamineFontY)); g.DrawString("复审:", new Font(fontName, ConvertFontInt(model.ReviewFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.ReviewFontX), ConvertInt(model.ReviewFontY)); g.DrawString("排药:牛捷", new Font(fontName, ConvertFontInt(model.SortFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.SortFontX), ConvertInt(model.SortFontY)); g.DrawString("配液:", new Font(fontName, ConvertFontInt(model.DispensingFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.DispensingFontX), ConvertInt(model.DispensingFontY)); g.DrawString("配液:___时___分", new Font(fontName, ConvertFontInt(model.DispensingDateFontSize), System.Drawing.FontStyle.Bold), bush, ConvertInt(model.DispensingDateFontX), ConvertInt(model.DispensingDateFontY)); //image.Save(AppDomain.CurrentDomain.BaseDirectory + @"Config\test" + DateTime.Now.Millisecond + ".jpg"); IntPtr myImagePtr = image.GetHbitmap(); //创建GDI对象,返回指针 BitmapSource imgsource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(myImagePtr, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); //创建imgSource DeleteObject(myImagePtr); imgTest.Source = imgsource; //var fileName = Guid.NewGuid().ToString(); //var path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config", fileName + ".jpg"); //var pathTarget = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config", fileName + "-bak.jpg"); //image.Save(path); //ImageHelper.KiSaveAsJPEG(image,pathTarget, 20); //ZebraImageI imageI = ZebraImageFactory.GetImage(image); //myEventLog.LogInfo($"画图花费时间:{(DateTime.Now - startTime).TotalMilliseconds}"); //startTime = DateTime.Now; //printer.PrintImage(imageI, 0, 0, paperWidth, paperHeight, false); //myEventLog.LogInfo($"发送打印内容花费时间:{(DateTime.Now - startTime).TotalMilliseconds}"); } finally { g.Dispose(); image.Dispose(); } }
private string GetCommand() { PrintTemplateModel model = new PrintTemplateHelper().GetConfig(); StringBuilder sb = new StringBuilder(); var orderManager = new OrderManager(); var order = orderManager.FirstOrDefault(s => true); List <PrintDrugModel> drugs = orderManager.GetPrintDrugs(order.Id); // var command = $@"^XA //^CI17 //^A@N,60,60,E:000.FNT^F8^FD1一二三四五六七八九十This is a test.^FS //^XZ"; sb.Append("^XA"); sb.Append("^CWJ,E:001.FNT^FS"); //sb.Append("^A@N,60,60,E:000.FNT^F8^FD1一二三四五六七八九十This is a test.^FS"); sb.Append(GetBarCodeCommand(order.barcode, model.BarCodeX, model.BarCodeY)); //g.DrawImage(bmp, ConvertInt(model.BarCodeX), ConvertInt(model.BarCodeY), ConvertInt(model.BarCodeWidth), ConvertInt(model.BarCodeHeight)); sb.Append(GetLabelCommand(order.patient_name, model.AreaFontSize, model.AreaFontX, model.AreaFontY)); sb.Append(GetLabelCommand(order.use_date, model.DateFontSize, model.DateFontX, model.DateFontY)); sb.Append(GetLabelCommand("1/1", model.PageNumFontSize, model.PageNumFontX, model.PageNumFontY)); sb.Append(GetLabelCommand("——————————————————————————", model.DrugsTitleFontSize, 0, model.SplitY - 5)); sb.Append(GetLabelCommand(order.group_num, model.DoctorAdviceFontSize, model.DoctorAdviceFontX, model.DoctorAdviceFontY)); sb.Append(GetLabelCommand(order.bed_number, model.BedFontSize, model.BedFontX, model.BedFontY)); sb.Append(GetLabelCommand(order.patient_name, model.PatientFontSize, model.PatientFontX, model.PatientFontY)); sb.Append(GetLabelCommand("男", model.GenderFontSize, model.GenderFontX, model.GenderFontY)); sb.Append(GetLabelCommand(order.batch, model.BatchNumberFontSize, model.BatchNumberFontX, model.BatchNumberFontY)); sb.Append(GetLabelCommand(order.zone?.ToString(), model.SerialNumberFontSize, model.SerialNumberFontX, model.SerialNumberFontY)); //g.DrawLine(new System.Drawing.Pen(bush), new System.Drawing.Point(ConvertInt(model.Split2X), ConvertInt(model.Split2Y)), new System.Drawing.Point(ConvertInt(model.Split2X + model.Split2Width), ConvertInt(model.Split2Y))); sb.Append(GetLabelCommand("——————————————————————————", model.DrugsTitleFontSize, 0, model.Split2Y - 5)); sb.Append(GetLabelCommand("药品名称", model.DrugsTitleFontSize, model.DrugsTitleFontX, model.DrugsTitleFontY)); sb.Append(GetLabelCommand("数量", model.UseTitleFontSize, model.UseTitleFontX, model.UseTitleFontY)); //g.DrawLine(new System.Drawing.Pen(bush), new System.Drawing.Point(ConvertInt(model.SplitX), ConvertInt(model.SplitY)), new System.Drawing.Point(ConvertInt(model.SplitX + model.SplitWidth), ConvertInt(model.SplitY))); //int x = model.DrugsContentFontX; //int y = model.DrugsContentFontY; //int u_x = model.UseValueFontX; //int u_y = model.UseValueFontY; var margin = 10; var height = model.DrugsContentFontY + margin; var paperWidth = model.PageWidth; var paperHeight = model.PageHeight; #region 药品列表 // 药品信息 for (int i = 0; i < drugs.Count; i++) { int fontHeight = model.DrugsContentFontSize; // 药名 sb.Append(GetLabelCommand(drugs[i].drug_name, model.DrugsContentFontSize, model.DrugsContentFontX, height)); //数量 sb.Append(GetLabelCommand(drugs[i].use_count.TrimEnd('0'), model.DrugsContentFontSize, model.PageWidth - 80, height)); // 只修改Y轴,向下平铺 height += model.DrugsContentFontSize + margin; } #endregion sb.Append(GetLabelCommand($"处方医生:{order.doctor_name}", model.DoctorFontSize, model.DoctorFontX, model.DoctorFontY)); sb.Append(GetLabelCommand($"备注:{order.pass_remark}", model.RemarkFontSize, model.RemarkFontX, model.RemarkFontY)); sb.Append(GetLabelCommand($"滴速:{order.ml_speed} {order.usage_name} {order.use_frequency}({order.use_time})", model.SpeedFontSize, model.SpeedFontX, model.SpeedFontY)); //g.DrawLine(new System.Drawing.Pen(bush), new System.Drawing.Point(ConvertInt(model.Split3X), ConvertInt(model.Split3Y)), new System.Drawing.Point(ConvertInt(model.Split3X + model.Split3Width), ConvertInt(model.Split3Y))); sb.Append(GetLabelCommand("——————————————————————————", model.DrugsTitleFontSize, 0, model.Split3Y - 5)); sb.Append(GetLabelCommand($"审核:{order.checker}", model.ExamineFontSize, model.ExamineFontX, model.ExamineFontY)); sb.Append(GetLabelCommand($"复审:", model.ReviewFontSize, model.ReviewFontX, model.ReviewFontY)); sb.Append(GetLabelCommand($"排药:{order.deliveryer}", model.SortFontSize, model.SortFontX, model.SortFontY)); sb.Append(GetLabelCommand($"配液:{order.config_person}", model.DispensingFontSize, model.DispensingFontX, model.DispensingFontY)); sb.Append(GetLabelCommand($"配液:___时___分", model.DispensingDateFontSize, model.DispensingDateFontX, model.DispensingDateFontY)); sb.Append("^XZ"); return(sb.ToString()); }