任何人都可以使用wkhtmltopdf自定义页眉和页脚与他们的ASP.NET MVC?我需要你的帮助。我看到wkhtmltopdf已更新并支持页眉和页脚的一些新functionality(自v0.10.0起)。我需要的是接近--header-html <url>
但不完全正确。
我需要将局部视图渲染为标题。 --header-html <url>
需要链接到html,然后是该html文件中的一些脚本。如何用部分视图替换它?由于我的部分视图没有直接链接,我似乎无法弄清楚我的选择是什么。我可以渲染局部视图并将html代码分配给字符串但是我将如何使用它?
感谢任何其他想法。
答案 0 :(得分:0)
有多种方法可以从局部视图捕获HTML(尝试搜索MVC响应捕获)。
然后将HTML写入磁盘上的临时位置,并将参数中的临时HTML文件的位置传递给wkhtmltopdf:
try {
...
var headerDocumentLocation = saveLocation + documentName + "-h.html"
using (var sw = new StreamWriter(new FileStream(headerDocumentLocation , FileMode.Create, FileAccess.Write))) {
sw.Write(headerHtml);
}
...
Process p = new Process();
p.StartInfo = new ProcessStartInfo {
Arguments = "--header-html " + headerDocumentLocation + <other args>,
FileName = <location of wkhtmltopdf>,
WindowStyle = ProcessWindowStyle.Hidden
};
p.Start();
p.WaitForExit();
...
} finally {
if (File.Exists(headerDocumentLocation)) {
File.Delete(headerDocumentLocation);
}
}
这对我来说非常有效。