使用itextsharp添加图像

时间:2017-09-13 07:11:17

标签: image itext

我正在尝试以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'.**    

任何解决方案?

1 个答案:

答案 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的对象。很明显,这不起作用。

如果在两个不同的命名空间ImageSystem.Web.UI.WebControls中有两个具有相同名称(iTextSharp.text)的类,则应避免引入歧义。

阅读Resolving an ambiguous reference了解详情。

相关问题