でiTextのを使用して、私はiTextのを使用して、このようなテーブルを生成したい:表ジェネレーション与えられた書式
最初の列は..... 1,2,3のように2列目の数字を持っているロール名などの属性名を持ち、最後の列には各属性に対応する実際のデータがあります。
でiTextのを使用して、私はiTextのを使用して、このようなテーブルを生成したい:表ジェネレーション与えられた書式
最初の列は..... 1,2,3のように2列目の数字を持っているロール名などの属性名を持ち、最後の列には各属性に対応する実際のデータがあります。
iTextを初めて使用したので、iTextの最新バージョンを使用する必要があります。それはiTextの7.0.3です:https://github.com/itext/itext7/releases
あなたはこのようになりますテーブルを作成したい: そのテーブルは、次のコードを使用して作成された
:
public static void main(String[] args) throws IOException {
PdfDocument pdf = new PdfDocument(new PdfWriter("table.pdf"));
Document document = new Document(pdf);
Table table = new Table(new float[]{1, 4, 4});
table.setWidthPercent(50);
table
.addHeaderCell(
new Cell().add("A")
.setTextAlignment(TextAlignment.CENTER))
.addHeaderCell(
new Cell().add("B")
.setTextAlignment(TextAlignment.CENTER))
.addHeaderCell(
new Cell().add("C")
.setTextAlignment(TextAlignment.CENTER));
for (int i = 1; i < 11; i++) {
table
.addCell(
new Cell().add(String.format("%s.", i))
.setTextAlignment(TextAlignment.RIGHT)
.setBorderTop(Border.NO_BORDER)
.setBorderBottom(Border.NO_BORDER))
.addCell(
new Cell().add(String.format("key %s", i))
.setBorderTop(Border.NO_BORDER)
.setBorderBottom(Border.NO_BORDER))
.addCell(
new Cell().add(String.format("value %s", i))
.setBorderTop(Border.NO_BORDER)
.setBorderBottom(Border.NO_BORDER));
}
table
.addFooterCell(
new Cell().add("A")
.setTextAlignment(TextAlignment.CENTER))
.addFooterCell(
new Cell().add("B")
.setTextAlignment(TextAlignment.CENTER))
.addFooterCell(
new Cell().add("C")
.setTextAlignment(TextAlignment.CENTER));
document.add(table);
document.close();
}
pdf
オブジェクトが低いのPDF構文をPdfWriter
に書き込むレベルのPDFドキュメント。 pdf
オブジェクトを使用してdocument
という名前のDocument
インスタンスを作成します。これは、Paragraph
、Image
、List
などのすべての種類のビルディングブロックを追加できる上位レベルのドキュメントで、その他のハイレベルオブジェクトです。
あなたの場合、テーブルを追加したいので、Table
インスタンスを作成します。我々は3つの列が必要なので、3つの要素を持つfloat
配列を渡します。最初の列の幅は、2番目と3番目の列の幅の1/4です。テーブル上で利用可能な幅の50%をテーブルに収めたい。
ここでは、細胞を追加します。
addHeaderCell()
メソッドを使用して、addCell()
メソッドを使用して、そしてaddFooterCell()
メソッドを使用しますが、細胞の3種類を追加することができます。テーブルがページに収まらない場合、それは異なるページに分散され、ヘッダーとフッターのセルが繰り返されます。
これらのメソッドの1つに渡されるパラメータは、Cell
です。各セルの配置、境界線などを変更することができます。利用可能なプロパティの詳細については、tutorialとAPI documentationを参照してください。
[なぜ誰かが私を助けることができますか?実際の質問ではありませんか?](http://meta.stackoverflow.com/q/284236) – EJoshuaS
これまでに何を試みましたか? – scsere
文書をお読みになりましたか? http://developers.itextpdf.com/content/itext-7-building-blocks/chapter-5-adding-abstractelement-objects-part-2 –