PDF(iTextSharp)中表格的最后一列不合理

时间:2012-07-05 10:02:06

标签: c# asp.net itextsharp

我使用iTextSharp从HTML页面开始生成PDF文件。 但是,如图所示,表格会在最后一列无法对齐的情况下进行渲染。

我该怎么做才能解决这个问题?

table in a pdf code-generated

以下是代码的一部分:

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</T‌​D><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>

2 个答案:

答案 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>");

谢谢你们的帮助!