Javaを使ってPDFドキュメントにテーブルを追加する方法

この記事では、Javaプログラミングを介してPDFドキュメントにテーブルを追加する方法を紹介します。テーブルを追加するときに、テーブルの境界線、セルの配置、セルの背景色、セルの結合、画像の挿入、行の高さ、列の幅、フォント、フォントサイズなどの基本的な属性を設定できます。

 

下準備

使用ツール:Free Spire.PDF for Java(無料版)

 

JARファイルの取得とインポート:

公式ウェブサイトからjarファイルパッケージをダウンロードします。ダウンロードした後、ファイルを解凍し、libフォルダー内のSpire.Pdf.jarファイルをJavaプログラムにインポートします。

 

コード一覧

import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import com.spire.pdf.grid.PdfGrid;
import java.awt.*;

public class AddTable {
    public static void main(Stringargs){
        //ドキュメントを作成し、PDFページを追加する
       
PdfDocument pdf = new PdfDocument();
        PdfPageBase page = pdf.getPages().add();

        //PdfGridオブジェクトを作成する
       
PdfGrid grid = new PdfGrid();

        //セルの余白、デフォルトのフォント、フォントの色、デフォルトの背景色を設定する
       
grid.getStyle().setCellPadding(new PdfPaddings(3,3,3,3));
        grid.getStyle().setFont(new PdfTrueTypeFont(new Font("Yu Mincho", Font.BOLD,10), true));
        grid.getStyle().setTextBrush(PdfBrushes.getBlack());

        //PdfBordersオブジェクトを作成し、色と厚さを設定する
       
PdfBorders borders= new PdfBorders();
        borders.setAll(new PdfPen(PdfBrushes.getBlack(),1f));

        //データを定義する
       
String
data = {"大学名称;Logo;場所;分類",
                      "東京大学;;文京区;国立",
                      "京都大学;;京都市;国立",
                     "北海道大学;;札幌市;国立",
                    "名古屋大学;;名古屋市;国立",
        };
        String dataSource = new String[data.length][];
        for (int i = 0; i < data.length; i++) {
            dataSource[i] = data[i].split("[;]");
        }

        //テーブルにデータを入力する
       
grid.setDataSource(dataSource);

        //表の2列目に画像を入力し、列幅を設定する
       
grid.getRows().get(1).getCells().get(1).getStyle().setBackgroundImage(PdfImage.fromFile("C:\\Users\\Administrator\\Pictures\\01.png"));
        grid.getRows().get(2).getCells().get(1).getStyle().setBackgroundImage(PdfImage.fromFile("C:\\Users\\Administrator\\Pictures\\02.png"));
        grid.getRows().get(3).getCells().get(1).getStyle().setBackgroundImage(PdfImage.fromFile("C:\\Users\\Administrator\\Pictures\\03.png"));
        grid.getRows().get(4).getCells().get(1).getStyle().setBackgroundImage(PdfImage.fromFile("C:\\Users\\Administrator\\Pictures\\04.png"));
        grid.getColumns().get(1).setWidth(100f);

        //セルを垂直に結合する
       
grid.getRows().get(1).getCells().get(3).setRowSpan(4);

        //テーブルを設定する
       
for (int i = 0; i < data.length ; i++) {
            //各行の高さを設定する
           
grid.getRows().get(i).setHeight(50f);
            //最初の列のフォントを設定する
           
grid.getRows().get(i).getCells().get(0).getStyle().setFont(new PdfTrueTypeFont(new Font("Yu Mincho",Font.BOLD,12),true));

            for(int j =0;j<grid.getColumns().getCount();j++){
                //すべてのセルを中央に配置する
               
grid.getRows().get(i).getCells().get(j).setStringFormat(new PdfStringFormat(PdfTextAlignment.Center,PdfVerticalAlignment.Middle));
                //最初の行の背景色を設定する
               
grid.getRows().get(0).getCells().get(j).getStyle().setBackgroundBrush(PdfBrushes.getBeige());
            }
        }

        //PDFにテーブルを描画する
       
grid.draw(page,0,30);

        //ドキュメントを保存する
       
pdf.saveToFile("AddTable.pdf");
        pdf.close();

    }
}

テーブルを追加した結果:

f:id:uha_noki:20211229154804p:plain

以上はPDFドキュメントにテーブルを追加する方法でした、最後まで読んでいただき誠にありがとうございます。