HTML 到 PDF - iTextSharp 中的 CSS
Posted
技术标签:
【中文标题】HTML 到 PDF - iTextSharp 中的 CSS【英文标题】:HTML to PDF - CSS in iTextSharp 【发布时间】:2013-07-11 06:32:12 【问题描述】:我正在尝试使用 iTextSharp 从 html 代码构建一个 pdf 文件。
这是一个 HTML 示例:
<div style="height:400px; font-family:Courier; font-size:9px">
herrow
</div>
<span style="padding-left:100px;">
world
</span>
作为 html 文件运行,在 hello 和 world 之间放置 400px 并在 world 之前放置 100px 可以正常工作。
这是我用来将 html 转换为 pdf 的代码:
List<IElement> htmlList = HTMLWorker.ParseToList(new StringReader(htmlText), new StyleSheet());
foreach (IElement element in htmlList)
doc.Add(element);
它确实在生成的 pdf 中应用了字体系列和字体大小。 但是,它会忽略生成的 pdf 中的 div 高度和跨度宽度。
在使用 iTextSharp 将 html 转换为 pdf 时,是否可以使用高度/宽度/填充等?
如果没有,是否有解决方法,或者我可以使用其他免费的 .dll 来执行此操作?
【问题讨论】:
HTMLWorker 已弃用且不再受支持,请查看 XMLWorker。 demo.itextsupport.com/xmlworker/itextdoc/flatsite.html 这里有同样的问题...使用 XMLWorker 会解决这个问题吗?怎么用?? 尝试PrinceXML:替换和/或测试您的 html2pdf 渲染。 【参考方案1】:只需在样式标签外拉出高度属性并像这样使用它:-
<div height='400' style="font-family:Courier;font-size:9px">
赫罗
</div>
【讨论】:
【参考方案2】:您可能想看看 PhantomJS,而不是使用 iTextSharp。这是一种不同的方法,但它真的很有帮助!不再有 css 问题。
看看这个:phantomJS 和 this。
【讨论】:
那会创建一个图像?在那种情况下,pdf不会有可选择的文本,对吧?以上是关于HTML 到 PDF - iTextSharp 中的 CSS的主要内容,如果未能解决你的问题,请参考以下文章
HTML 到 PDF - iTextSharp 中的 CSS
html到pdf使用itextsharp如何设置<div>元素边框
在 iTextSharp 中使用 CSS 从 HTML 渲染 PDF