【问题标题】:AspNet Core Razor View with PuppeteerSharp使用 PuppeteerSharp 的 AspNet Core Razor 视图
【发布时间】:2019-04-05 11:42:00
【问题描述】:

我们可以将 PuppeteerSharp 与 Razor View 一起使用吗?我想从 AspNetCore 应用程序中的 Razor View 发送 HTML 并以 PDF 格式获取输出。任何参考资料或代码示例都会有所帮助

【问题讨论】:

    标签: asp.net-core razor-pages puppeteer-sharp


    【解决方案1】:

    您可以使用SetContentAsync 注入HTML,然后调用PdfAsync

    await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);
    using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions
    {
        Headless = false,
    }))
    using (var page = await browser.NewPageAsync())
    {
        await page.SetContentAsync("Hello World");
        await page.PdfAsync("test.pdf");
    }
    

    【讨论】:

    • 谢谢..如果页面引用了外部 JS 或 CSS 文件,我该如何加载它们或告诉 Puppeteer 加载它们。
    • 是的,但您必须确保浏览器可以访问该资源。不能是相对网址。
    【解决方案2】:

    根据github可以生成这样的PDF文件

    await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);
    var browser = await Puppeteer.LaunchAsync(new LaunchOptions
    {
        Headless = false
    });
    var page = await browser.NewPageAsync();
    await page.GoToAsync("http://localhost/your/page");
    Stream pdfStream = await page.PdfStreamAsync();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-27
      • 1970-01-01
      • 1970-01-01
      • 2018-02-24
      • 2021-07-01
      • 2021-08-01
      • 2016-12-01
      • 2019-05-05
      相关资源
      最近更新 更多