我使用iTextSharp(在SharePoint上,但我希望这没关系)将HTML文档转换为PDF。到目前为止,我无法获得任何元素边界。我该怎么做呢?这不受支持吗?
我尝试的事情:
// in c# code
StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet();
styles.LoadStyle("borderCls", "border-style", "solid"); // <td class="borderCls">
styles.LoadStyle("borderCls", "border-width", "1px");
styles.LoadStyle("borderCls", "border-color", "#000");
//
styles.LoadStyle("borderCls", "border", "solid 1px #000");
// in html
<td style="border:solid 1px #000">
//
<td border="1">
//
<td style="border-style:solid;border-width:1px">
但这些都行不通。我无法让iTextSharp创建任何边框。
更新:也可以只在一个特定方面定义边框?
答案 0 :(得分:4)
使用此代码。
<table border="1">
确定它有效。
但是实体和px在html到pdf中不起作用。
答案 1 :(得分:1)
您可以使用表格边框,并在此处提供一些示例:http://demo.itextsupport.com/xmlworker/
XMLWorker CSS和HTML支持文档http://demo.itextsupport.com/xmlworker/itextdoc/index.html
如果您只想使用css在表格中设置左边框,请使用以下代码:
td.black-left-border {
border: 0; /*First set all the borders to 0, then set the desired borders width*/
border-color: black;
border-left-width: 1px; /*PDF*/
border-left-style: solid;
}
您还可以使用不同的颜色设置边框:
td.black-left-border-blue-bottom-border {
border: 0;
border-left-color: black;
border-bottom-color: blue;
border-left-width: 1px;
border-bottom-width: 1px;
border-left-style: solid;
border-bottom-style: solid;
}
也许浏览器不会应用这些样式,但iTextSharp会。如您所见,您必须在css属性中非常具体。