Vb.net 无法强制转换类型为';iTextSharp.text.pdf.PdfWriter';输入';iTextSharp.tool.xml.IElementHandler';
我试图将HTML字符串写入新创建的PDF,但出现以下错误: 无法将类型为“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
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”