本文整理汇总了C#中iTextSharp.tool.xml.parser.XMLParser.AddListener方法的典型用法代码示例。如果您正苦于以下问题:C# XMLParser.AddListener方法的具体用法?C# XMLParser.AddListener怎么用?C# XMLParser.AddListener使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类iTextSharp.tool.xml.parser.XMLParser
的用法示例。
在下文中一共展示了XMLParser.AddListener方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ParseXHtml
/**
* Parses the xml data. This method configures the XMLWorker to parse
* (X)HTML/CSS and accept unknown tags. Writes the output in the given
* PdfWriter with the given document.
*
* @param writer the PdfWriter
* @param doc the Document
* @param inp the reader
* @throws IOException thrown when something went wrong with the IO
*/
public void ParseXHtml(PdfWriter writer, Document doc, TextReader inp) {
CssFilesImpl cssFiles = new CssFilesImpl();
cssFiles.Add(GetDefaultCSS());
StyleAttrCSSResolver cssResolver = new StyleAttrCSSResolver(cssFiles);
HtmlPipelineContext hpc = new HtmlPipelineContext(null);
hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(GetDefaultTagProcessorFactory());
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(hpc, new PdfWriterPipeline(doc,
writer)));
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser p = new XMLParser();
p.AddListener(worker);
p.Parse(inp);
}
示例2: iTextSharp
private void iTextSharp(string html)
{
System.Web.HttpContext.Current.Response.ContentType = "application/pdf";
System.Web.HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=BookingDetails.pdf");
System.Web.HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
Document pdfDoc = new Document(new Rectangle(922, 1296), 7f, 7f, 7f, 0f);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, System.Web.HttpContext.Current.Response.OutputStream);
pdfDoc.Open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
ICssFile cfile = new CssFileImpl();
ICSSResolver cssResolver = XMLWorkerHelper.GetInstance().GetDefaultCssResolver(false);
cssResolver.AddCssFile(System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath + @"App_Data\PDF.all.min.css", true);
//Pipeline
IPipeline pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(pdfDoc, writer)));
//XMLWorker
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser parser = new XMLParser();
parser.AddListener(worker);
using (TextReader sr = new StringReader(html))
{
parser.Parse(sr);
}
parser.Flush();
pdfDoc.Close();
System.Web.HttpContext.Current.Response.Write(pdfDoc);
System.Web.HttpContext.Current.ApplicationInstance.CompleteRequest();
}
示例3: processHtml
private void processHtml(IElementHandler elementsHandler)
{
var cssResolver = new StyleAttrCSSResolver();
if (CssFilesPath != null && CssFilesPath.Any())
{
foreach (var cssFile in CssFilesPath)
{
cssResolver.AddCss(XmlWorkerUtils.GetCssFile(cssFile));
}
}
if (!string.IsNullOrEmpty(InlineCss))
{
cssResolver.AddCss(InlineCss, "utf-8", true);
}
var htmlContext = new HtmlPipelineContext(new CssAppliersImpl(new UnicodeFontProvider(DefaultFont)));
if (!string.IsNullOrEmpty(ImagesPath))
{
htmlContext.SetImageProvider(new ImageProvider { ImagesPath = ImagesPath });
}
htmlContext.CharSet(Encoding.UTF8);
var tagsProcessorFactory = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory();
if (PdfElement != null)
{
tagsProcessorFactory.AddProcessor("totalpagesnumber", new TotalPagesNumberXmlWorkerProcessor(PdfElement));
}
htmlContext.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagsProcessorFactory);
var pipeline = new CssResolverPipeline(cssResolver,
new HtmlPipeline(htmlContext, new ElementHandlerPipeline(elementsHandler, null)));
var worker = new XMLWorker(pipeline, parseHtml: true);
var parser = new XMLParser();
parser.AddListener(worker);
parser.Parse(new StringReader(Html));
}
示例4: Init
/**
* @param html
* @param p
* @return
*/
private StringBuilder Init(String html, XMLParser p) {
writer = new StringBuilder(html.Length);
p.AddListener(new ParserListenerWriter(new CustomAppender(), false));
return writer;
}