c# - 如何使用 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 文件?
解决方案
我会考虑几个选择。
将输出打印到 PostScript 打印机。
然后拿 PostScript 说使用 GhostScript 输出 PDF。
可能会更好?使用 .net pdfSharp 库,然后使用一些代码基于该库呈现 HTML。
考虑一下:
https://www.nuget.org/packages/HtmlRenderer.PdfSharp/1.5.1-beta1
推荐阅读
- c# - 当在两个表中插入数据时,发送表 id 不是插入,但是当我插入数据时,第二个表 id 应该从第一个表中插入
- function - 如何从 odata 服务读取子父子的深度插入值?
- regex - 如何在换行符和同一行上解析和构造值?
- javascript - 如何在 W3 JS 中解析 JSON 对象
- postgresql - 来自 aws-rds 实例的 postgress 数据库转储
- ruby - Ruby:Chrome 浏览器未启动
- java - 从 Docker 容器中的 Ignite Client 连接到另一个 Docker 容器中的 Ignite Server 问题
- java - 如何在插入批量行时获取所有生成的 ID
- sql - 从表 A 插入表 B 有条件
- python - 仅检索第一个列表(JSON-Python)