2012-07-05 50 views
1

我使用iTextSharp从HTML页面开始生成PDF文件。 但是,表格的最后一列没有对齐,如图所示。PDF(iTextSharp)中表格的最后一列没有正当理由

我能做些什么来解决这个问题?

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> 
+0

请发布您用来生成该表的代码。 – 2012-07-05 10:27:47

回答

1

你用一个循环产生的PDF,?你确定你做适当的aactions每个单元......

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表头和第一个表格行的样本,检查这是否正常

+0

请编辑您的问题,添加此HTML片段和您使用的C#代码。 – 2012-07-05 13:38:57

+0

我添加了代码。 – 2012-07-05 16:15:49

0

我发现问题了!

所有这些BR标签都搞乱了我的餐桌!那些被添加了一个替换隐藏在另一类:

Replace("\r\n", "<BR>"); 

谢谢你们的帮助!