2010-12-13 25 views

答えて

2

iText ImageはRectangleを拡張します。あなたはイメージの新しい実装を行うことができます。

テンプレートからイメージを作成し、コンテンツバイトを使用してテンプレートを作成することができます。

テンプレートを作成し、テンプレートを作成し、画像を作成して、目的のセルに画像を設定することができます。私は長方形のパターンと似たようなことをやってきました。

編集:セル全体を塗りつぶすだけであれば、setBackgroundsetBorderメソッドを使用できます。

+0

Jesに感謝します。しかし、四角形や四角形を作成し、それをPdfPCellに挿入する方法の例を挙げてください。私はテーブルを使ってフォームを作っています。その内部には、クライアントが記入しなければならない性別フィールドがあります。イエスを助けてください。再度、感謝します。 – Lucas

+0

まず、'cb.createTemplate() 'メソッドを使用してテンプレートを作成する必要があります。これでテンプレートに必要なものを描画できます(テンプレートはコンテンツバイトなので)。必要なものを描画したら、そこからitextイメージを作成することができます。矩形を描画する方法については、http://www.java2s.com/Tutorial/Java/0419__PDF/Drawrectangle.htmを参照してください。 – Jes

0

PdfPCellは、画像を設定する方法がPdfPCell#setImage(Image)です。あなたはそれを使用できませんでしたか?

+1

mmm試してみます。しかし、私が本当に欲しいのは、画像ではなく矩形の形をセルに挿入することです。ボリスに感謝します。 – Lucas

8

Googleはこれの完全なコード例については何の役にも立たないので、これを行う方法を理解するために多くの時間を費やしました(Jesの説明がかなり明確に見える場合でも...)より多くのシークアが完全なコード例を持つことができるように例を掲載します。

PdfPTable table = new PdfPTable(1); 
table.setTotalWidth(450); 

PdfTemplate template = cb.createTemplate(30, 30); 
template .setLineWidth(0.5f); 
template .rectangle(0, 0, 17f, 17f); 
template .stroke(); 

Image img = Image.getInstance(template);   
Chunk chunk = new Chunk(img, 1f, 1f); 

PdfPCell cell = new PdfPCell(); 
cell.addElement(chunk); 
table.addCell(cell); 
+0

これは、矩形がストロークにベゼル効果を伴って現れるところに影響します。これを防ぐ方法はありますか? – Eterm

関連する問題