private void PrintPage(object sender, PaintEventArgs e1) { Barcode bc2 = new Barcode(new Code128Symbology(), new SizeF(barcodeSizeX, barcodeSizeY)); // useNumericCompression ///////////////////// Print Barcode /////////////////////////////////// Bitmap image2 = new Bitmap(ticketTemplatePath); e1.Graphics.DrawImage(image2, 0, 0); Graphics eg = e1.Graphics; eg.PageUnit = GraphicsUnit.Inch; PointF pt = new PointF(ticketBaseX, ticketBaseY); bc2.Draw(eg, pt, strBarCode); Brush brush = Brushes.Black; pt = new PointF(ticketBaseX + BaseOffX, ticketBaseY + BaseOffY); FontFamily ff = new FontFamily(ticketFontFamily); Font ft = new Font(ff, barCodeFontSize, FontStyle.Regular); eg.DrawString(strBarCode, ft, brush, pt); StringFormat sf = new StringFormat(); sf.Alignment = ticketAligment; //////////////////////////////////////////////////////////////////////////// Font ftitle = new Font(ff, ticketFontSize, FontStyle.Bold); Font fdata = new Font(ff, ticketFontSize, FontStyle.Regular); RectangleF rcf = new RectangleF(ticketBaseX + NeighborOffX, ticketTitleBaseY, 1.2f, entryHeight); eg.DrawString(Neighborhood, fdata, brush, rcf, sf); //////////////////////////////////////////////////////////////////////////// rcf = new RectangleF(ticketBaseX + SectionOffX, ticketTitleBaseY, 1.0f, entryHeight); eg.DrawString(Section, fdata, brush, rcf, sf); //////////////////////////////////////////////////////////////////////////// rcf = new RectangleF(ticketBaseX + RowOffX, ticketTitleBaseY, 1.0f, entryHeight); eg.DrawString(RowVal, fdata, brush, rcf, sf); //////////////////////////////////////////////////////////////////////////// rcf = new RectangleF(ticketBaseX + SeatOffX, ticketTitleBaseY, 1.0f, entryHeight); eg.DrawString(SeatVal, fdata, brush, rcf, sf); //////////////////////////////////////////////////////////////////////////// rcf = new RectangleF(ticketBaseX + NoNameOffX, ticketTitleBaseY, 1.0f, entryHeight); eg.DrawString(dnoname, fdata, brush, rcf, sf); ///////////// Event Code //////////////////////////////////////////////////// float xwide = 2.3f; float SideOffY = 0.7f; rcf = new RectangleF(ticketBaseX, ticketSideBaseY + SideOffY, xwide, entryHeight); eg.DrawString(EventCode, fdata, brush, rcf, sf); ///////////// price //////////////////////////////////////////////////// float ticketTitleOffY = 1.05f; rcf = new RectangleF(ticketBaseX, ticketSideBaseY + ticketTitleOffY, xwide, entryHeight); eg.DrawString(Price_TAX, fdata, brush, rcf, sf); ///////////// section row seat //////////////////////////////////////////////////// ticketTitleOffY = 1.42f; rcf = new RectangleF(ticketBaseX, ticketSideBaseY + ticketTitleOffY, xwide, entryHeight); eg.DrawString(SectionRowSeat, fdata, brush, rcf, sf); ///////////// price code //////////////////////////////////////////////////// float ticketPriceOffY = 1.8f; rcf = new RectangleF(ticketBaseX, ticketSideBaseY + ticketPriceOffY, xwide, entryHeight); eg.DrawString(PriceCode, fdata, brush, rcf, sf); ///////////// Event Line 1 - 6 //////////////////////////////////////////////////// float ticketLineBaseY = 0.68f; float ticketLineBaseX = 2.0f; xwide = 5.0f; rcf = new RectangleF(ticketLineBaseX, ticketLineBaseY, xwide, entryHeight); eg.DrawString(EventLine1, fdata, brush, rcf, sf); rcf = new RectangleF(ticketLineBaseX, ticketLineBaseY + entryHeight, xwide, entryHeight); eg.DrawString(EventLine2, fdata, brush, rcf, sf); rcf = new RectangleF(ticketLineBaseX, ticketLineBaseY + entryHeight * 2, xwide, entryHeight); eg.DrawString(EventLine3, fdata, brush, rcf, sf); rcf = new RectangleF(ticketLineBaseX, ticketLineBaseY + entryHeight * 3, xwide, entryHeight); eg.DrawString(EventLine4, fdata, brush, rcf, sf); rcf = new RectangleF(ticketLineBaseX, ticketLineBaseY + entryHeight * 4, xwide, entryHeight); eg.DrawString(EventLine5, fdata, brush, rcf, sf); rcf = new RectangleF(ticketLineBaseX, ticketLineBaseY + entryHeight * 5, xwide, entryHeight); eg.DrawString(EventLine6, fdata, brush, rcf, sf); rcf = new RectangleF(ticketLineBaseX, ticketLineBaseY + entryHeight * 5 + 0.27f, xwide, entryHeight); eg.DrawString(DateTimeLine, fdata, brush, rcf, sf); ////////////// Rotate Barcode ////////////////////////////////// eg.RotateTransform(90); PointF ptf = new PointF(RotateOffX, RotateOffY); bc2.Draw(eg, ptf, strBarCode); ptf = new PointF(RotateOffX + RotateBarcodeOffX, RotateOffY + RotateBarcodeOffY); eg.DrawString(strBarCode, ft, brush, ptf); }
private void SendToPrinter() { var basePath = AppDomain.CurrentDomain.BaseDirectory; var guidNumber = Guid.NewGuid().ToString().Substring(0, 6); var barcodeGeneratePath = basePath + "BarcodePdfs\\" + guidNumber; Barcode b = new Barcode() { Height = 100, IncludeLabel = true }; System.Drawing.Image img = b.Encode(TYPE.CODE128, productCode.Text); img.Save(barcodeGeneratePath + ".png"); //BarcodeSettings bs = new BarcodeSettings(); //bs.Data = TextBox1.Text; //bs.Data2D = TextBox1.Text; //bs.ShowText = true; ////bs.BarHeight = 1; ////bs.X = 1; ////bs.Y = 1; //BarCodeGenerator generator = new BarCodeGenerator(bs); //System.Drawing.Image barcode = generator.GenerateImage(); //var basePath = AppDomain.CurrentDomain.BaseDirectory; //var guidNumber = Guid.NewGuid().ToString().Substring(0, 6); //var barcodeGeneratePath = basePath + "BarcodePdfs\\" + guidNumber; ////save the barcode as an image //barcode.Save(barcodeGeneratePath + ".png"); Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument(); PdfSection section = doc.Sections.Add(); PdfPageBase page = doc.Pages.Add(); //PdfImage image = PdfImage.FromFile(barcodeGeneratePath + ".png"); ////Set image display location and size in PDF ////float widthFitRate = image.PhysicalDimension.Width / page.Canvas.ClientSize.Width; ////float heightFitRate = image.PhysicalDimension.Height / page.Canvas.ClientSize.Height; ////float fitRate = Math.Max(widthFitRate, heightFitRate); ////float fitWidth = image.PhysicalDimension.Width / fitRate; ////float fitHeight = image.PhysicalDimension.Height / fitRate; //var barcodeImageWidth = 100; //var barcodeImageHeigth = 40; //page.Canvas.DrawImage(image, 30, 30, barcodeImageWidth, barcodeImageHeigth); //doc.SaveToFile(barcodeGeneratePath + ".pdf"); //doc.Close(); var strHtml = System.IO.File.ReadAllText(basePath + "PrintPage.html"); strHtml = strHtml.Replace("##CompanyName##", companyName.Text); strHtml = strHtml.Replace("##BarcodeImage##", guidNumber + ".png"); strHtml = strHtml.Replace("##ProductName##", productName.Text); // instantiate a html to pdf converter object HtmlToPdf converter = new HtmlToPdf(); //// set converter options //converter.Options.PdfPageSize = pageSize; //converter.Options.PdfPageOrientation = pdfOrientation; //converter.Options.WebPageWidth = webPageWidth; //converter.Options.WebPageHeight = webPageHeight; // create a new pdf document converting an url SelectPdf.PdfDocument pdfDoc = converter.ConvertHtmlString(strHtml, basePath + "BarcodePdfs\\"); // save pdf document pdfDoc.Save(barcodeGeneratePath + ".pdf"); // close pdf document pdfDoc.Close(); doc.LoadFromFile(barcodeGeneratePath + ".pdf"); doc.PrintDocument.Print(); }