示例#1
0
        public async Task ExportPdfFromEngineAsync()
        {
            // factory return context
            using (var reportContext = CreateReportContext())
            {
                var             html2PdfRepository = new DinkToPdfRepository();
                IHtmlRenderTask viewEngine         = new FluidRenderTask(reportContext);
                IHtmlRenderTask preMailerEngine    = new HtmlJsCssCleanupEngine(OutPutDirectory, reportContext);
                var             model    = new { Name = "Con bướm xinh", Job = 100 };
                var             htmlBody = await File.ReadAllTextAsync($"Views\\index.html");

                var body = await viewEngine.RenderAsync(model, htmlBody);

                body = await preMailerEngine.RenderAsync(model, body);

                File.WriteAllBytes("tententen.html", Encoding.UTF8.GetBytes(body));
                File.WriteAllBytes("tententen.pdf", html2PdfRepository.ExportFromHtml(body));
                Assert.True(true);
            }
        }
示例#2
0
        private async Task ExportPdf(string pdfFileName = "ExportHtmlAsync.pdf", string htmlFileName = "htmls\\basic.html")
        {
            // factory return context
            using (var reportContext = CreateReportContext())
            {
                var             html2Pdf        = new DinkToPdfRepository();
                IHtmlRenderTask viewEngine      = new FluidRenderTask(reportContext);
                IHtmlRenderTask preMailerEngine = new HtmlJsCssCleanupEngine(OutPutDirectory, reportContext);

                var chromiumEngineRepositoty = new ChromiumRepositoty(reportContext);
                var model = new { Name = "Con bướm xinh", Job = 100 };


                var htmlBody = await File.ReadAllTextAsync(htmlFileName);

                var body = await viewEngine.RenderAsync(model, htmlBody);

                body = await preMailerEngine.RenderAsync(model, body);

                File.WriteAllBytes(pdfFileName, chromiumEngineRepositoty.ExportFromHtml(body));
            }
        }