2013-02-05 65 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。