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 に答える