【发布时间】:2010-11-22 09:57:33
【问题描述】:
我正在使用 ExpertPDF 的 Html-to-PDF 转换实用程序来解决这个问题(尽管如果有足够的文档,我可以向其他库开放)。
简而言之,我有一个以特定方式格式化的视图,我想将其呈现为用户可以保存到磁盘的 PDF 文档。
到目前为止,我有一个 PrintService(它实现了一个 IPrintService 接口),这个实现有两个 PrintToPDF() 的重载,一个只接受一个 URL,另一个接受一个 HTML 字符串,两者都返回一个字节[]。我只计算了需要 HTML 字符串的第二个重载的细节。
我想从我的控制器做的事情是这样的:
public FileStreamResult Print(int id)
{
var model = _CustomRepository.Get(id);
string renderedView = SomethingThatRendersMyViewAsAString(model);
Stream byteStream = _PrintService.PrintToPdf(renderedView);
HttpContext.Response.AddHeader("content-disposition",
"attachment; filename=report.pdf");
return new FileStreamResult(byteStream, "application/pdf");
}
理论上会将 PDF 呈现到页面上。这是我正在寻求帮助的“SomethingThatRendersMyViewAsAString”。有没有一种快速的方法来获取视图的字符串表示?或者也许我应该坚持使用 URL 重载并将 URL 传递给视图......还有其他想法吗?
谢谢!
【问题讨论】:
-
mannish - 你有没有在任何地方发布你的解决方案?这将非常有用。蒂亚
标签: c# .net asp.net-mvc pdf pdf-generation