IronPdfEngineをセットアップする方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPdfEngineはすべてのPDF操作を行うgRPCサーバーです — 作成、編集、読み取り、およびレンダリング。 IronPDF for Javaライブラリはこのサーバーを囲むAPIラッパーです:Javaコードが任意のIronPDFメソッドを呼び出すと、IronPdfEngineが作業を実行します。 デフォルトでは、IronPDF for JavaはIronPdfEngineをローカルサブプロセスとして起動し、そのライフサイクルを自動管理します。 より高度なデプロイメントのために — 共有マイクロサービス、Dockerコンテナ、またはエアギャップネットワーク — IronPdfEngineを独立したリモートサーバーとして実行できます。

クイックスタート:Java用のIronPdfEngineをセットアップ

各バージョンの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>
XML

初回ダウンロード後、バイナリはローカルにキャッシュされ、後続の実行はネットワーク呼び出しなしで開始します。

オプション1 — ランタイムダウンロード:トレードオフ
利点制限
最小のアプリケーションパッケージサイズ 初回実行時にインターネットアクセスが必要
一つのアーティファクトから複数のターゲットプラットフォームをサポート バイナリのダウンロード中は起動が遅くなります

オプション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>
XML

ターゲット環境のプラットフォームアーティファクトを追加します。 ターゲットプラットフォーム用のアーティファクトのみをインストールします — 各アーティファクトは大きく、すべてをインストールするとビルドが不必要に膨らみます。

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>
XML

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>
XML

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>
XML

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>
XML

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>
XML

ご注意ironpdf-engine-xxx-xxx依存関係のバージョンは正確に一致している必要があります。 バージョン文字列は、IronPDF for Javaリリースを指し、IronPdfEngineの内部バージョン番号ではありません。

オプション2 — バンドルされた依存関係:トレードオフ
利点制限
起動が高速 - ダウンロードステップなし アプリケーションパッケージが大きくなります
インストール後にインターネットアクセスは不要 ターゲットプラットフォームを明示的に指定する必要があります
エアギャップ環境での一貫した動作 複数のプラットフォームアーティファクトのインストールによりビルドサイズが大幅に膨らみます

リモート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);
JAVA

返されたバージョン文字列に一致する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);
JAVA

これら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");
    }
}
JAVA

レンダリングされたPDFはgRPCを介してJavaプロセスに返され、ローカルに保存されます。 リモートサーバーはすべてのChromeベースのレンダリング、フォントの読み込み、およびリソースの解決を処理します。

次のステップは何ですか?

IronPdfEngineが構成されると、IronPDF for Javaのフル機能セットが利用可能になります — HTMLからPDFへの変換、PDF編集、マージ、スタンピングなど。

よくある質問

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.

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
バージョン: 2026.6 リリースされたばかり
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか?
サンプルを実行するHTML が PDF に変換されるのを確認します。