Ejemplo n.º 1
0
        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)));
                }
        }
Ejemplo n.º 2
0
        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
     });
 }