テーブルを使用すると、読者は多くのテキストを読むことなくデータをすばやく確認できます。したがって、テーブルはドキュメントの不可欠な部分と見なされます。 PDFの自動化に取り組み、プログラムでPDFファイルを生成しているときに、テーブルを頻繁に作成する必要がある場合があります。これを実現するために、この記事では、Javaを使用してPDFファイルにテーブルを作成する方法について説明します。
PDFでテーブルを作成するJavaAPI-無料ダウンロード
Aspose.PDF for Javaは、Javaアプリケーション内でPDFの生成と操作を実行するための一般的なAPIです。 APIを使用すると、単純なレイアウトと複雑なレイアウトのPDFファイルをシームレスに作成できます。このAPIを使用して、新規または既存のPDFファイルにテーブルを作成します。 APIをダウンロードするか、次のMaven構成を使用してインストールできます。
リポジトリ:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
依存:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>22.4</version>
</dependency>
JavaでPDFにテーブルを作成する
Aspose.PDF for Javaを使用して、新規または既存のPDFファイルにテーブルを作成できます。以下は、JavaでPDFファイルにテーブルを作成する手順です。
- Documentクラスを使用してPDFファイルをロード(または新しいファイルを作成)します。
- テーブルを初期化し、Tableクラスを使用してその列と行を設定します。
- テーブルの設定(つまり、境界線)を設定します。
- Table.getRows().add()メソッドを使用して行を作成し、テーブルにデータを入力します。
- Document.getPages().get_Item(index).getParagraphs().add(Table)メソッドを使用して、テーブルをページに追加します。
- Document.save(String)メソッドを使用してPDFファイルを保存します。
次のコードサンプルは、Javaを使用してPDFファイルにテーブルを作成する方法を示しています。
// ドキュメントをロードまたは作成する
Document doc = new Document("input.pdf");
// テーブルの新しいインスタンスを初期化します
Table table = new Table();
// テーブルの境界線の色をLightGrayに設定します
table.setBorder(new BorderInfo(BorderSide.All, .5f, Color.getLightGray()));
// テーブルセルの境界線を設定します
table.setDefaultCellBorder(new BorderInfo(BorderSide.All, .5f, Color.getLightGray()));
// 10行を追加するループを作成します
for (int row_count = 1; row_count < 10; row_count++) {
// テーブルに行を追加
Row row = table.getRows().add();
// テーブルセルを追加する
row.getCells().add("Column (" + row_count + ", 1)");
row.getCells().add("Column (" + row_count + ", 2)");
row.getCells().add("Column (" + row_count + ", 3)");
}
// 入力ドキュメントの最初のページにテーブルオブジェクトを追加します
doc.getPages().get_Item(1).getParagraphs().add(table);
// テーブルを含む更新されたドキュメントを保存します
doc.save("create-table.pdf");
以下は、上記のコードサンプルの出力です。
Javaは、カスタマイズされた境界線とマージンを使用してPDFテーブルを作成します
要件に応じて、PDFの表の境界線と余白をカスタマイズすることもできます。たとえば、境界線の幅、境界線のスタイル、および上、下、左、右の余白を設定できます。以下は、JavaでPDFファイルのテーブルの境界線とマージンを設定する手順です。
- Documentクラスを使用してPDFファイルをロード(または新しいファイルを作成)します。
- テーブルを初期化し、Tableクラスを使用してその列と行を設定します。
- BorderInfoクラスのインスタンスを作成して、境界線のスタイルを適用します。
- MarginInfoクラスのインスタンスを作成して、テーブルのマージンを設定します。
- Table.getRows().add()メソッドを使用して行を作成し、テーブルにデータを入力します。
- Document.getPages().get_Item(index).getParagraphs().add(Table)メソッドを使用して、テーブルをページに追加します。
- Document.save(String)メソッドを使用してPDFファイルを保存します。
次のコードサンプルは、Javaを使用してPDFでテーブルの境界線と余白を設定する方法を示しています。
// 空のコンストラクターを呼び出して、Documentオブジェクトをインスタンス化します
Document doc = new Document();
// ページを追加
Page page = doc.getPages().add();
// テーブルオブジェクトをインスタンス化します
Table tab1 = new Table();
// 目的のセクションの段落コレクションにテーブルを追加します
page.getParagraphs().add(tab1);
// テーブルの列幅で設定
tab1.setColumnWidths ("50 50 50");
// BorderInfoオブジェクトを使用してデフォルトのセル境界線を設定します
tab1.setDefaultCellBorder(new BorderInfo(BorderSide.All, 0.1F));
// 別のカスタマイズされたBorderInfoオブジェクトを使用してテーブルの境界線を設定します
tab1.setBorder (new BorderInfo(BorderSide.All, 1F));
// MarginInfoオブジェクトを作成し、その左、下、右、および上のマージンを設定します
MarginInfo margin = new MarginInfo();
margin.setTop (5f);
margin.setLeft (5f);
margin.setRight (5f);
margin.setBottom (5f);
// デフォルトのセルパディングをMarginInfoオブジェクトに設定します
tab1.setDefaultCellPadding(margin);
// テーブルに行を作成してから、行にセルを作成します
Row row1 = tab1.getRows().add();
row1.getCells().add("col1");
row1.getCells().add("col2");
row1.getCells().add();
TextFragment mytext = new TextFragment("col3 with large text string");
row1.getCells().get_Item(2).getParagraphs().add(mytext);
row1.getCells().get_Item(2).setWordWrapped(false);
Row row2 = tab1.getRows().add();
row2.getCells().add("item1");
row2.getCells().add("item2");
row2.getCells().add("item3");
// PDFを保存
doc.save("create-table-margin-border.pdf");
次のスクリーンショットは、上記のコードサンプルの出力を示しています。
JavaPDFテーブルの作成-列調整の適用
Aspose.PDF for Javaでは、PDFのテーブルの列調整をカスタマイズすることもできます。たとえば、テーブルをウィンドウまたはコンテンツに自動調整できます。以下は、Javaを使用してPDFでテーブルの列調整を設定する手順です。
- Documentクラスを使用してPDFファイルをロード(または新しいファイルを作成)します。
- テーブルを初期化し、Tableクラスを使用してその列と行を設定します。
- 境界線とマージンを設定します。
- ColumnAdjustment列挙型の目的の値で列調整を設定します。
- Table.getRows().add()メソッドを使用して行を作成し、テーブルにデータを入力します。
- Document.getPages().get_Item(index).getParagraphs().add(Table)メソッドを使用して、テーブルをページに追加します。
- Document.save(String)メソッドを使用してPDFファイルを保存します。
次のコードサンプルは、Javaを使用してPDFでテーブルの列調整を設定する方法を示しています。
// 空のコンストラクターを呼び出してPDFオブジェクトをインスタンス化します
Document doc = new Document();
// PDFオブジェクトにセクションを作成します
Page sec1 = doc.getPages().add();
// テーブルオブジェクトをインスタンス化します
Table tab1 = new Table();
// 目的のセクションの段落コレクションにテーブルを追加します
sec1.getParagraphs().add(tab1);
// テーブルの列幅で設定
tab1.setColumnWidths("50 50 50");
tab1.setColumnAdjustment(ColumnAdjustment.AutoFitToWindow);
// BorderInfoオブジェクトを使用してデフォルトのセル境界線を設定します
tab1.setDefaultCellBorder(new BorderInfo(BorderSide.All, 0.1F));
// 別のカスタマイズされたBorderInfoオブジェクトを使用してテーブルの境界線を設定します
tab1.setBorder(new BorderInfo(BorderSide.All, 1F));
// MarginInfoオブジェクトを作成し、その左、下、右、および上のマージンを設定します
MarginInfo margin = new MarginInfo();
margin.setTop(5f);
margin.setLeft(5f);
margin.setRight(5f);
margin.setBottom(5f);
// デフォルトのセルパディングをMarginInfoオブジェクトに設定します
tab1.setDefaultCellPadding(margin);
// テーブルに行を作成してから、行にセルを作成します
Row row1 = tab1.getRows().add();
row1.getCells().add("col1");
row1.getCells().add("col2");
row1.getCells().add("col3");
Row row2 = tab1.getRows().add();
row2.getCells().add("item1");
row2.getCells().add("item2");
row2.getCells().add("item3");
// テーブルを含む更新されたドキュメントを保存します
doc.save("create-table-autofit.pdf");
PDFテーブルを作成するJavaAPI-無料ライセンスを取得
評価の制限なしにAspose.PDFforJavaを使用するには、無料の一時ライセンスを取得できます。
結論
この記事では、Javaを使用してPDFファイルにテーブルを作成する方法を学びました。さらに、境界線をカスタマイズする方法を見てきました。マージン、およびPDFのテーブルの列調整。さらに、ドキュメントを使用してJavaPDFAPIの詳細を調べることができます。ご不明な点やご質問がございましたら、フォーラムからお問い合わせください。