我正在使用 C# 编写一个 Web 服务NReco.PdfConverter
,wkhtml
它将网页转换为 PDF 文件。
网页(在 SharePoint 上)需要授权,并且还包含用户需要填写的表单,因此 Web 服务不能简单地访问该页面的 URL 并下载它。
JavaScript 和 CSS 文件对于正确呈现表单也很重要,包括来自 SharePoint 的数十个 JS 文件和样式表。
到目前为止,我最好的想法是:
当用户单击“生成 PDF”时,JavaScript 会将整个当前页面转换为单个字符串(内联附加 CSS 文件和 JS 文件);
POST
该字符串使用$.ajax()
.使用
NReco.PdfConverter
,将该字符串转换为 PDF 并将其保存到文件中很简单:var converter = new HtmlToPdfConverter { Margins = new PageMargins { Top = 0, Bottom = 0, Left = 0, Right = 0 }, CustomWkHtmlArgs = "--print-media-type" }; converter.GeneratePdf(htmlContent);
在浏览器中如何实现生成单页 HTML(包括复选框的状态、表单内的文本等)的想法?
这是非常复杂的事情吗?有人知道另一种解决方案吗?