我使用iTextPdf从html页面生成pdf文件,如下所示:
iTextSharp.text.html.simpleparser.HTMLWorker hw = new iTextSharp.text.html.simpleparser.HTMLWorker(document);
TextReader reader = new StringReader(HTML);
hw.Parse(reader);
document.Close();但是我的html页面很大,我需要在特定的页面中添加页面刹车。
如何在pdf中添加这些分页符?
谢谢
发布于 2012-12-20 05:31:13
有一个HTMLWorker.ParseToList。你不能用那个吗?
发布于 2013-09-10 19:15:28
因为,iTextSharp在理解少数样式/标记方面确实存在局限性。
此问题的解决方案是一个小解决方案:
,
HTMLWorker类,并覆盖了StartElement方法,后者在每个html元素开始时给我们提供事件。public类HTMLWorkerExtended : HTMLWorker { public HTMLWorkerExtended(IDocListener document):base(document) {} public override void (string tag,IDictionary str) { if (tag.Equals("newpage")) document.Add(Chunk.NEXTPAGE);else base.StartElement( tag,str);}}
<newpage />标记。
HTMLWorkerExtended类的对象来解析html。使用(TextReader htmlViewReader =新StringReader(htmlText)) {使用(var htmlWorker =新HTMLWorkerExtended(pdfDocument)) { htmlWorker.Open();htmlWorker.Parse(htmlViewReader);} }
发布于 2012-12-20 04:56:35
尝试在HTML中添加以下内容:
<div style="page-break-before:always"> </div>https://stackoverflow.com/questions/13960551
复制相似问题