Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
        }