Pdf ITextSharp XMLWorkerHelper不工作
我正在尝试将HTML页面转换为PDF。我正试图利用XMLWorker。我在网上看到了各种各样的例子。然而,出于某种原因,XMLWorkerHelper对象似乎认为我的PDFWriter对象实际上是一个IElementHandler对象。因此,它不会编译。我不知道怎么了。有人经历过吗?如何让XMLWorkerHelper相信我的PDFWriter实际上是一个PDFWriter?这是我的密码:Pdf ITextSharp XMLWorkerHelper不工作,pdf,itextsharp,xmlworker,Pdf,Itextsharp,Xmlworker,我正在尝试将HTML页面转换为PDF。我正试图利用XMLWorker。我在网上看到了各种各样的例子。然而,出于某种原因,XMLWorkerHelper对象似乎认为我的PDFWriter对象实际上是一个IElementHandler对象。因此,它不会编译。我不知道怎么了。有人经历过吗?如何让XMLWorkerHelper相信我的PDFWriter实际上是一个PDFWriter?这是我的密码: Imports System.IO Imports iTextSharp.text Imports iTe
Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.tool.xml
Dim bytes As Byte()
Using ms = New MemoryStream
Using doc = New Document
Using writer = PdfWriter.GetInstance(doc, ms)
doc.Open()
Using msCSS As New MemoryStream(System.Text.Encoding.UTF8.GetBytes(CSSstr))
Using msHTML As New MemoryStream(System.Text.Encoding.UTF8.GetBytes(HTMLstr))
'This Doesn't Work...
iTextSharp.tool.xml.XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, msHTML, msCSS)
End Using
End Using
doc.Close()
End Using
End Using
bytes = ms.ToArray
End Using
多亏了布鲁诺,我才使它工作起来。正如Bruno指出的,iTextSharp和XMLWorker的版本号必须相同。很明显,我使用的是一个旧版本。我下载了最新版本,问题就解决了 您使用的是哪个版本的iTextSharp?多年来,
ParseXHtml()
方法已经改变了好几次。有一个ParseXHtml()
方法需要一个IElementHandler
,但它需要不同数量的参数。乍一看,您使用的方法确实存在,并且确实需要一个PdfWriter
,因此我猜您使用的是旧版本的XML Worker和iTextSharp。我不确定我使用的是哪个版本的iTextSharp。我使用的是xmlWorker版本5.5.5。我将尝试使用最新版本的itextsharp,看看会发生什么。版本号必须相同。如果您使用的是XML Worker 5.5.5,那么您的iTextSharp版本也需要是5.5.5。也许这就是问题的原因…就是这样!非常感谢。我已经为此挣扎了几天了。