public static async Task CreatePdfReport()

in Hands-on lab/lab-files/src/Contoso Sports League/Contoso.Apps.FunctionApp/PdfUtility.cs [22:54]


        public static async Task<byte[]> CreatePdfReport(OrderViewModel order, string fileName, ILogger log)
        {
            try
            {
                var doc = new HtmlToPdfDocument()
                {
                    GlobalSettings = {
                        ColorMode = ColorMode.Color,
                        Orientation = Orientation.Landscape,
                        PaperSize = PaperKind.A4Plus,
                    },
                                    Objects = {
                        new ObjectSettings() {
                            PagesCount = true,
                            HtmlContent = $"<div style='border:solid; border - width: thin; background - color:lightgrey'>Contoso Sport League - Purchase Receipt</div><br/>" +
                            $"<div style = 'text-align:right;font-weight:bold'>Order ID: {order.OrderId}</ div >" +
                            $"<div style = 'text-align:right;font-weight:bold'>Total: ${order.Total}</ div >" +
                            $"<div style = 'text-align:center;font-weight:bold'>Thank you for your order {order.FirstName}</ div >" ,
                            WebSettings = { DefaultEncoding = "utf-8" },
                            HeaderSettings = { FontSize = 9, Right = "Page [page] of [toPage]", Line = true, Spacing = 2.812 }
                        }
                    }
                };

                var converter = new SynchronizedConverter(new PdfTools());
                return await Task.FromResult(converter.Convert(doc));
            }
            catch (Exception ex)
            {
                log.LogError(ex, ex.Message);
                throw ex;
            }
        }