【发布时间】:2012-07-11 23:03:12
【问题描述】:
是否可以使用 iTextSharp 动态生成 pdf 并通过 Json 调用在新窗口中查看?
【问题讨论】:
是否可以使用 iTextSharp 动态生成 pdf 并通过 Json 调用在新窗口中查看?
【问题讨论】:
除非 JSON 请求要进行一些检查或测试,否则使用 Json 执行此操作没有任何优势。我建议创建一个特殊的 HttpHandler,它在收到请求后生成 PDF 并将其返回给浏览器。这样您就可以拥有一个超链接,该超链接将打开一个新窗口并在其中显示 pdf:
<a href="link to the handler" target="_blank">Open PDF</a>
【讨论】:
为什么要使用 Json?我认为有一个最简单的方法。例如:
<%= Html.ActionLink("View pdf","GeneratePdf","YourController" new{}, new{target="_blank"}) %>
在你的控制器中
public ActionResult GeneratePdf()
{
Document pdfDocument = new Document();
MemoryStream stream = new MemoryStream();
PdfWriter.GetInstance(pdfDocument,stream);
//add some code to generate your pdf content
pdfDocument.Close();
return new FileResult(stream,"application/pdf");
}
【讨论】: