2013-02-05 67 views
1

今天我收到了一个任务,从视图生成pdf ......因为我是初学者编程...有人会帮助我完成这项任务..通过一些技巧..在哪里开始研究。 Pos'm很难完成这项任务。 我想在这个环节 http://www.codeproject.com/Articles/260470/PDF-reporting-using-ASP-NET-MVC3 使用一个例子,但它总是抛出代码从视图生成pdf Mvc 3

public byte[] Render(string htmlText, string pageTitle) 
{ 
    byte[] renderedBuffer; 

    using (var outputMemoryStream = new MemoryStream()) 
    { 
     using (var pdfDocument = new Document(PageSize.A4, HorizontalMargin, HorizontalMargin, VerticalMargin, VerticalMargin)) 
     { 
      PdfWriter pdfWriter = PdfWriter.GetInstance(pdfDocument, outputMemoryStream); 
      pdfWriter.CloseStream = false; 
      pdfWriter.PageEvent = new PrintHeaderFooter { Title = pageTitle }; 
      pdfDocument.Open(); 
      using (var htmlViewReader = new StringReader(htmlText)) 
      { 
       using (var htmlWorker = new HTMLWorker(pdfDocument)) 
       { 
        htmlWorker.Parse(htmlViewReader);// erro here 
       } 
      } 
     } 

     renderedBuffer = new byte[outputMemoryStream.Position]; 
     outputMemoryStream.Position = 0; 
     outputMemoryStream.Read(renderedBuffer, 0, renderedBuffer.Length); 
    } 

    return renderedBuffer; 
} 
+1

该行的错误消息是什么?使用'Try-Catch'记录你的错误。 –

+0

会发生什么情况是未将对象引用的错误设置为对象的实例。 符合评论 –

+0

法比奥,请分享您的观点 –

回答

0

它不回答你的问题本身,这部分的错误,但我们大多采用NReco.PDF

代码

而且为例,从生成HTML内容PDF是:

var htmlContent = String.Format("<body>Hello world: {0}</body>", 
    DateTime.Now); 
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter(); 
var pdfBytes = htmlToPdf.GeneratePdf(htmlContent); 

因此,只有在这个例子中缺少的东西越来越你输出M个VC控制器为HTML。