asp.net - 使用 iTextSharp CSSResolver 类的命名空间

标签 asp.net vb.net itext

我正在使用 iTextSharp CSSResolver 类在 vb.net 中使用外部 css

请告诉我使用 XMLWorkerFontProviderCssFilesImplStyleAttrCSSResolver 类的命名空间。

下面是我的代码:

    Dim fontProvider As XMLWorkerFontProvider = New XMLWorkerFontProvider()

    Dim cssFiles As CssFilesImpl = New CssFilesImpl(fontProvider)

    cssFiles.Add(XMLWorkerHelper.GetInstance().GetDefaultCSS())

    Dim cssRevolver As StyleAttrCSSResolver = New StyleAttrCSSResolver()

    Dim htmlContext As HtmlPipelineContext = New HtmlPipelineContext()

    htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory())

    htmlContext.SetImageProvider(New MyImageProvider(imagePath))

    Dim pipeline As IPipeline = New CssResolverPipeline(cssRevolver, New HtmlPipeline(htmlContext, New PdfWriterPipeline(Document, writer)))

    Dim worker As XMLWorker = New XMLWorker(pipeline, True)

    Dim p As XMLParser = New XMLParser(worker)

    p.Parse(xmlString)

谢谢 拉梅什

将 sw 调暗为 New StringWriter()

将硬件调暗为新的 HtmlTextWriter(sw)

strMonthlyDataHtml = LoadReport("PDF")

ltrPDFReport.Text = strMonthlyDataHtml

ltrPDFReport.RenderControl(硬件)

将 sr 调暗为新 StringReader(sw.ToString())

将 pdfDoc 变暗为新文档(iTextSharp.text.PageSize.A4, 10.0F, 10.0F, 100.0F, 0.0F)

Dim memStream = New MemoryStream()

昏暗的作家= PdfWriter.GetInstance(pdfDoc,memStream)

writer.CloseStream = False

pdfDoc.Open()

将 htmlContext 调暗为新的 HtmlPipelineContext(无)

htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory())

Dim cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(False)

cssResolver.AddCssFile(Server.MapPath("../Assets/css/Efficiency.css"), True)

cssResolver.AddCssFile(Server.MapPath("/Assets/css/Efficiency.css"), True)

将管道调暗为 IPipeline = New CssResolverPipeline(cssResolver, New
HtmlPipeline(htmlContext, New PdfWriterPipeline(pdfDoc, writer)))

将工作线程调暗为 XMLWorker = New XMLWorker(pipeline, True)

将 p 调暗为新的 XMLParser(worker)

p.Parse(sr)

pdfDoc.Close()

最佳答案

看来你正在混合两种不同的东西。当我看到 iTextSharp.text.html.simpleparser 时,我假设您正在使用旧的 HTMLWorker,这是一个已停止使用的类。

当我查看您的代码时,我发现您正在使用 XML Worker,它需要单独的 DLL ( itextsharp.xmlworker.dll )。您使用的类位于 iTextSharp.tool.xml 中,与 iTextSharp.text.html.simpleparser 无关。您可以通过downloading the ZIP file检查这一点并查看 itextsharp-src-xmlworker.zip 中的源代码。

关于asp.net - 使用 iTextSharp CSSResolver 类的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28212444/

相关文章:

c# - 传递多维 Npgsql 参数?

使用安装项目安装时未显示 Windows 服务

c# - 如何解决 COM Exception Class not registered (Exception from HRESULT : 0x80040154 (REGDB_E_CLASSNOTREG))?

.net - Ruby WIN32OLE 可以访问 .NET .dll 的要求

c# - ITextSharp 压模损坏 pdf

c# - 使用 C# 代码使用 iTextSharp 将页面书签添加到现有 PDF

asp.net - SQL如何在一列中使用ORDER BY语句

javascript - 在 ASP.NET 的 UserControl 中注册 JavaScript

c# - 带外键的 Fluent nHibernate "not-null property references a null or transient value"

java - 如何通过itext围绕图像中心旋转?