4

最初:PDFの作成に使用できるフレームワークに関する私の知識は最高ではありません。答えるときはこのことを覚えておいてください。

JavaでPDFファイルを作成し、(重要な!)特定のx座標とy座標にテキストを配置できるフレームワーク/ライブラリが必要でした。多くの調査の結果、私はこれをiTextで実現できることを経験しました。

これは、基本的にiTextのテキストで現在行っていることを示す簡単なコードスニペットです。プログラミング環境にコピーするだけで、必要なのはiText jarだけです(ここからダウンロードできます:http ://sourceforge.net/projects/itext/files/latest/download?source = files )

import java.io.FileOutputStream;

import com.itextpdf.text.Document;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfWriter;

public class PDFTesting {

public static void main(String[] args) {
    Document document = new Document();
    try {
        PdfWriter writer = PdfWriter.getInstance(document,
                new FileOutputStream("output.pdf"));
        document.open();
        PdfContentByte cb = writer.getDirectContent();

        int x = 100; 
        int y = 500; 

        String text = "Hello"; 

        // now we can place content elements on the page
        BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        cb.saveState();
        cb.beginText();
        cb.moveText(x, y);
        cb.setFontAndSize(bf, 12);
        cb.showText(text);
        cb.endText();
        cb.restoreState();

    } catch (Exception e) {
    }

    document.close();
}
}

データソースからこのメソッドにテキストを追加する可能性を追加しましたが、これは非常に効果的です。結果は私には非常に有望に見えるので、現時点で私に残されているタスクは1つだけです。

上記の方法で移動および配置するテキストに特定の背景色(フォントの色ではありません!)を追加する必要があります。

私の調査では、このタスクに関する初心者向けの情報は提供されなかったので、これを解決するのを手伝っていただければ幸いです。

可能であれば:追加された例のテキストに背景色を追加する方法で私の例を変更できますか?私と他の人(将来同じ問題を抱えているこのスレッドを読んでいる可能性がある)は、これから最も恩恵を受けると思います。

さらに詳しい情報が必要な場合、または私に追加の提案がある場合は、私にもお気軽にご連絡ください。

すべての回答に感謝し、あなたが私と共有していると思いました。

4

2 に答える 2

3

私は自分の質問に対する解決策を見つけました。

Chunk textAsChunk = new Chunk(text, textFont);
textAsChunk.setBackground(new BaseColor(120, 200, 50));

ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase(textAsChunk), x, y, 0);

テキストをチャンクで定義し(チャンクはテキストの最小部分です)、このチャンクにテキストとフォント(テキストのサイズも含まれます)を指定します。チャンクで背景色を設定でき、全体として、表示されている「showTextAligned」-メソッドを使用してこれをドキュメントに追加します。

ここでxとyは座標を指定し、cbはPdfContentByteを表します。

于 2012-08-19T11:59:58.480 に答える
-1

使用setBackgroundColor()方法

ここでこの例を参照してください:

http://www.kodejava.org/examples/837.html

于 2012-08-18T17:29:30.733 に答える