我正在创建一个pdf,需要在页面中放置一条水平线。谁能说出怎么做呢?
我有一个xml文件,其中包含我的html标记(<table>....</table>
)。并且xml
文件的全部内容被解析为string
,用于创建pdf
。现在不支持某些标签。其中一个是<hr>
。那么我可以在xml
文件中使用任何其他标记,以便绘制一个
使用xml数据创建pdf时的line
。
以下是xml xontent
的示例<table>
<tr>
<td>
<span>
This is working properly.
</span>
</td>
<tr>
</table>
<table>
<tr>
<td>
<span>
<hr>
This is not working properly.
</span>
</td>
<tr>
</table>
如果需要更多信息,请与我们联系。
提前致谢。
答案 0 :(得分:4)
以下创建一个几度像素厚的全宽黑线,我正在使用HTMLWorker.Parse
:
<table>
<tr>
<td>
<span>
This is working properly.
</span>
</td>
<tr>
</table>
<table>
<tr>
<td>
<span>
<table border="1" cellpadding="0" cellspacing="0"><tr><td> </td></tr></table>
This is working properly now too!
</span>
</td>
<tr>
</table>
答案 1 :(得分:0)
你可以从开始位置(moveto),LineTo然后描边(提交线)绘制线条:
...
PdfContentByte cb = writer.DirectContent;
....
cb.MoveTo(doc.PageSize.Width / 2, doc.PageSize.Height / 2);
cb.LineTo(doc.PageSize.Width / 2, doc.PageSize.Height);
cb.Stroke();
...
答案 2 :(得分:0)
我希望这可以帮助你
PdfPTable table = new PdfPTable(1); //Create a new table with one column
PdfPCell cellLeft = new PdfPCell(); //Create an empty cell
StyleSheet style = new StyleSheet(); //Declare a stylesheet
style.LoadTagStyle("h1", "border-bottom", "red"); //Create styles for your html tags which you think will be there in PDFText
List<IElement> objects = HTMLWorker.ParseToList(new StringReader(PDFText),style); //This transforms your HTML to a list of PDF compatible objects
for (int k = 0; k < objects.Count; ++k)
{
cellLeft.AddElement((IElement)objects[k]); //Add these objects to cell one by one
}
table.AddCell(cellLeft);