フッターコンテンツにスキップ
JAVA用IRONPDFの使用

Javaを使用してPDFドキュメントにテーブルを作成する方法(チュートリアル)

この記事では、Javaを使用してPDF文書内にテーブルを作成する方法を示します。

Javaプログラムを使ってPDF文書にテーブルを作成するためには、サードパーティのライブラリが必要です。 複数のライブラリがあり、Javaプログラムを使ってPDF内にテーブルを作成することができます。 しかし、それらは高価であったり、使いにくかったり、パフォーマンスの問題があったりします。 使いやすく、開発で無料で、効果的に機能するライブラリを見つけるのは難しいことがあります。

IronPDFは、PDFファイルを操作するのに非常に便利なライブラリの1つです。 公式JavaページのIronPDFをクリックすることで、IronPDFに関する詳細情報を見つけることができます。

この記事でカバーされている手順は以下の通りです:

  1. 新しいプロジェクトを作成
  2. IronPDFライブラリをインストール
  3. 新しいPDF文書を作成
  4. そのテーブルを作成
  5. PDF文書に動的な値を追加

新しいJavaプロジェクトを作成

お好みのIDEを開きます。この記事ではIntelliJが推奨されていますので、別のIDEを使用する場合は新しいプロジェクトを作成する手順が異なる場合があります。

IntelliJ IDE を開き、上部メニューのファイル > 新しいプロジェクトをクリックします。 プロジェクトに名前を付け、場所、言語、ビルドシステム、JDKを以下のように選択します。

Javaを使用してPDF文書にテーブルを作成する方法(チュートリアル)、図1: IntelliJ IDE新しいプロジェクトウィンドウ IntelliJ IDE新しいプロジェクトウィンドウ

プロジェクトを作成ボタンをクリックすると、新しいプロジェクトが作成されます。

IronPDFライブラリをインストールする

次に、新しく作成したプロジェクトにIronPDFのライブラリをインストールします。 次の手順を続行します。

pom.xmlファイルを開き、IronPDFを使用するために必要な依存関係とリポジトリを追加します。 この記事ではpom.xmlの具体的な内容は提供されていませんが、Mavenの依存関係管理を使用してIronPDFライブラリを適切に含めるようにしてください。

<!-- Add IronPDF dependencies here -->
<dependencies>
    <!-- Example dependency for IronPDF, actual group and artifact id to be retrieved from official documentation -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>VERSION_NUMBER</version>
    </dependency>
</dependencies>
<!-- Add IronPDF dependencies here -->
<dependencies>
    <!-- Example dependency for IronPDF, actual group and artifact id to be retrieved from official documentation -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>VERSION_NUMBER</version>
    </dependency>
</dependencies>
XML

指定したMavenの依存関係をインストールするには、次のコマンドをターミナルに入力してEnterを押してください。

mvn install
mvn install
SHELL

これで、このプロジェクトにIronPDFがインストールされます。

IronPDFクラスを使用するために次のインポート文を追加します。

import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.*;
JAVA

まず最初に、Javaで簡単なPDF文書を作成することを学びましょう。

PDF文書を作成

次のサンプルコードは、新しいPDF文書を作成します。

public static void main(String[] args) throws IOException {
    // Create a PDF document from an HTML string
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is a sample PDF file");

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    // Create a PDF document from an HTML string
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is a sample PDF file");

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

[renderHtmlAsPdf](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String))メソッドは文字列を引数として受け取り、その文字列をPDF文書のインスタンスに変換します。

[saveAs](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#saveAs(java.lang.String))関数はファイルパスを引数として受け取り、指定されたファイルパスに新たに作成されたPDF文書を保存します。

上記のコードからPDFが作成され、次の画像に示されています。

Javaを使用してPDF文書にテーブルを作成する方法(チュートリアル)、図2: 新しいPDF文書 新しいPDF文書

PDFファイルのためのテーブルを作成

次のコードはPDF内にテーブルを作成します。

public static void main(String[] args) throws IOException {
    // HTML content for creating a table
    String tableContent = "<table>\n" +
        "  <tr>\n" +
        "    <th>Company</th>\n" +
        "    <th>Contact</th>\n" +
        "    <th>Country</th>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Alfreds Futterkiste</td>\n" +
        "    <td>Maria Anders</td>\n" +
        "    <td>Germany</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Centro comercial Moctezuma</td>\n" +
        "    <td>Francisco Chang</td>\n" +
        "    <td>Mexico</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Ernst Handel</td>\n" +
        "    <td>Roland Mendel</td>\n" +
        "    <td>Austria</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Island Trading</td>\n" +
        "    <td>Helen Bennett</td>\n" +
        "    <td>UK</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Laughing Bacchus Winecellars</td>\n" +
        "    <td>Yoshi Tannamuri</td>\n" +
        "    <td>Canada</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Magazzini Alimentari Riuniti</td>\n" +
        "    <td>Giovanni Rovelli</td>\n" +
        "    <td>Italy</td>\n" +
        "  </tr>\n" +
        "</table>";

    // Create a PDF document with table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    // HTML content for creating a table
    String tableContent = "<table>\n" +
        "  <tr>\n" +
        "    <th>Company</th>\n" +
        "    <th>Contact</th>\n" +
        "    <th>Country</th>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Alfreds Futterkiste</td>\n" +
        "    <td>Maria Anders</td>\n" +
        "    <td>Germany</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Centro comercial Moctezuma</td>\n" +
        "    <td>Francisco Chang</td>\n" +
        "    <td>Mexico</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Ernst Handel</td>\n" +
        "    <td>Roland Mendel</td>\n" +
        "    <td>Austria</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Island Trading</td>\n" +
        "    <td>Helen Bennett</td>\n" +
        "    <td>UK</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Laughing Bacchus Winecellars</td>\n" +
        "    <td>Yoshi Tannamuri</td>\n" +
        "    <td>Canada</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Magazzini Alimentari Riuniti</td>\n" +
        "    <td>Giovanni Rovelli</td>\n" +
        "    <td>Italy</td>\n" +
        "  </tr>\n" +
        "</table>";

    // Create a PDF document with table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

上記のコードは、Javaを使用してPDF内にテーブルを作成するためにシンプルなHTMLタグを使用しています。 したがって、テーブルを作成するには、HTMLタグの使用に関する基本的な知識が必要です。 ほとんどのJavaプログラマーはHTMLの知識を持っているので、HTMLタグを使用して新しいテーブルとテーブルセルの作成は非常に簡単です。

このプログラムで生成されたPDFファイルは次の画像に示されています:

Javaを使用してPDF文書にテーブルを作成する方法(チュートリアル)、図3: HTMLからのテーブルを含むPDF文書 HTMLからのテーブルを含むPDF文書

それはスタイリングのない単純なテーブルです。

次に、このテーブルにスタイリングを追加し、幅、余白、レイアウト、フォント、背景色などを設定します。

テーブルにスタイリングを追加

以下のサンプルコードは、テーブルを形式化し、セルにスタイリングを追加します。

public static void main(String[] args) throws IOException {
    // HTML and CSS content for styling the table
    String htmlStyle = "<!DOCTYPE html>\n" +
        "<html>\n" +
            "<head>\n" +
                "<style>\n" +
                    "table {\n" +
                    "  font-family: arial, sans-serif;\n" +
                    "  border-collapse: collapse;\n" +
                    "  width: 100%;\n" +
                    "}\n" +
                    "\n" +
                    "td, th {\n" +
                    "  border: 1px solid #dddddd;\n" +
                    "  text-align: left;\n" +
                    "  padding: 8px;\n" +
                    "}\n" +
                    "\n" +
                    "tr:nth-child(even) {\n" +
                    "  background-color: #dddddd;\n" +
                    "}\n" +
                "</style>\n" +
            "</head>\n" +
        "<body>";

    String tableContent = "<table>\n" +
        "  <tr>\n" +
        "    <th>Company</th>\n" +
        "    <th>Contact</th>\n" +
        "    <th>Country</th>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Alfreds Futterkiste</td>\n" +
        "    <td>Maria Anders</td>\n" +
        "    <td>Germany</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Centro comercial Moctezuma</td>\n" +
        "    <td>Francisco Chang</td>\n" +
        "    <td>Mexico</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Ernst Handel</td>\n" +
        "    <td>Roland Mendel</td>\n" +
        "    <td>Austria</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Island Trading</td>\n" +
        "    <td>Helen Bennett</td>\n" +
        "    <td>UK</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Laughing Bacchus Winecellars</td>\n" +
        "    <td>Yoshi Tannamuri</td>\n" +
        "    <td>Canada</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Magazzini Alimentari Riuniti</td>\n" +
        "    <td>Giovanni Rovelli</td>\n" +
        "    <td>Italy</td>\n" +
        "  </tr>\n" +
        "</table>\n</body>\n" +
        "</html>";

    // Create a PDF document with styled table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    // HTML and CSS content for styling the table
    String htmlStyle = "<!DOCTYPE html>\n" +
        "<html>\n" +
            "<head>\n" +
                "<style>\n" +
                    "table {\n" +
                    "  font-family: arial, sans-serif;\n" +
                    "  border-collapse: collapse;\n" +
                    "  width: 100%;\n" +
                    "}\n" +
                    "\n" +
                    "td, th {\n" +
                    "  border: 1px solid #dddddd;\n" +
                    "  text-align: left;\n" +
                    "  padding: 8px;\n" +
                    "}\n" +
                    "\n" +
                    "tr:nth-child(even) {\n" +
                    "  background-color: #dddddd;\n" +
                    "}\n" +
                "</style>\n" +
            "</head>\n" +
        "<body>";

    String tableContent = "<table>\n" +
        "  <tr>\n" +
        "    <th>Company</th>\n" +
        "    <th>Contact</th>\n" +
        "    <th>Country</th>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Alfreds Futterkiste</td>\n" +
        "    <td>Maria Anders</td>\n" +
        "    <td>Germany</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Centro comercial Moctezuma</td>\n" +
        "    <td>Francisco Chang</td>\n" +
        "    <td>Mexico</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Ernst Handel</td>\n" +
        "    <td>Roland Mendel</td>\n" +
        "    <td>Austria</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Island Trading</td>\n" +
        "    <td>Helen Bennett</td>\n" +
        "    <td>UK</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Laughing Bacchus Winecellars</td>\n" +
        "    <td>Yoshi Tannamuri</td>\n" +
        "    <td>Canada</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Magazzini Alimentari Riuniti</td>\n" +
        "    <td>Giovanni Rovelli</td>\n" +
        "    <td>Italy</td>\n" +
        "  </tr>\n" +
        "</table>\n</body>\n" +
        "</html>";

    // Create a PDF document with styled table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

追加されたCSSはPDF内のテーブルをスタイリングするために使われます。 したがって、必要に応じてスタイリングするためにCSSを使用することは非常に効率的です。

このプログラムで生成されたPDFは以下の通りです。

Javaを使用してPDF文書にテーブルを作成する方法(チュートリアル)、図4: HTMLからのテーブルを含み、CSSでスタイリングされたPDF文書 HTMLからのテーブルを含み、CSSでスタイリングされたPDF文書

上記のコードは非常に乱雑に見えます。 しかし、すべてのHTMLコンテンツをHTMLファイルに移動し、そのファイルからPDFを生成することでクリーンにすることができます。

Javaを使用してPDF内でHTMLファイルを使用してテーブルを作成

新しいHTMLファイルを作成し、以下に示すようにそのファイルにすべてのHTMLコンテンツを追加します:

Javaを使用してPDF文書にテーブルを作成する方法(チュートリアル)、図5: 独自のHTMLファイルに移動されたHTML 独自のHTMLファイルに移動されたHTML

Javaプログラムに次のコードを追加します。

// Create a PDF document from an HTML file
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");

try {
    // Save the created PDF document to a file
    myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
// Create a PDF document from an HTML file
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");

try {
    // Save the created PDF document to a file
    myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

HTML文書を使用してPDFを生成するのがどれほど簡単か見ることができます。 JavaでPDFファイルを作成する必要がある場合、最も簡単な方法は、コンテンツとスタイリングを含んだ別のHTML文書を作成し、次にHTML文書を1行のコードでPDFに変換することです。

Javaを使用してPDF文書にテーブルを作成する方法(チュートリアル)、図6: スタイリングされた最終PDF文書 スタイリングされた最終PDF文書

まとめ

このチュートリアルでは、Javaを使用してPDFファイルにスタイル付きテーブルを作成する方法を示し、HTMLファイルをPDFファイルに変換することを学びました。 IronPDF for Javaは、PDFファイルに画像を追加する、PDFファイルを分割するヘッダーとフッターを追加するデジタル署名を適用するなどの機能を提供しています。 IronPDFドキュメントを探索して、これらの機能と追加の機能についてさらに学んでください。

生成されたPDF文書からIronPDFの透かしを削除するには、ライセンスキーを購入するか、無料トライアルに登録してください。

よくある質問

PDFを作成するために新しいJavaプロジェクトをどのように開始すればよいですか?

PDFを作成するために新しいJavaプロジェクトを開始するには、IntelliJなどのIDEを使用できます。プロジェクトを設定して、Maven経由でIronPDFライブラリをインストールしてPDFの作成と操作を行います。

JavaでHTMLコンテンツをPDFに変換するためにはどの手順が必要ですか?

JavaでHTMLコンテンツをPDFに変換するには、IronPDFのPdfDocument.renderHtmlAsPdfメソッドを使用できます。これはHTMLコンテンツを書き、オプションでCSSでスタイルを設定し、それをPDFにレンダリングします。

Javaで生成されたPDFでCSSを使用してテーブルをスタイルできますか?

はい、HTMLコンテンツ内にCSSを含めた後にPDFにレンダリングすることで、CSSを使用してテーブルをスタイルできます。これによりフォント、ボーダー、色などを定義できます。

Javaを使用して外部HTMLファイルからPDFを作成するにはどうすればよいですか?

Javaで外部HTMLファイルからPDFを作成するには、IronPDFのPdfDocument.renderHtmlFileAsPdfメソッドを使用できます。これにより、HTMLファイル全体をPDFドキュメントに変換します。

JavaでPDF作成のためにサードパーティのライブラリを使用する利点は何ですか?

IronPDFのようなサードパーティのライブラリを使用することで、JavaでのPDF作成が簡素化され、HTMLからPDFへの変換やテーブルのスタイリング、画像や電子署名のサポートなどの追加機能が提供されます。

Javaライブラリを使用してPDFドキュメントに画像を含める方法は?

レンダリングするHTMLコンテンツ内に画像を埋め込むことにより、PDFドキュメントに画像を含めることができます。この方法で視覚要素をシームレスに組み込めます。

JavaでPDFを分割するためのオプションは何ですか?

IronPDFはPDFを分割するオプションを提供し、単一のPDFを複数のドキュメントに分割できます。この機能は大きなドキュメントの管理や特定のセクションを抽出する場合に特に便利です。

JavaでPDFにデジタル署名を適用する方法は?

IronPDFの組み込み機能を使用してPDFにデジタル署名を適用することができ、ドキュメントのセキュリティと信頼性を向上させます。

PDFドキュメントに透かしが入っている場合はどうすればよいですか?

IronPDFで作成されたPDFドキュメントに透かしがある場合は、ライセンスキーを購入するか、無料トライアルライセンスに登録することでそれを削除できます。

Darrius Serrant
フルスタックソフトウェアエンジニア(WebOps)

Darrius Serrantは、マイアミ大学でコンピュータサイエンスの学士号を取得し、Iron SoftwareでフルスタックWebOpsマーケティングエンジニアとして働いています。若い頃からコーディングに惹かれ、コンピューティングを神秘的かつアクセス可能なものとし、創造性と問題解決のための完璧な媒体と考えていました。

Iron Softwareでは、新しいものを創造することと、複雑なコンセプトをより理解しやすくすることを楽しんでいます。Resident Developerの一人として、次世代に専門知識を共有するために、学生を教えることにも志願しました。

Darriusにとって、その仕事は価値があり、実際の影響があるため、満足感があります。