public async Task <Stream> CreatePdfFromUrlAsync(string url, Configuration.PdfOptions pdfOptions) { using (var browser = await Puppeteer.ConnectAsync(GetConnectionOptions())) using (var page = await browser.NewPageAsync()) { await page.GoToAsync(url); return(await page.PdfStreamAsync(_converter.Convert(pdfOptions))); } }
public async Task <Stream> CreatePdfAsync(string html, Configuration.PdfOptions pdfOptions) { using (var browser = await Puppeteer.ConnectAsync(GetConnectionOptions())) using (var page = await browser.NewPageAsync()) { await Task.WhenAll(page.SetContentAsync(html), page.SetCacheEnabledAsync(false)); return(await page.PdfStreamAsync(_converter.Convert(pdfOptions))); } }
public PdfOptions Convert(Configuration.PdfOptions pdfOptions) { return(new PdfOptions { Scale = pdfOptions.Scale, DisplayHeaderFooter = pdfOptions.DisplayHeaderFooter, HeaderTemplate = pdfOptions.HeaderTemplate, FooterTemplate = pdfOptions.FooterTemplate, PrintBackground = pdfOptions.PrintBackground, Landscape = pdfOptions.Landscape, PageRanges = pdfOptions.PageRanges, Format = ConvertFormat(pdfOptions.Format), Width = pdfOptions.Width, Height = pdfOptions.Height, MarginOptions = new PuppeteerSharp.Media.MarginOptions { Top = pdfOptions.MarginOptions.Top, Bottom = pdfOptions.MarginOptions.Bottom, Left = pdfOptions.MarginOptions.Left, Right = pdfOptions.MarginOptions.Right }, PreferCSSPageSize = pdfOptions.PreferCSSPageSize }); }