1

我使用 iTextSharp 从 HTML 页面开始生成了一个 PDF 文件。但是,正如您在图像中看到的那样,表格的最后一列没有对齐。

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

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‌​&gt;<TD>9</TD><BR><TD>0</TD></TR><BR><TR><BR><TD>0</TD><BR><TD>98</TD><BR><TD>7</TD>‌​&lt;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‌​&lt;/TD><BR><TD>0</TD><BR><TD>4</TD></TR></TBODY></TABLE>
4

2 回答 2

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 表格的标题和表格第一行的示例,以检查这是否正常

于 2012-07-05T10:20:15.993 回答
0

我发现了问题!

所有那些 BR 标签都弄乱了我的桌子!这些是由隐藏在另一个类中的替换添加的:

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

谢谢你们的帮助!

于 2012-07-05T16:50:32.537 回答