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); } }
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)); } }