0

在过去的 3 天里,我一直在尝试让 itextsharp 将简单的 html 表转换为 pdf。我找到了一个使用 htmlworker 的解决方案,但我需要对 css 进行一些控制。然后我尝试实现 xmlworker 对象,这几乎就像我没有导入我想的东西,因为每当我到达这一行时:

    worker.ParseXHtml(writer, document, New StringReader(htmlReport))

我收到以下错误:“'iTextSharp.text.Document' 类型的值无法转换为 'System.IO.Stream'。”

“'System.IO.StringReader' 类型的值无法转换为 'System.Text.Encoding'。”

我已经尝试了几个不同的示例,但我总是以这些错误告终……到目前为止我所拥有的不起作用的代码如下。任何关于为什么这些错误不断出现在我身上的信息将不胜感激:)

    Dim htmlReport As String = output.ToString

        'Convert to pdf
        Dim document As New Document(iTextSharp.text.PageSize.A4.Rotate(), 1, 1, 0, 0)
        Dim writer As PdfWriter = PdfWriter.GetInstance(Document, New FileStream(Request.PhysicalApplicationPath + "\Export\test.pdf", FileMode.Create))
        document.Open()
        Dim worker As XMLWorkerHelper = XMLWorkerHelper.GetInstance
        worker.ParseXHtml(writer, document, New StringReader(htmlReport))
4

1 回答 1

0

好吧,我发现了问题所在,而且它相当微不足道,但以防万一其他人遇到同样的问题,我会解释它是什么。我使用的是来自 itextsharp.xmlworker.dll 版本的旧版本的基本 itextsharp.dll。现在我不知道版本必须相同,我只知道您必须确保您的 .dll 版本是最新的。

于 2013-09-04T18:59:24.773 回答