我正在尝试以PDF格式导出数据,现在我尝试使用itext sharp在PDF中添加图像我尝试这个但是这显示错误..我尝试下面的代码但这显示错误当我在PDF文件中添加图像我成功添加文字
Private Sub ExportGridToPDF()
Dim headerText As String = "file"
Response.ContentType = "application/pdf"
Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.pdf")
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Dim sw As New StringWriter()
Dim hw As New HtmlTextWriter(sw)
GridView1.AllowPaging = False
GridView1.DataBind()
GridView1.RenderControl(hw)
Dim sr As New StringReader(sw.ToString())
Dim pdfDoc As New iTextSharp.text.Document(iTextSharp.text.PageSize.A1, 10.0F, 10.0F, 10.0F, 0.0F)
Dim beginning As New iTextSharp.text.Chunk(headerText)
Dim p1 As New iTextSharp.text.Phrase(beginning)
Dim p2 As New iTextSharp.text.Phrase()
p2.Add(p1)
Dim p As New iTextSharp.text.Paragraph()
p.Add(p2)
Dim htmlparser As New HTMLWorker(pdfDoc)
PdfWriter.GetInstance(pdfDoc, Response.OutputStream)
pdfDoc.Open()
pdfDoc.Add(p)
Dim im As Image = iTextSharp.text.Image.GetInstance(imagepath + "/mikesdotnetting.tif")
pdfDoc.Add(im)
htmlparser.Parse(sr)
pdfDoc.Close()
Response.Write(pdfDoc)
Response.End()
End Sub
在这部分
Dim im As Image = iTextSharp.text.Image.GetInstance(imagepath + "/mikesdotnetting.tif")
pdfDoc.Add(im)
,这显示此行中的错误
Dim jpg As Image = iTextSharp.text.Image.GetInstance(New Uri(url))
错误
**Value of type 'iTextSharp.text.Image' cannot be converted to 'System.Web.UI.WebControls.Image'.**
任何解决方案?
答案 0 :(得分:0)
您在同一代码中使用来自不同包/命名空间的两个名为Image
的类。这是模棱两可的。您应该使用完全限定名称。
我不是.Net开发人员,但如果这是Java,你会做这样的事情:
Dim im As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(imagepath + "/mikesdotnetting.tif")
您的问题是由于您创建类型为jpg
的变量System.Web.UI.WebControls.Image
,但您正在为该变量分配类型iTextSharp.text.Image
的对象。很明显,这不起作用。
如果在两个不同的命名空间Image
和System.Web.UI.WebControls
中有两个具有相同名称(iTextSharp.text
)的类,则应避免引入歧义。