JavaでPDFファイルにテーブルを作成する

テーブルを使用すると、読者は多くのテキストを読むことなくデータをすばやく確認できます。したがって、テーブルはドキュメントの不可欠な部分と見なされます。 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ファイルにテーブルを作成する

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");

次のスクリーンショットは、上記のコードサンプルの出力を示しています。

カスタマイズされた境界線とマージンを使用してPDFテーブルを作成するJava

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の詳細を調べることができます。ご不明な点やご質問がございましたら、フォーラムからお問い合わせください。

関連項目