This commit is contained in:
2020-08-24 19:38:52 +00:00
parent 70fb429fd1
commit b823b76629

View File

@@ -104,26 +104,32 @@ namespace AyaNova.Api.Controllers
}"; }";
//sample template //sample template
var templateHtml = "<div>{{#with person}}{{firstname}} {{lastname}}{{/with}}</div>"; var templateHtml = "'<div>{{#with person}}{{firstname}} {{lastname}}{{/with}}</div>'";
//data object //data object
var jsonData = "{person: {firstname: \"Yehuda\",lastname: \"Katz\",}}"; var jsonData = "{person: {firstname: \"Yehuda\",lastname: \"Katz\",}}";
var dat="{ person: { firstname: 'Yehuda', lastname: 'Katz' } }";
using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true })) using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true }))
using (var page = await browser.NewPageAsync()) using (var page = await browser.NewPageAsync())
{ {
//Add handlebars JS for compiling and presenting //Add handlebars JS for compiling and presenting
await page.AddScriptTagAsync(new AddTagOptions() { Path = hbspath}); await page.AddScriptTagAsync(new AddTagOptions() { Path = hbspath });
await page.AddStyleTagAsync(new AddTagOptions { Content = templateCSS }); //script
await page.SetContentAsync(templateHtml); //var theScript = $"let fun=Handlebars.compile({templateHtml});fun({dat})";
var theScript = $"let fun=Handlebars.compile({templateHtml});fun({dat});";
//compile into function //COMPILE into function
//get result by running hb function against data var f3 = await page.EvaluateExpressionAsync<string>(theScript);
//get result by running hb function against data
// string html = await page.EvaluateExpressionAsync<string>(sfunc);
//open page with result //open page with result
// await page.AddStyleTagAsync(new AddTagOptions { Content = templateCSS });
// await page.SetContentAsync(templateHtml);
//pdf-ize and return //pdf-ize and return
var pdfBuffer = await page.PdfDataAsync(); var pdfBuffer = await page.PdfDataAsync();