我正在使用 iTextSharp CSSResolver 类在 vb.net 中使用外部 css
请告诉我使用 XMLWorkerFontProvider
、CssFilesImpl
、StyleAttrCSSResolver
类的命名空间。
下面是我的代码:
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/