2015-02-23 91 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。