【问题标题】:Generate and view the dynamically created pdf using iTextSharp in c# using MVC framework使用MVC框架在c#中使用iTextSharp生成并查看动态创建的pdf
【发布时间】:2012-07-11 23:03:12
【问题描述】:

是否可以使用 iTextSharp 动态生成 pdf 并通过 Json 调用在新窗口中查看?

【问题讨论】:

    标签: c# getjson


    【解决方案1】:

    除非 JSON 请求要进行一些检查或测试,否则使用 Json 执行此操作没有任何优势。我建议创建一个特殊的 HttpHandler,它在收到请求后生成 PDF 并将其返回给浏览器。这样您就可以拥有一个超链接,该超链接将打开一个新窗口并在其中显示 pdf:

    <a href="link to the handler" target="_blank">Open PDF</a>
    

    【讨论】:

      【解决方案2】:

      为什么要使用 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");
      }
      

      【讨论】:

      • 实际上大约有 25 个参数通过 json 调用传递给服务器。必须根据这些值生成报告。如果我选择操作链接,所有这些参数都将显示在 url 中。这是仪式吗?请建议..
      • 您可以使用 Html.BeginForm 代替 actionlink 并将您的参数作为隐藏输入传递。或者使用您的参数发出 jquery ajax 请求。
      • 发出 $.getJSON() 请求是否能够在新窗口中弹出 pdf?如果是的话,你能分享更多关于这个的信息吗..
      猜你喜欢
      • 1970-01-01
      • 2011-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      • 2015-07-10
      • 2023-03-07
      相关资源
      最近更新 更多