4

すべての著作権テキスト、ページ番号などを含む表をフッターとして追加しようとしています。PdfPTable

フレーズには、次のようなコードがあります。

ColumnText.showTextAligned(writer.getDirectContent(),
        Element.ALIGN_CENTER, new Phrase(
            String.format("%d", document.getPageNumber())),
            (document.getPageSize().getLeft() + document.getPageSize().getRight())/2,
            document.getPageSize().getBottom() + 18, 0);
4

3 に答える 3

8

このPdfPTableクラスには、writeSelectedRows()(選択した列と行を) 絶対位置に追加するために使用できるメソッドがあります。

例:

于 2012-10-10T06:03:06.757 に答える
8

Bruno によって投稿された例は良い指針です。マジック ナンバーのない例を次に示します。

    private void writeFooterTable(PdfWriter writer, Document document, PdfPTable table) {
        final int FIRST_ROW = 0;
        final int LAST_ROW = -1;
        //Table must have absolute width set.
        if(table.getTotalWidth()==0)
            table.setTotalWidth((document.right()-document.left())*table.getWidthPercentage()/100f);
        table.writeSelectedRows(FIRST_ROW, LAST_ROW, document.left(), document.bottom()+table.getTotalHeight(),writer.getDirectContent());
    }

これにより、下部にあるテキストと重なる下部のドキュメント マージン内に PdfPTable が書き込まれます。余白に表を書きたい場合は、 のdocument.bottom()代わりに: を使用してくださいdocument.bottom()+table.getTotalHeight()


ヘッダー/フッターの例

このリンクの例に従っている場合の関連する注意事項として、「アート」ボックスは必須ではないようで、マジック ナンバー 36、54、559、788 は以下に対応します。

document.left(), document.bottom(), document.right(), document.top()
于 2015-03-09T21:11:59.543 に答える
0

カスタムフッターを実装するには、PdfPageEventHelperを実装する必要があります。

于 2012-10-09T10:07:26.810 に答える