public async Task <byte[]> DecesionCreatePDFAsyncForFood(FoodcourtCheck pdfData) { IPDFSettings pdfSettings = new PDFSettings() { Title = string.Format("Check") }; IPDFCreator creator = new PDFCreator(new FoodCheck(pdfData, pdfSettings)); return(await Task.Run(() => creator.GetPDFBytes())); }
public static void Start(string fileName) { var pdfFile = Path.Combine(Environment.CurrentDirectory, fileName); ProjectDir = Directory.GetCurrentDirectory(); OperationJsonFile = Path.Combine(ProjectDir, "Content", "operations_log.json"); OperationJsonContent = File.ReadAllText(OperationJsonFile); IEnumerable <Operation> OperationData = JsonConvert.DeserializeObject <List <Operation> >(OperationJsonContent); int _id = 1; DateTime?maxDate = DateTime.ParseExact("1/1/1970", "d/M/yyyy", null); DateTime?minDate = DateTime.ParseExact("1/1/3000", "d/M/yyyy", null); bool flag_25_done = false; bool flag_50_done = false; bool flag_75_done = false; foreach (Operation item in OperationData) { item.Code = _id.ToString(); _id++; if ((item.Received != null) && (item.Received < minDate)) { minDate = item.Received; } if ((item.Sent != null) && (item.Sent < minDate)) { minDate = item.Sent; } if ((item.Received != null) && (item.Received > maxDate)) { maxDate = item.Received; } if ((item.Sent != null) && (item.Sent > maxDate)) { maxDate = item.Sent; } } var options = new PDFSettings { Padding = new Box(20, 40, 30, 0), PaperSize = PaperSize.A4, Orientation = PageOrientation.Landscape, HeaderLineStyle = Stroke.Solid, HeaderOdd = "Operations Log Book Printout", HeaderEven = "Operations Log Book Printout", PageChanged = args => { var pageNumber = args.PageNumber; }, RowLayout = args => { if ((!flag_25_done) && (args.Row.Index / (_id - 1)) >= 0.25) { flag_25_done = true; Console.WriteLine("25% done"); } if ((!flag_50_done) && (args.Row.Index / (_id - 1)) >= 0.5) { flag_50_done = true; Console.WriteLine("50% done"); } if ((!flag_75_done) && (args.Row.Index / (_id - 1)) >= 0.75) { flag_75_done = true; Console.WriteLine("75% done"); } }, BookName = "Operations Log Book", DateOfPrint = DateTime.Now, DateRangeStart = minDate, DateRangeEnd = maxDate, NumberOfRecords = _id - 1, DateFormat = "MM/dd/yyyy", DiscardedLineStyle = Stroke.Solid, DiscardedLineDrawMode = LinethroughMode.TextOnly, DiscardedLineColor = Color.Black, StartingPage = 1, DisplayDateRange = true }; using (IStreamCoordinator coordinator = new LogBookCoordinator(pdfFile, options, startingPage: 0)) { if (File.Exists(pdfFile)) { File.Delete(pdfFile); } coordinator.Input(OperationData); Console.WriteLine("Generating file " + pdfFile); Console.WriteLine(""); } }
public PDFSettingsBuilder(PDFSettings pdf) { this.pdf = pdf; }