我正在使用其他question的代码,我收到错误
错误1非泛型类型 'iTextSharp.text.List'无法使用 带有类型参数
错误2“HTMLWorker”这个名称没有 存在于当前背景中
错误3类型或命名空间名称 无法找到'HTMLWorker'(是 你错过了使用指令或 装配参考?)
到目前为止我的代码如下:
protected void Button2_Click(object sender, EventArgs e)
{
//Extract data from Page (pd).
Label16.Text = Editor1.Content; // Attribute
// makae ready HttpContext
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "application/pdf";
// Create PDF document
Document pdfDocument = new Document(PageSize.A4, 80, 50, 30, 65);
//PdfWriter pw = PdfWriter.GetInstance(pdfDocument, HttpContext.Current.Response.OutputStream);
PdfWriter.GetInstance(pdfDocument, HttpContext.Current.Response.OutputStream);
pdfDocument.Open();
//WebClient wc = new WebClient();
string htmlText = Editor1.Content;
List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StringReader(htmlText), null);
for (int k = 0; k < htmlarraylist.Count; k++)
{
pdfDocument.Add((IElement)htmlarraylist[k]);
}
//pdfDocument.Add(new Paragraph(IElement));
pdfDocument.Close();
HttpContext.Current.Response.End();
}
请帮我解决错误。我想要的是从htmleditor获取内容(非html)并显示在pdf文件中。请确认我,我想做的是否正确。
答案 0 :(得分:3)
此代码中存在名称冲突 - 您是using iTextSharp.text
命名空间并尝试使用标准System.Collections.Generic.List<T>
类。
您需要删除using iTextSharp.text
并使用其显式命名空间的类或使用List<T>
的显式命名空间。
System.Collections.Generic.List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StringReader(htmlText), null);
第三种解决方案是使用aliases。
对于第二个错误,您需要导入HTMLWorker
命名空间。放
using iTextSharp.text.html.simpleparser;
在顶部。
答案 1 :(得分:3)
1.像
一样修改你的列表System.Collections.Generics.List<IElement> htmlarraylist
2.看起来你没有导入HTMLWorker
编辑:我用Google搜索,命名空间可能是这三个中的任何一个。我怀疑它可能是最后一个,但我不确定。
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;