2015-02-23 153 views
0

我想使用MVC 4.在導出試圖將HTML嵌入在PDF文檔中的錯誤時,導出PDF發生:導出爲PDF在MVC 4(嵌入HTML PDF格式)

  • 類型或命名空間名稱工具iTextSharp的‘

我已經加入iTextSharp.dll」不存在命名空間 存在’,但我不知道爲什麼我收到錯誤。請提前幫助我。下面

是我的方法:

public FileResult ExportData() 
    { 
     List<Tb_ModalListFileUpload> objlist = new List<Tb_ModalListFileUpload>(); 

     objlist = (from p in obj.Tb_ModalListFileUpload select p).ToList(); 

     WebGrid wd = new WebGrid(source: objlist, canPage: false, canSort: false); 

     string griddata = wd.GetHtml(
     columns: wd.Columns 
     (
     wd.Column(columnName: "SRNO", header: "SRNO"), 
     wd.Column(columnName: "ModelName", header: "Model Name"), 
     wd.Column(columnName: "ModelCC", header: "Model CC"), 

     wd.Column(columnName: "ModelRate", header: "Model Rate"), 
     wd.Column(columnName: "ModelRC", header: "Model RC"), 
     wd.Column(columnName: "IncWith0", header: "Inc With 0"), 
     wd.Column(columnName: "IncWith50", header: "Inc With 50"), 
     wd.Column(columnName: "Provisional", header: "Provisional"), 
     wd.Column(columnName: "NetPriceWith0", header: "Net Price With 0"), 
     wd.Column(columnName: "NetPriceWith50", header: "Net Price With 50") 

     ) 
     ).ToString(); 

     string exportData = String.Format("<html><head>{0}</head><body>{1}</body></html>", "<style>table{ border-spacing: 10px; border-collapse: separate; }</style>", griddata); 
     var bytes = System.Text.Encoding.UTF8.GetBytes(exportData); 
     using (var input = new MemoryStream(bytes)) 
     { 
      var output = new MemoryStream(); 
      var document = new iTextSharp.text.Document(PageSize.A4, 50, 50, 50, 50); 
      var writer = PdfWriter.GetInstance(document, output); 
      writer.CloseStream = false; 
      document.Open(); 

      var xmlWorker = iTextSharp.tool.xml.XMLWorkerHelper.GetInstance(); 
      xmlWorker.ParseXHtml(writer, document, input, System.Text.Encoding.UTF8); 
      document.Add(new Paragraph("Hello World!")); 
      document.Close(); 
      output.Position = 0; 
      return new FileStreamResult(output, "application/pdf"); 
     } 

     } 

回答

2

除了iTextSharp的的主要DLL,你還需要添加獨立但對於HTML處理相關XMLWorker

+0

我已經添加了這些文件,但仍然出現錯誤。我不知道什麼是錯的。如果你有更多的建議,請幫助我。 – 2015-02-24 04:48:22

0

最新評論,但也許它可以幫助別人。

它不適用於該軟件包,請嘗試單獨下載。我已經使用以下鏈接Download here

我有同樣的問題,並將其整理出來。請記住在下載/提取後引用DLL。