13

横向きのページを含む PDF を作成したいと考えています。以下を使用してページのサイズを横向きに設定することは可能ですが、

document.setPageSize(PageSize.LETTER.rotate());

これは私が望むものを達成しません。なぜなら、私が追加したコンテンツはまだ左から右に向けられているのに、下から上にしたいからです。

IEこれは私が得ているものです:

コンテンツの横向き左 -> 右

私が欲しいのは:

コンテンツが下から上にあるランドスケープ

作成後に PDF を開き、iText を使用して回転させることで目的の出力を実現できましたが、コンテンツを追加した後、iText を使用してすぐに回転できるソリューションが必要です。

4

1 に答える 1

8

素晴らしい質問です。2回賛成できたら、そうします!

あなたはあなたが望むものを達成することができますPdfPageEvent

public class RotateEvent extends PdfPageEventHelper {
    public void onStartPage(PdfWriter writer, Document document) {
        writer.addPageDictEntry(PdfName.ROTATE, PdfPage.SEASCAPE);
    }
}

RotateEventライターを定義した直後にこれを使用する必要があります。

    PdfWriter writer = PdfWriter.getInstance(document, os);
    writer.setPageEvent(new RotateEvent());

SEASCAPE私はあなたの画像に示されている向きを取得していたことに注意してください。LANDSCAPEページを反対方向に向けたい場合にも使用できます。

「iText in Action」の第 3 版を書き始めたら、この質問を覚えておく必要があります。onStartPage()これは、イベントをいつ使用するかの良い例です。

于 2013-01-30T09:22:00.517 に答える