Asp.net mvc 4 在MVC4中导出为pdf(在pdf中嵌入Html)
我正在尝试使用MVC4导出pdf。尝试在pdf文档中嵌入Html时导出时出错:Asp.net mvc 4 在MVC4中导出为pdf(在pdf中嵌入Html),asp.net-mvc-4,pdf,itextsharp,Asp.net Mvc 4,Pdf,Itextsharp,我正在尝试使用MVC4导出pdf。尝试在pdf文档中嵌入Html时导出时出错: 命名空间中不存在类型或命名空间名称“tool” “iTextSharp” 我已经添加了iTextSharp.dll,但我不知道为什么会出错。请先帮我谢谢 以下是我的方法: public FileResult ExportData() { List<Tb_ModalListFileUpload> objlist = new List<Tb_ModalListFileUp
- 命名空间中不存在类型或命名空间名称“tool” “iTextSharp”
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");
}
}
公共文件结果导出数据()
{
列表对象列表=新列表();
objlist=(从obj.Tb_ModalListFileUpload中的p选择p).ToList();
WebGrid wd=新WebGrid(来源:objlist,canPage:false,canSort:false);
字符串griddata=wd.GetHtml(
列:wd.columns
(
wd.Column(columnName:“SRNO”,header:“SRNO”),
wd.Column(columnName:“ModelName”,header:“ModelName”),
wd.Column(columnName:“ModelCC”,header:“ModelCC”),
wd.列(列名称:“模型费率”,标题:“模型费率”),
wd.列(列名:“ModelRC”,标题:“ModelRC”),
wd.列(列名称:“IncWith0”,标题:“IncWith0”),
wd.列(列名:“IncWith50”,标题:“Inc With50”),
wd.列(列名称:“暂定”,标题:“暂定”),
wd.Column(columnName:“NetPriceWith0”,header:“NetPriceWith0”),
wd.列(列名:“净价含50”,标题:“净价含50”)
)
).ToString();
string exportData=string.Format(“{0}{1}”,“表{边框间距:10px;边框折叠:分离;}”,griddata);
var bytes=System.Text.Encoding.UTF8.GetBytes(exportData);
使用(var输入=新内存流(字节))
{
var输出=新的MemoryStream();
var document=新的iTextSharp.text.document(PageSize.A4,50,50,50);
var writer=PdfWriter.GetInstance(文档,输出);
writer.CloseStream=false;
document.Open();
var xmlWorker=iTextSharp.tool.xml.XMLWorkerHelper.GetInstance();
ParseXHtml(writer、文档、输入、System.Text.Encoding.UTF8);
添加(新段落(“你好,世界!”);
document.Close();
输出位置=0;
返回新文件streamresult(输出,“application/pdf”);
}
}
除了iTextSharp的主DLL之外,您还需要添加单独但相关的HTML处理。后期注释,但可能对其他人有所帮助 该软件包不提供,请尝试单独下载。我使用了以下链接
我也有同样的问题,这就解决了。请记住在下载/提取DLL后引用它。我已经添加了这些文件,但仍然出现错误。我不知道出了什么问题。如果你有更多的建议,请帮助我。