【问题标题】:How to Generate pdf of details view in mvc 3如何在 mvc 3 中生成详细信息视图的 pdf
【发布时间】:2012-03-02 05:20:50
【问题描述】:

我只想生成一个 pdf 文档,其中包含单击按钮时显示的详细信息。

【问题讨论】:

标签: asp.net-mvc-3


【解决方案1】:

为了生成 PDF 文件,您需要一些第三方库,因为此功能未内置在 .NET 框架中。 iTextSharp 很受欢迎。

例如,您可以编写自定义操作结果:

public class PdfResult : ActionResult
{
    public override void ExecuteResult(ControllerContext context)
    {
        var response = context.HttpContext.Response;
        response.ContentType = "application/pdf";
        var cd = new ContentDisposition
        {
            Inline = true,
            FileName = "test.pdf",
        };
        response.AddHeader("Content-Disposition", cd.ToString());

        using (var doc = new Document())
        using (var writer = PdfWriter.GetInstance(doc, response.OutputStream))
        {
            doc.Open();
            doc.Add(new Phrase("Hello World"));
        }
    }
}

然后让您的控制器操作返回此结果:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return new PdfResult();
    }
}

【讨论】:

  • 感谢达林的大力支持。这段代码太容易理解和实现了。
  • 嘿达林,你能告诉我如何在 PDF 文件中显示特定班级学生的信息,就像报告一样。
  • @SonamMohite,这将取决于您希望如何格式化数据。我建议您这次提出一个特定于 iTextSharp 的新问题,在该问题中您要准确说明报告的外观,您有哪些数据源作为输入,当然还有所需的输出。
  • 我输入了这段代码,如果我查看 fiddler,它似乎会返回数据。但是,它不会触发浏览器上的下载。如何让它做到这一点?
  • @jmogera,在 ContentDisposition 中设置 Inline = false
猜你喜欢
  • 2014-12-08
  • 1970-01-01
  • 2010-12-06
  • 2012-10-31
  • 1970-01-01
  • 2015-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多