Javaを使用してPDFドキュメントにテーブルを作成する方法(チュートリアル)
この記事では、Javaを使用してPDF文書内にテーブルを作成する方法を示します。
Javaプログラムを使ってPDF文書にテーブルを作成するためには、サードパーティのライブラリが必要です。 複数のライブラリがあり、Javaプログラムを使ってPDF内にテーブルを作成することができます。 しかし、それらは高価であったり、使いにくかったり、パフォーマンスの問題があったりします。 使いやすく、開発で無料で、効果的に機能するライブラリを見つけるのは難しいことがあります。
IronPDFは、PDFファイルを操作するのに非常に便利なライブラリの1つです。 公式JavaページのIronPDFをクリックすることで、IronPDFに関する詳細情報を見つけることができます。
この記事でカバーされている手順は以下の通りです:
- 新しいプロジェクトを作成
- IronPDFライブラリをインストール
- 新しいPDF文書を作成
- そのテーブルを作成
- PDF文書に動的な値を追加
新しいJavaプロジェクトを作成
お好みのIDEを開きます。この記事ではIntelliJが推奨されていますので、別のIDEを使用する場合は新しいプロジェクトを作成する手順が異なる場合があります。
IntelliJ IDE を開き、上部メニューのファイル > 新しいプロジェクトをクリックします。 プロジェクトに名前を付け、場所、言語、ビルドシステム、JDKを以下のように選択します。
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>指定したMavenの依存関係をインストールするには、次のコマンドをターミナルに入力してEnterを押してください。
mvn installmvn installこれで、このプロジェクトにIronPDFがインストールされます。
IronPDFクラスを使用するために次のインポート文を追加します。
import com.ironsoftware.ironpdf.*;import com.ironsoftware.ironpdf.*;まず最初に、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);
}
}[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が作成され、次の画像に示されています。
新しい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を使用してPDF内にテーブルを作成するためにシンプルなHTMLタグを使用しています。 したがって、テーブルを作成するには、HTMLタグの使用に関する基本的な知識が必要です。 ほとんどのJavaプログラマーはHTMLの知識を持っているので、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);
}
}追加されたCSSはPDF内のテーブルをスタイリングするために使われます。 したがって、必要に応じてスタイリングするためにCSSを使用することは非常に効率的です。
このプログラムで生成されたPDFは以下の通りです。
HTMLからのテーブルを含み、CSSでスタイリングされたPDF文書
上記のコードは非常に乱雑に見えます。 しかし、すべてのHTMLコンテンツをHTMLファイルに移動し、そのファイルからPDFを生成することでクリーンにすることができます。
Javaを使用してPDF内でHTMLファイルを使用してテーブルを作成
新しい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);
}HTML文書を使用してPDFを生成するのがどれほど簡単か見ることができます。 JavaでPDFファイルを作成する必要がある場合、最も簡単な方法は、コンテンツとスタイリングを含んだ別のHTML文書を作成し、次にHTML文書を1行のコードで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ドキュメントに透かしがある場合は、ライセンスキーを購入するか、無料トライアルライセンスに登録することでそれを削除できます。










