【发布时间】:2015-03-28 13:04:32
【问题描述】:
我正在使用 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)
谢谢 拉梅什
Dim sw As New StringWriter()
将硬件调暗为新的 HtmlTextWriter(sw)
strMonthlyDataHtml = LoadReport("PDF")
ltrPDFReport.Text = strMonthlyDataHtml
ltrPDFReport.RenderControl(hw)
Dim sr As New StringReader(sw.ToString())
将 pdfDoc 调暗为新文档(iTextSharp.text.PageSize.A4, 10.0F, 10.0F, 100.0F, 0.0F)
Dim memStream = New MemoryStream()
Dim writer = PdfWriter.GetInstance(pdfDoc, memStream)
writer.CloseStream = False
pdfDoc.Open()
将 htmlContext 调暗为新的 HtmlPipelineContext(Nothing)
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)
Dim pipeline As IPipeline = New CssResolverPipeline(cssResolver, New
HtmlPipeline(htmlContext, New PdfWriterPipeline(pdfDoc, writer))))
Dim worker As XMLWorker = New XMLWorker(pipeline, True)
Dim p As New XMLParser(worker)
p.Parse(sr)
pdfDoc.Close()
【问题讨论】:
标签: asp.net vb.net itextsharp