Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 无法强制转换类型为';iTextSharp.text.pdf.PdfWriter';输入';iTextSharp.tool.xml.IElementHandler';_Vb.net_Pdf - Fatal编程技术网

Vb.net 无法强制转换类型为';iTextSharp.text.pdf.PdfWriter';输入';iTextSharp.tool.xml.IElementHandler';

Vb.net 无法强制转换类型为';iTextSharp.text.pdf.PdfWriter';输入';iTextSharp.tool.xml.IElementHandler';,vb.net,pdf,Vb.net,Pdf,我试图将HTML字符串写入新创建的PDF,但出现以下错误: 无法将类型为“iTextSharp.text.pdf.PdfWriter”的对象强制转换为类型为“iTextSharp.tool.xml.IElementHandler”。 代码: Dim doc As text.Document Dim output As New MemoryStream doc = New text.Document(text.PageSize.A4, 0, 0, 50, 50) Dim fileName As S

我试图将HTML字符串写入新创建的PDF,但出现以下错误: 无法将类型为“iTextSharp.text.pdf.PdfWriter”的对象强制转换为类型为“iTextSharp.tool.xml.IElementHandler”。

代码:

Dim doc As text.Document
Dim output As New MemoryStream
doc = New text.Document(text.PageSize.A4, 0, 0, 50, 50)
Dim fileName As String = "~/Invoices/" + invoiceNumber + ".pdf"

Dim writer As text.pdf.PdfWriter = text.pdf.PdfWriter.GetInstance(doc, New FileStream(Server.MapPath(fileName), FileMode.Create))

doc.AddTitle("PPN Rebate Invoice")
doc.AddAuthor("PPN")
doc.Open()

Dim reader As TextReader = New StringReader(html)

XMLWorkerHelper.GetInstance().ParseXHtml(writer, reader)

这是我第一次使用iTextSharp.dll,不确定我缺少什么或做错了什么。我从NuGet添加了iTextSharp和iTextSharp XML工作包。注意正在使用的
ParseXHtml
的不同重载

Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.tool.xml

Module Module1

    Sub Main()
        Dim fileName As String = "C:\Dev\SO.pdf"
        Using doc = New Document(PageSize.A4, 0, 0, 50, 50)
            Using writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream(fileName, FileMode.Create))
                doc.Open()
                doc.AddTitle("PPN Rebate Invoice")
                doc.AddAuthor("PPN")
                Dim html = "<!DOCTYPE html><html><head><title>Test</title></head><body><p>This is a test.</p></body></html>"
                Using reader As TextReader = New StringReader(html)
                    XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, reader)
                End Using
                doc.Close()
            End Using
        End Using
    End Sub

End Module
Imports System.IO
导入iTextSharp.text
导入iTextSharp.text.pdf
导入iTextSharp.tool.xml
模块1
副标题()
Dim文件名为String=“C:\Dev\SO.pdf”
使用文档=新文档(PageSize.A4、0、0、50、50)
使用writer作为PdfWriter=PdfWriter.GetInstance(doc,newfilestream(fileName,FileMode.Create))
公开文件()
文件AddTitle(“PPN返利发票”)
文件添加作者(“PPN”)
Dim html=“Test这是一项测试。

” 将reader用作TextReader=新的StringReader(html) XMLWorkerHelper.GetInstance().ParseXHtml(编写器、文档、读取器) 终端使用 文件关闭() 终端使用 终端使用 端接头 端模块
您是否尝试过其他重载之一,可能是
XMLWorkerHelper.GetInstance().ParseXHtml(writer、doc、reader)
?它正在尝试将文档转换为流,并将读卡器转换为编码:“iTextSharp.text.Document”类型的值无法转换为“System.IO.Stream”类型的值“System.IO.TextReader”无法转换为“System.text.Encoding”