首页 > 解决方案 > 如何使用 C# 有效地将 chrome 无头输出到内存?

问题描述

根据请求,我的 ASP.NET 服务器应使用 chrome 无头实例将 HTML 文件转换为 PDF 并返回生成的 PDF。

CMD 命令:

chrome --headless --disable-gpu --print-to-pdf-no-header --print-to-pdf="[pdf-file-path]" --no-margins "[html-file-path]"

PDF 文件处理起来并不简单。服务器需要从之前的请求中清理 PDF 文件,需要检测新 PDF 的创建时间,然后将文件读入内存。这一切都太慢了。

有没有更好的解决方案?我可以以某种方式将文件直接放入内存吗?或者更好地管理 PDF 文件?

标签: c#asp.netgoogle-chrome-headless

解决方案


我会考虑几个选择。

将输出打印到 PostScript 打印机。

然后拿 PostScript 说使用 GhostScript 输出 PDF。

可能会更好?使用 .net pdfSharp 库,然后使用一些代码基于该库呈现 HTML。

考虑一下:

https://www.nuget.org/packages/HtmlRenderer.PdfSharp/1.5.1-beta1


推荐阅读