private void txtQRScan_KeyUp(object sender, KeyEventArgs e) { if (e.KeyValue == (char)Keys.Return) { e.Handled = true; PDFcreator pDFcreator = new PDFcreator(); this.txtQRScan.LostFocus += new System.EventHandler(this.returnFocus); pDFcreator.CreatePDF6x4(new BarcodeReading() { Barcode = "", Floor = "", Job = "", Tag = "" }, "#000000"); pdfViewer.setShowToolbar(false); pdfViewer.setShowScrollbars(true); pdfViewer.LoadFile(@"..\..\Labels\label.pdf"); try { BarcodeReading barcodeReading = controller.RegisterBarcodeScan(txtQRScan.Text); pDFcreator.CreatePDF6x4(barcodeReading, controller.getJobColor(barcodeReading.Job)); pdfViewer.LoadFile(string.Format(@"..\..\Labels\{0}.pdf", barcodeReading.Barcode)); backgroundQueue.QueueTask(() => Print(barcodeReading.Barcode, barcodeReading.Line)); } catch (Exception ex) { controller.Log("Printing failed.", ex); pdfViewer.LoadFile("none"); } //pdfViewer.printAll(); txtQRScan.Clear(); } }
private void txtQRScan_KeyUp(object sender, KeyEventArgs e) { if (e.KeyValue == (char)Keys.Return && txtQRScan.Text.Trim().Length > 0) { try { e.Handled = true; PDFcreator pDFcreator = new PDFcreator(); this.txtQRScan.LostFocus += new System.EventHandler(this.returnFocus); pdfViewer.LoadFile("none"); int line = Convert.ToInt32(txtQRScan.Text.Trim().Substring(1, 1)); if (line > 3) { throw new Exception("Line not registered"); } if (!(lastScanings[line] != null && DateTime.Now < ((DateTime)lastScanings[line]).AddSeconds(WaitingTime))) { if (txtQRScan.Text.Contains("ScanToPrintTestLabel")) { lastScanings[line] = DateTime.Now; int printer = controller.GetTargetPrinter(line); BarcodeReading barcodeTest = GenerateTestBarcode(printer); if (printer == line) { pDFcreator.CreatePDF6x4(GenerateTestBarcode(line), "#dedede"); } else { pDFcreator.CreatePDF6x4FromAnotherLine(GenerateTestBarcode(line), "#dedede"); } pdfViewer.LoadFile(string.Format(@"..\..\Labels\{0}.pdf", barcodeTest.Barcode)); backgroundQueue.QueueTask(() => Print(barcodeTest.Barcode, printer)); } else { BarcodeReading barcodeReading = controller.RegisterBarcodeScan(txtQRScan.Text); if (barcodeReading != null) { lastScanings[barcodeReading.Line] = DateTime.Now; } int printer = controller.GetTargetPrinter(barcodeReading.Line); if (printer == barcodeReading.Line) { pDFcreator.CreatePDF6x4(barcodeReading, controller.GetJobColor(barcodeReading.Job)); } else { pDFcreator.CreatePDF6x4FromAnotherLine(barcodeReading, controller.GetJobColor(barcodeReading.Job)); } pdfViewer.LoadFile(string.Format(@"..\..\Labels\{0}.pdf", barcodeReading.Barcode)); backgroundQueue.QueueTask(() => Print(barcodeReading.Barcode, printer)); } } } catch (Exception ex) { controller.Log("Printing failed.", ex); pdfViewer.LoadFile("none"); } txtQRScan.Clear(); } }
public void CreatePDF8x6(BarcodeReading barcodeReading, string color) { PdfWriter writer = new PdfWriter(string.Format(@"..\..\Labels\{0}.pdf", barcodeReading.Barcode)); PdfDocument pdf = new PdfDocument(writer); pdf.SetDefaultPageSize(new iText.Kernel.Geom.PageSize(new iText.Kernel.Geom.Rectangle(768, 384))); Document document = new Document(pdf); document.SetMargins(0, 0, 0, 0); QRCodeGenerator qr = new QRCodeGenerator(); QRCodeData data = qr.CreateQrCode(barcodeReading.Barcode, QRCodeGenerator.ECCLevel.Q); QRCode code = new QRCode(data); Image logo = new Image(ImageDataFactory .Create(@"..\..\Images\full-logo.png")) .SetTextAlignment(TextAlignment.CENTER); Image imgQR = new Image(ImageDataFactory .Create((System.Drawing.Image)code.GetGraphic(5, System.Drawing.Color.Black, System.Drawing.Color.White, false), null)) .SetTextAlignment(TextAlignment.CENTER).SetWidth(new UnitValue(UnitValue.PERCENT, 83)); UnitValue[] columnWidths = new UnitValue[] { new UnitValue(UnitValue.PERCENT, 14), new UnitValue(UnitValue.PERCENT, 18), new UnitValue(UnitValue.PERCENT, float.Parse((20.4).ToString())), new UnitValue(UnitValue.PERCENT, 18), new UnitValue(UnitValue.PERCENT, 18), new UnitValue(UnitValue.PERCENT, 14), }; Table table = new Table(columnWidths); table.SetFixedLayout(); table.SetWidth(new UnitValue(UnitValue.PERCENT, 100)); table.SetBorder(Border.NO_BORDER); Cell cellQRTL = new Cell(2, 1).SetBorder(Border.NO_BORDER); cellQRTL.Add(imgQR); Cell cellLogo = new Cell(1, 4).SetBorder(Border.NO_BORDER); cellLogo.Add(logo.SetHeight(50).SetMarginLeft(175).SetMarginTop(10).SetMarginBottom(10)); Cell cellQRTR = new Cell(2, 1).SetBorder(Border.NO_BORDER); cellQRTR.Add(imgQR); Table centralContent = new Table(new UnitValue[] { new UnitValue(UnitValue.PERCENT, 23), new UnitValue(UnitValue.PERCENT, 23), new UnitValue(UnitValue.PERCENT, 6), new UnitValue(UnitValue.PERCENT, 24), new UnitValue(UnitValue.PERCENT, 19), new UnitValue(UnitValue.PERCENT, 5) }); centralContent.SetWidth(new UnitValue(UnitValue.PERCENT, 100)); centralContent.SetBorder(Border.NO_BORDER).SetAutoLayout(); //centralContent.AddCell(new Cell(3, 1).SetBorder(Border.NO_BORDER).SetMargin(0).SetPadding(0)); Paragraph pJob = new Paragraph("JOB\n").SetTextAlignment(TextAlignment.LEFT); pJob.Add(new Paragraph(barcodeReading.Job) .SetFontSize(36) .SetStrokeWidth(1f) .SetStrokeColor(DeviceGray.BLACK) .SetBorder(new SolidBorder(1)) .SetPaddingLeft(15) .SetPaddingRight(15) .SetPaddingTop(5) .SetPaddingBottom(5) .SetWidth(new UnitValue(UnitValue.PERCENT, 80)) .SetTextAlignment(TextAlignment.CENTER) ); Cell jobCell = new Cell(3, 2).SetBorder(Border.NO_BORDER); jobCell.Add(pJob); centralContent.AddCell(jobCell); centralContent.AddCell(new Cell(3, 1).SetBorder(Border.NO_BORDER)); Paragraph pFloor = new Paragraph("FLOOR\n").SetBorder(Border.NO_BORDER).SetMarginLeft(0).SetPaddingLeft(0); pFloor.Add(new Paragraph(barcodeReading.Floor) .SetFontSize(36) .SetStrokeWidth(.9f) .SetStrokeColor(DeviceGray.BLACK) .SetBorder(new SolidBorder(1)) .SetPaddingLeft(15) .SetPaddingRight(15) .SetPaddingTop(5) .SetPaddingBottom(5) .SetWidth(new UnitValue(UnitValue.PERCENT, 100)) .SetTextAlignment(TextAlignment.CENTER) ); Cell floorCell = new Cell(3, 4).SetBorder(Border.NO_BORDER); floorCell.Add(pFloor); centralContent.AddCell(floorCell); Paragraph pTag = new Paragraph("TAG\n").SetBorder(Border.NO_BORDER); pTag.Add(new Paragraph(barcodeReading.Tag) .SetFontSize(45) .SetStrokeWidth(.9f) .SetStrokeColor(DeviceGray.BLACK) .SetBorder(new SolidBorder(1)) .SetPaddingLeft(15) .SetPaddingRight(15) .SetPaddingTop(5) .SetPaddingBottom(5) .SetWidth(new UnitValue(UnitValue.PERCENT, 100)) .SetTextAlignment(TextAlignment.CENTER) ); Cell tagCell = new Cell(3, 6).SetBorder(Border.NO_BORDER); tagCell.Add(pTag); centralContent.AddCell(tagCell); Cell cellCentralContent = new Cell(2, 4).SetBorder(Border.NO_BORDER); cellCentralContent.Add(centralContent); table.AddCell(cellQRTL); table.AddCell(cellLogo); table.AddCell(cellQRTR); //table.AddCell(new Cell(2, 1).SetBorder(Border.NO_BORDER).SetBackgroundColor(GetRgb(color))); table.AddCell(cellCentralContent); Table leftColor = new Table(new UnitValue[] { new UnitValue(UnitValue.PERCENT, 60), new UnitValue(UnitValue.PERCENT, 40) }); leftColor.SetWidth(new UnitValue(UnitValue.PERCENT, 100)); leftColor.SetBorder(Border.NO_BORDER); leftColor.SetMarginTop(25); leftColor.SetMarginBottom(25); leftColor.SetHeight(new UnitValue(UnitValue.POINT, 150)); Paragraph pleftColor = new Paragraph(); leftColor.AddCell(new Cell(5, 1).Add(pleftColor).SetBorder(Border.NO_BORDER).SetBackgroundColor(GetRgb(color))); Cell cellLeftColor = new Cell(1, 1).SetBorder(Border.NO_BORDER); cellLeftColor.Add(leftColor); table.AddCell(cellLeftColor); Table rightColor = new Table(new UnitValue[] { new UnitValue(UnitValue.PERCENT, 40), new UnitValue(UnitValue.PERCENT, 60) }); rightColor.SetWidth(new UnitValue(UnitValue.POINT, 106)); rightColor.SetBorder(Border.NO_BORDER); rightColor.SetMarginTop(25); rightColor.SetMarginLeft(36); rightColor.SetMarginBottom(25); rightColor.SetHeight(new UnitValue(UnitValue.POINT, 150)); Paragraph prightColor = new Paragraph(); rightColor.AddCell(new Cell(5, 1).Add(prightColor).SetBorder(Border.NO_BORDER).SetBackgroundColor(GetRgb(color))); Cell cellRightColor = new Cell(1, 1).SetBorder(Border.NO_BORDER); cellRightColor.Add(rightColor); table.AddCell(cellRightColor); Cell cellQRTL2 = new Cell(2, 1).SetBorder(Border.NO_BORDER); cellQRTL2.Add(imgQR); Table tableBottom = new Table(new UnitValue[] { new UnitValue(UnitValue.PERCENT, 5), new UnitValue(UnitValue.PERCENT, 19), new UnitValue(UnitValue.PERCENT, 19), new UnitValue(UnitValue.PERCENT, 19), new UnitValue(UnitValue.PERCENT, 19), new UnitValue(UnitValue.PERCENT, 19) }); tableBottom.SetWidth(new UnitValue(UnitValue.PERCENT, 90)).SetTextAlignment(TextAlignment.CENTER); tableBottom.SetMarginLeft(30); tableBottom.SetBorder(Border.NO_BORDER); Paragraph pDate = new Paragraph("DATE:").SetTextAlignment(TextAlignment.LEFT).SetFontSize(14); Paragraph pDateTimeInfo = new Paragraph(barcodeReading.ScanDate.ToString("MMM-dd-yyyy hh:mm tt").ToUpper()).SetTextAlignment(TextAlignment.LEFT).SetFontSize(14); Paragraph pLine = new Paragraph(string.Format("L{0}", barcodeReading.Line.ToString())).SetTextAlignment(TextAlignment.LEFT).SetFontSize(18); tableBottom.AddCell(new Cell(1, 2).Add(pDate).SetBorder(Border.NO_BORDER)); tableBottom.AddCell(new Cell(1, 3).Add(pDateTimeInfo).SetBorder(Border.NO_BORDER)); tableBottom.AddCell(new Cell(1, 1).Add(pLine).SetBorder(Border.NO_BORDER)); tableBottom.AddCell(new Cell(1, 6).Add(new Paragraph()).SetBorder(Border.NO_BORDER).SetTextAlignment(TextAlignment.CENTER).SetMarginLeft(10).SetWidth(new UnitValue(UnitValue.PERCENT, 100)).SetBackgroundColor(GetRgb(color)).SetHeight(new UnitValue(UnitValue.POINT, 35))); Cell cellQRTR2 = new Cell(2, 1).SetBorder(Border.NO_BORDER); cellQRTR2.Add(imgQR); table.AddCell(cellQRTL2); table.AddCell(new Cell(1, 4).Add(tableBottom).SetBorder(Border.NO_BORDER)); table.AddCell(cellQRTR2); document.Add(table); document.Close(); }