public static void PrintRecipts(ReceiptHeader header, ReceiptFooter footer, ReceiptItemTotal itemTotals, ReceiptDetails details, List <ReceiptItemDetails> itemDetail) { //Exporting to PDF //string folderPath = "c:\\pdf\\"; //if ( !Directory.Exists (folderPath) ) //{ // Directory.CreateDirectory (folderPath); //} using (FileStream stream = new FileStream(/*Application.CommonAppDataPath +*/ "\\reciptsPrint.pdf", FileMode.Create)) { // System.Console.WriteLine(Application.CommonAppDataPath); Document pdfDoc = new Document(new Rectangle(225, 5000), 10f, 10f, 10f, 0f); PdfWriter.GetInstance(pdfDoc, stream); pdfDoc.Open(); //Header Paragraph p = new Paragraph(header.StoreName + "\n") { Alignment = PdfAppearance.ALIGN_CENTER }; p.Add(header.StoreAddress + "\n"); p.Add(header.StoreCity + "\n"); p.Add(header.StorePhoneNo + "\n"); p.Add(header.StoreGST + "\n"); p.Add(PrintLine.DotedLine); p.Add(header.InvoiceTitle + "\n"); p.Add(PrintLine.DotedLine); pdfDoc.Add(p); //Details Paragraph dP = new Paragraph { //dP.Alignment = PdfAppearance.ALIGN_CENTER; details.Employee + "\n", details.BillNo + "\n", details.BillDate + "\n", details.BillTime + "\n", details.CustomerName + "\n", PrintLine.DotedLine, details.ItemLine1 + "\n", details.ItemLine2 + "\n", details.ItemLine3 + "\n", PrintLine.DotedLine, "\n" }; pdfDoc.Add(dP); //ItemDetails Paragraph ip = new Paragraph(); // ip.Alignment = PdfAppearance.ALIGN_CENTER; double gstPrice = 0.00; double basicPrice = 0.00; string tab = " "; foreach (ReceiptItemDetails itemDetails in itemDetail) { if (itemDetails != null) { ip.Add(itemDetails.SKU_Description + "\n"); ip.Add(itemDetails.HSN + tab + tab + itemDetails.MRP + tab + tab); ip.Add(itemDetails.QTY + tab + tab + itemDetails.Discount + "\n"); ip.Add(itemDetails.GSTPercentage + "%" + tab + tab + itemDetails.GSTAmount + tab + tab); ip.Add(itemDetails.GSTPercentage + "%" + tab + tab + itemDetails.GSTAmount + "\n"); gstPrice += Double.Parse(itemDetails.GSTAmount); basicPrice += Double.Parse(itemDetails.BasicPrice); } } ip.Add("\n" + PrintLine.DotedLine); ip.Add("Total: " + itemTotals.TotalItem + tab + tab + tab + itemTotals.NetAmount + "\n"); ip.Add("item(s): " + itemTotals.ItemCount + tab + "Net Amount:" + tab + itemTotals.NetAmount + "\n"); ip.Add(PrintLine.DotedLine); ip.Add("Tender\n Paid Amount:\t\t Rs. " + itemTotals.CashAmount); ip.Add("\n" + PrintLine.DotedLine); ip.Add("Basic Price:\t\t" + basicPrice); ip.Add("\nCGST:\t\t" + gstPrice); ip.Add("\nSGST:\t\t" + gstPrice + "\n"); //ip.Add (PrintLine.DotedLine); pdfDoc.Add(ip); //Footer Paragraph foot = new Paragraph(PrintLine.DotedLine) { Alignment = PdfAppearance.ALIGN_CENTER }; foot.Add(footer.FirstMessage + "\n"); foot.Add(PrintLine.DotedLine); foot.Add(footer.ThanksMessage + "\n"); foot.Add(footer.LastMessage + "\n"); foot.Add(PrintLine.DotedLine); foot.Add("\n");// Just to Check; pdfDoc.Add(foot); pdfDoc.NewPage(); pdfDoc.Close(); stream.Close(); // Create an instance of the Printer IPrinter printer = new Printer(); // Print the file //TODO: enebale it printer.PrintRawFile(ViewModel.UtilOps.PrinterName, Application.CommonAppDataPath + "\\reciptsPrint.pdf"); } }
public static void PrintRecipts(ReceiptHeader header, ReceiptFooter footer, ReceiptItemTotal itemTotals, ReceiptDetails details, ReceiptItemDetails itemDetails) { //Exporting to PDF string folderPath = "D:\\pdf\\"; if (!Directory.Exists(folderPath)) { Directory.CreateDirectory(folderPath); } using (FileStream stream = new FileStream(/*Application.CommonAppDataPath + */ "\\reciptsPrint.pdf", FileMode.Create)) { Document pdfDoc = new Document(PageSize.A6, 10f, 10f, 10f, 0f); PdfWriter.GetInstance(pdfDoc, stream); pdfDoc.Open(); //Header Paragraph p = new Paragraph(header.StoreName) { Alignment = PdfAppearance.ALIGN_CENTER }; p.Add(header.StoreAddress + "\n"); p.Add(header.StoreCity + "\n"); p.Add(header.StorePhoneNo + "\n"); p.Add(header.StoreGST + "\n"); p.Add(PrintLine.DotedLine); p.Add(header.InvoiceTitle + "\n"); p.Add(PrintLine.DotedLine); pdfDoc.Add(p); //Details Paragraph dP = new Paragraph { details.Employee + "\n", details.BillNo + "\n", details.BillDate + "\n", details.BillTime + "\n", details.CustomerName + "\n", PrintLine.DotedLine, details.ItemLine1 + "\n", details.ItemLine2 + "\n", details.ItemLine3 + "\n", PrintLine.DotedLine, "\n" }; pdfDoc.Add(dP); //ItemDetails //TODO: Need to iterate for Each Item Paragraph ip = new Paragraph { itemDetails.SKU_Description + "\n", itemDetails.HSN + "\t" + itemDetails.MRP + "\t", itemDetails.QTY + "\t" + itemDetails.Discount + "\n", itemDetails.GSTPercentage + "\t" + itemDetails.GSTAmount + "\t", itemDetails.GSTPercentage + "\t" + itemDetails.GSTAmount + "\n", PrintLine.DotedLine, "Total: " + itemTotals.TotalItem + "\t\t\t" + itemTotals.NetAmount + "\n", "item(s): " + itemTotals.ItemCount + "\tNet Amount:\t" + itemTotals.NetAmount + "\n", PrintLine.DotedLine, "Tender\n Cash Amount:\t\t Rs. " + itemTotals.CashAmount, PrintLine.DotedLine }; double gstPrice = 0.00; //TODO: Add Item Price ip.Add("Basic Price:\t\t" + itemDetails.BasicPrice); ip.Add("CGST:\t\t" + gstPrice); ip.Add("SGST:\t\t" + gstPrice); ip.Add(PrintLine.DotedLine); pdfDoc.Add(ip); //Footer Paragraph foot = new Paragraph(PrintLine.DotedLine) { footer.FirstMessage, PrintLine.DotedLine, footer.ThanksMessage, footer.LastMessage, PrintLine.DotedLine, "\n"// Just to Check; }; pdfDoc.Add(foot); pdfDoc.Close(); stream.Close(); string PrinterName = "Microsoft Print to PDF"; // Create an instance of the Printer IPrinter printer = new Printer(); // Print the file printer.PrintRawFile(PrinterName, /*Application.CommonAppDataPath +*/ "\\reciptsPrint.pdf"); // printer.PrintRawFile() } }