Dav*_*och 37 c# asp.net pdf-generation wkhtmltopdf
10个小时后,尝试4个其他HTML到PDF工具,我准备爆炸了.
wkhtmltopdf听起来像是一个很好的解决方案......问题是我无法从asp.net执行具有足够权限的进程所以......
Process.Start("wkhtmltopdf.exe","http://www.google.com google.pdf");
开始但没有做任何事情.
是否有一种简单的方法:
-a)允许asp.net启动进程(实际上可以做某事)或
-b)编译/包装/无论wkhtmltopdf.exe到我可以在C#中使用的东西,如下所示:WkHtmlToPdf.Save("http://www.google.com", "google.pdf");
小智 23
我刚开始一个新项目,在wkhtmltopdf周围提供一个C#P/Invoke包装器.
您可以在以下网址查看我的代码:https://github.com/pruiz/WkHtmlToXSharp
映入眼帘.
Bol*_*der 16
感谢Paul,我找到了Codaxy编写的好包装器,也可以通过NuGet轻松下载.
经过几次试验,我已经管理了这个MVC动作,立即创建并将PDF文件作为流返回:
public ActionResult Pdf(string url, string filename)
{
    MemoryStream memory = new MemoryStream();
    PdfDocument document = new PdfDocument() { Url = url };
    PdfOutput output = new PdfOutput() { OutputStream = memory };
    PdfConvert.ConvertHtmlToPdf(document, output);
    memory.Position = 0;
    return File(memory, "application/pdf", Server.UrlEncode(filename));
}
这里,Pdf*类已经在包装器中实现,带有一个漂亮,干净的代码,遗憾的是缺少文档.
在转换器中,URL将转换为PDF,存储在临时文件中,复制到我们作为参数提供的流中,然后删除PDF文件.
最后,我们必须将流推送为FileStreamResult.
不要忘记将输出流的位置设置为零,否则您将看到PDF文件被下载为零字节大小.
| 归档时间: | 
 | 
| 查看次数: | 69983 次 | 
| 最近记录: |