0

私はこのサイトを調べましたが、私の問題に対する相対的な解決策を見つけることができませんでした.

iTextSharpを使用してPDFファイルを作成していますが、ファイルは非常にうまく作成されています。次のように、テーブルを作成し、グリッドビュー データに割り当てています。

//Add Actual columns from the datatable
for (int j = 0; j < dt.Columns.Count; j++) {
    PdfPCell cellHeader = new PdfPCell(FormatHeaderPhrase(dt.Columns[j].ColumnName.ToString()));
    cellHeader.HorizontalAlignment = 1;
    table3.AddCell(cellHeader);// adds the header with proeprties
}
//Add the actual rows from the datatable
for (int i = 0; i < dt.Rows.Count; i++) {
    for (int k = 0; k < dt.Columns.Count; k++) {
        PdfPCell cellRows = new PdfPCell(FormatPhrase(dt.Rows[i][k].ToString().Replace("<br/>","\n").Replace("<sup>","")));
        if (k != 2) {
            cellRows.HorizontalAlignment = 1;
            cellRows.VerticalAlignment = Element.ALIGN_MIDDLE;
        }
        else {
            cellRows.HorizontalAlignment = 0;
        }
        table3.AddCell(cellRows);
        table3.SplitRows = true;
        table3.SplitLate = true;
    }
}

A3ページサイズがあります。ここでの懸念は、テーブル内のデータがページ サイズを超えると、超過部分がトリミングされ、1 ページに収まるデータだけが表示されることです。表の内容をもとにマルチページ(自動改ページ)にする方法。現在、pdf の 1 ページに収まるデータが表示されています。複数のページが生成されているはずです。どうすればこれを達成できますか。

入力内容をお知らせください。感謝します。ありがとうございました。

4

1 に答える 1

0

これはうまくいくかもしれません。n 行ごとに新しいページを作成してみてください。現在のページが 10 行しか収まらない場合、10 レコードごとに新しいページを作成するとします。

最初のドキュメント インスタンスを作成したとします。

Document document =new Document(PageSize.A4);

n 行の後に、呼び出して新しいページを追加します

document.NewPage();
于 2013-07-29T21:33:21.567 に答える