2012-03-02 90 views

回答

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(); 
    } 
} 
[Asp.Net MVC的
+0

非常感谢Darin的支持。这段代码太容易理解和实现。 – 2012-03-02 08:40:56

+0

嗨达林能否请你告诉我如何在PDF文件中显示特定班级学生的信息,就像报告一样。 – 2012-03-02 09:03:51

+0

@SonamMohite,这将取决于你想如何格式化数据。我建议你这次开始一个特定于iTextSharp的新问题,在这个问题中,您将呈现并解释报告的外观如何,您有哪些数据源作为输入,当然还有所需的输出。 – 2012-03-02 11:06:43

相关问题