我使用iTextSharp从HTML页面开始生成PDF文件。 但是,如图所示,表格会在最后一列无法对齐的情况下进行渲染。
我该怎么做才能解决这个问题?
以下是代码的一部分:
StyleSheet ss = new StyleSheet();
TextReader htmlReader = new StringReader(strHTML);
ArrayList htmlarraylist = HTMLWorker.ParseToList(htmlReader, ss);
foreach (IElement el in htmlarraylist)
{
document.Add(el);
}
在strHTML中有这个HTML代码:
<TABLE style="WIDTH: 100%" border=1 cellSpacing=1 cellPadding=1><BR><TBODY><BR><TR><BR><TD>1</TD><BR><TD>2</TD><BR><TD>4</TD><BR><TD>4</TD><BR><TD>5</TD></TR><BR><TR><BR><TD>6</TD><BR><TD>7</TD><BR><TD>8</TD><BR><TD>9</TD><BR><TD>0</TD></TR><BR><TR><BR><TD>0</TD><BR><TD>98</TD><BR><TD>7</TD><BR><TD>5</TD><BR><TD>4</TD></TR><BR><TR><BR><TD>3</TD><BR><TD>2</TD><BR><TD>3</TD><BR><TD>4</TD><BR><TD>5</TD></TR><BR><TR><BR><TD>76</TD><BR><TD>7</TD><BR><TD>9</TD><BR><TD>0</TD><BR><TD>4</TD></TR></TBODY></TABLE>
答案 0 :(得分:1)
侨
你使用循环来制作你的pdf吗?你确定每个细胞你做出适当的行为......
int howManyCell = ....
for (int i = 0; i < howManyCell + 1; i++) {
PdfPCell cell = new PdfPCell();
cell.HorizontalAlignment = Element.ALIGN_RIGHT;
cell.VerticalAlignment = Element.ALIGN_TOP;
table.AddCell(cell);
}
也许您使用自动转换,而不使用pdf类元素?在这种情况下,向我们展示你的html表的标题和第一个表行的样本,以检查这是否正常
答案 1 :(得分:0)
我发现了问题!
所有这些BR标签都弄乱了我的桌子!那些被替换为另一个类的替代:
Replace("\r\n", "<BR>");
谢谢你们的帮助!