IronPdfEngineをセットアップする方法
IronPdfEngineはすべてのPDF操作を行うgRPCサーバーです — 作成、編集、読み取り、およびレンダリング。 IronPDF for Javaライブラリはこのサーバーを囲むAPIラッパーです:Javaコードが任意のIronPDFメソッドを呼び出すと、IronPdfEngineが作業を実行します。 デフォルトでは、IronPDF for JavaはIronPdfEngineをローカルサブプロセスとして起動し、そのライフサイクルを自動管理します。 より高度なデプロイメントのために — 共有マイクロサービス、Dockerコンテナ、またはエアギャップネットワーク — IronPdfEngineを独立したリモートサーバーとして実行できます。
クイックスタート:Java用のIronPdfEngineをセットアップ
Java用のIronPdfEngineのセットアップ方法
- IronPDFの依存関係を
pom.xmlファイルに追加します - ローカルモードを選択:ランタイムダウンロードまたはバンドルされた依存関係
- リモートモードの場合、
setIronPdfEngineHostを使用してホストアドレスを設定します - リモートモードの場合、
setIronPdfEnginePortを使用してポートを設定します - 任意のIronPDFレンダリングメソッドを呼び出します — IronPdfEngineがPDF作業を処理します
各バージョンのIronPDF for Javaは対応するバージョンのIronPdfEngineを必要とします。クロスバージョンの互換性はサポートされていません。 Settings.getIronPdfEngineVersion()を使用して必要なバージョンを確認してください。)
どのデプロイメントモードを使用すべきですか?
IronPdfEngineはローカルとリモートの2つのデプロイメントアプローチをサポートします。 それらの選択は、アプリケーションのアーキテクチャに依存します。
ローカルモード(デフォルト)は、スタンドアロンアプリケーション、デスクトップツール、単一サーバーデプロイメントに適しています。 IronPDF for Javaは、IronPdfEngineをサブプロセスとして自動的に起動します — 別のインフラストラクチャは必要ありません。 ローカルモードには、IronPdfEngineバイナリを取得するための2つのオプションがあります:最初の実行時にダウンロードするか、Maven依存関係としてバンドルするかです。
リモートモードは、一度のIronPdfEngineインスタンスが複数のアプリケーションノードをサポートする分散システムに適しています。 また、Dockerベースのデプロイメント、Kubernetesポッド、実行時にバイナリをダウンロードできないエアギャップネットワーク、PDF処理の中央集権化によってサービスごとのオーバーヘッドを減少させるシナリオで推奨されるアプローチです。
以下のセクションでは、両方のモードを詳細に説明しています。
ローカルIronPdfEngineはどのようにセットアップしますか?
IronPdfEngineをローカルで実行するための2つのオプションがあります。 どちらも同じランタイム動作を生成します — 違いはエンジンバイナリがターゲットマシンに到着するタイミングと方法です。
オプション1:ランタイムでIronPdfEngineをダウンロード
デフォルトでは、コアironpdf依存関係を追加した後、IronPDFは最初の実行でホストプラットフォーム(例: Windows x64やLinux x64)を検出し、インターネットから一致するIronPdfEngineバイナリをダウンロードします。
//:path=pom.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>20xx.xx.xx</version>
</dependency>
//:path=pom.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>20xx.xx.xx</version>
</dependency>
初回ダウンロード後、バイナリはローカルにキャッシュされ、後続の実行はネットワーク呼び出しなしで開始します。
| 利点 | 制限 |
|---|---|
| 最小のアプリケーションパッケージサイズ | 初回実行時にインターネットアクセスが必要 |
| 一つのアーティファクトから複数のターゲットプラットフォームをサポート | バイナリのダウンロード中は起動が遅くなります |
オプション2:依存関係としてIronPdfEngineをバンドル(推奨)
IronPDF Javaはプラットフォーム固有のIronPdfEngineを.zipファイルとして依存関係内にバンドルしたMavenアーティファクトを提供します。 ライブラリは自動的に抽出して使用します — 実行時のネットワーク呼び出しは必要ありません。
//:path=pom.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>20xx.xx.xxxx</version>
</dependency>
//:path=pom.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>20xx.xx.xxxx</version>
</dependency>
ターゲット環境のプラットフォームアーティファクトを追加します。 ターゲットプラットフォーム用のアーティファクトのみをインストールします — 各アーティファクトは大きく、すべてをインストールするとビルドが不必要に膨らみます。
Windows x64
//:path=pom.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf-engine-windows-x64</artifactId>
<version>20xx.xx.xxxx</version>
</dependency>
//:path=pom.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf-engine-windows-x64</artifactId>
<version>20xx.xx.xxxx</version>
</dependency>
Windows x86
//:path=pom.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf-engine-windows-x86</artifactId>
<version>20xx.xx.xxxx</version>
</dependency>
//:path=pom.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf-engine-windows-x86</artifactId>
<version>20xx.xx.xxxx</version>
</dependency>
Linux x64
//:path=pom.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf-engine-linux-x64</artifactId>
<version>20xx.xx.xxxx</version>
</dependency>
//:path=pom.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf-engine-linux-x64</artifactId>
<version>20xx.xx.xxxx</version>
</dependency>
macOS x64
//:path=pom.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf-engine-macos-x64</artifactId>
<version>20xx.xx.xxxx</version>
</dependency>
//:path=pom.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf-engine-macos-x64</artifactId>
<version>20xx.xx.xxxx</version>
</dependency>
macOS ARM(Apple Silicon)
//:path=pom.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf-engine-macos-arm64</artifactId>
<version>20xx.xx.xxxx</version>
</dependency>
//:path=pom.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf-engine-macos-arm64</artifactId>
<version>20xx.xx.xxxx</version>
</dependency>
ironpdf-engine-xxx-xxx依存関係のバージョンは正確に一致している必要があります。 バージョン文字列は、IronPDF for Javaリリースを指し、IronPdfEngineの内部バージョン番号ではありません。
| 利点 | 制限 |
|---|---|
| 起動が高速 - ダウンロードステップなし | アプリケーションパッケージが大きくなります |
| インストール後にインターネットアクセスは不要 | ターゲットプラットフォームを明示的に指定する必要があります |
| エアギャップ環境での一貫した動作 | 複数のプラットフォームアーティファクトのインストールによりビルドサイズが大幅に膨らみます |
リモートIronPdfEngineにどのように接続しますか?
リモートモードでは、複数のアプリケーションインスタンスが1つのIronPdfEngineサーバーをgRPC経由で共有できます。 これは、マイクロサービスアーキテクチャ、コンテナ化デプロイメント、およびPDF処理が中央化されている環境で一般的です。
必要なIronPdfEngineバージョンをどのように確認しますか?
バージョンの一致は厳密です — IronPDF for Java 2024.2.2はIronPdfEngine 2024.2.2が必要です。 サーバをデプロイする前に必要なバージョンを確認するためにgetIronPdfEngineVersionを使用してください。
:path=/static-assets/ironpdf-java/content-code-examples/get-started/use-ironpdfengine-8.java
// Retrieve the IronPdfEngine version required by this Java library build
String ironPdfEngineVersion = Settings.getIronPdfEngineVersion();
System.out.println("Required IronPdfEngine version: " + ironPdfEngineVersion);
返されたバージョン文字列に一致するIronPdfEngine Dockerイメージまたはバイナリをデプロイまたはプルします。
リモート接続をどのように設定しますか?
IronPdfEngineが123.456.7.8:33350で実行されているものと仮定します。 任意のIronPDFメソッドを呼び出す前にホストとポートを設定してください。 ベストプラクティスは、PDF操作の前にアプリケーション起動時にこれらの呼び出しを行うことです。
:path=/static-assets/ironpdf-java/content-code-examples/get-started/use-ironpdfengine-9.java
// Configure IronPDF for Java to connect to a remote IronPdfEngine instance
com.ironsoftware.ironpdf.Settings.setIronPdfEngineHost("123.456.7.8");
com.ironsoftware.ironpdf.Settings.setIronPdfEnginePort(33350);
これら2行の実行後、アプリケーション内のすべてのIronPDF呼び出しはリモートサーバーにルートされます。 ローカルのIronPdfEngineサブプロセスは開始されず、pom.xmlにプラットフォーム固有のエンジンの依存関係も必要ありません。
33350が開いていることを確認してください。
完全なリモートセットアップとはどのようなものですか?
以下の例は、リモートIronPdfEngineインスタンスに接続し、HTML文字列をPDFファイルにレンダリングします — ローカルモードで使用されるAPIと同じで、構成のみが異なります。
//:path=Main.java
import com.ironsoftware.ironpdf.*;
public class Main {
public static void main(String[] args) throws Exception {
// Point the library to the remote IronPdfEngine server
Settings.setIronPdfEngineHost("123.456.7.8");
Settings.setIronPdfEnginePort(33350);
// Render HTML to PDF — IronPdfEngine on the remote host performs the work
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from remote IronPdfEngine</h1>");
pdf.saveAs("output.pdf");
}
}
//:path=Main.java
import com.ironsoftware.ironpdf.*;
public class Main {
public static void main(String[] args) throws Exception {
// Point the library to the remote IronPdfEngine server
Settings.setIronPdfEngineHost("123.456.7.8");
Settings.setIronPdfEnginePort(33350);
// Render HTML to PDF — IronPdfEngine on the remote host performs the work
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from remote IronPdfEngine</h1>");
pdf.saveAs("output.pdf");
}
}
レンダリングされたPDFはgRPCを介してJavaプロセスに返され、ローカルに保存されます。 リモートサーバーはすべてのChromeベースのレンダリング、フォントの読み込み、およびリソースの解決を処理します。
次のステップは何ですか?
IronPdfEngineが構成されると、IronPDF for Javaのフル機能セットが利用可能になります — HTMLからPDFへの変換、PDF編集、マージ、スタンピングなど。
- JavaでHTMLをPDFにレンダリングを開始する — 最も一般的な変換シナリオのステップバイステップの例
- IronPDF for Javaのチュートリアルを探索する — ウォーターマーク、ヘッダーとフッター、フォーム、電子署名をカバーする詳細ガイド
- IronPDF for Javaをダウンロードして無料トライアルを開始する — 開発使用に時間制限なしのフル機能トライアル
- 本番展開用にライセンスを購入する — 永続オプションとサブスクリプションオプションがあり、ソースコードアクセス可能
よくある質問
IronPdfEngineとは何か、なぜIronPDF for Javaが必要か?
IronPdfEngineは、すべてのPDF操作を実行するgRPCサーバです(作成、編集、読み取り、レンダリング)。IronPDF for JavaはこのサーバのAPIラッパーであり、すべて for Javaメソッド呼び出しがIronPdfEngineによって処理されます。これがないと、JavaライブラリはPDF作業を行うことができません。
ローカルIronPdfEngineとリモートIronPdfEngineの違いは何ですか?
ローカルモードでは、Javaアプリケーションと同じマシン上でIronPdfEngineがサブプロセスとして起動し、追加のインフラは必要ありません。リモートモードは、gRPCを介してスタンドアロンのIronPdfEngineサーバーに接続し、マイクロサービス、Dockerデプロイ、および共有PDF処理ノードに適しています。
いつローカルの代わりにリモートIronPdfEngineを使用するべきですか?
複数のアプリケーションインスタンスが1つのPDF処理サーバーを共有する必要がある場合、KubernetesやDocker Compose環境でデプロイする場合、または実行時にバイナリをダウンロードできないエアギャップネットワークで実行する場合にリモートIronPdfEngineを使用します。
JavaでリモートIronPdfEngine接続を構成するにはどうすればよいですか?
アプリケーション起動時にSettings.setIronPdfEngineHost()を呼び出してサーバーのIPまたはホスト名を指定し、Settings.setIronPdfEnginePort()でポート番号を指定して、IronPDFのメソッドを呼び出す前に設定します。デフォルトのIronPdfEngineポートは33350です。
IronPdfEngineを依存関係としてバンドルするためには、どのMavenアーティファクトを使用すればよいですか?
デプロイターゲットに合ったプラットフォーム固有のアーティファクトを追加します。例として、Linuxサーバ用のironpdf-engine-linux-x64やWindows用のironpdf-engine-windows-x64があります。アーティファクトのバージョンはironpdfコア依存関係のバージョンと完全に一致している必要があります。
Javaライブラリが必要とするIronPdfEngineバージョンを確認するにはどうすればよいですか?
Javaコード内でSettings.getIronPdfEngineVersion()を呼び出します。それはデプロイするIronPdfEngineバイナリまたはDockerイメージと一致する正確なバージョン文字列を返します。
1つのプロジェクトで複数のプラットフォームエンジン依存関係をインストールできますか?
技術的には可能ですが、各アーティファクトは大きいため、1つ以上をインストールするとビルドが不必要に膨らみます。ターゲットデプロイメントプラットフォームと一致するアーティファクトのみをインストールしてください。
Java用IronPDFを使用するにはインターネット接続が必要ですか?
ランタイムダウンロードオプションを使用する場合のみ(pom.xmlにプラットフォーム固有の依存関係がない)。最初の実行時に、IronPDFはプラットフォーム用のIronPdfEngineバイナリをダウンロードします。その後のダウンロードでは、インターネットアクセスは必要ありません。バンドルされたプラットフォーム依存関係を追加するか、リモートモードを使用する場合、どの時点でもインターネットは必要ありません。
How do I detect and recover from a dead IronPdfEngine in Java?
Call IronPdfEngineManager.isEngineActive() to check whether the engine is connected, then IronPdfEngineManager.restartEngine() to force a clean reconnect if it is not. This watchdog pattern lets long-running services recover automatically when the engine is interrupted by a host restart, an operating system kill, or a native crash. It is an advanced feature; most applications rely on the automatic lifecycle and never call it.
Can I restart IronPdfEngine when using a custom gRPC connection?
No. In CUSTOM connection mode (a channel passed to IronPdfEngineConnection.withCustomGrpcConnection), stopEngine() and restartEngine() throw UnsupportedOperationException because the caller owns the channel and IronPDF cannot rebuild it. isEngineActive() and startEngine() still work in every connection mode.


