如何在mvc 3中生成详细信息视图的pdf

时间:2012-03-02 05:20:50

标签: asp.net-mvc-3

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

1 个答案:

答案 0 :(得分:2)

为了生成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();
    }
}