0
0

More than 1 year has passed since last update.

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

Posted at

背景

この記事では、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(String[]args){
        //ドキュメントを作成し、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();

    }
}

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

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0