IRONSOFTWAREHOME

IronPDF for JavaをAzureに設定する方法

Curtis Chau
Curtis Chau
Updated: 2026年9月17日

このガイドでは、IronPDF for JavaをAzure Functionsコンテナ内に展開し、サーバーレスHTTPエンドポイントからオンデマンドでPDFを生成するために必要なすべてをカバーします。 IronPDFはネイティブのChromiumレンダリングエンジンを搭載しているため、Dockerイメージとしてパッケージ化する必要があります。Azure Functionsの標準Zip展開では、実行時にIronPDFが依存するバイナリを実行できません。このガイドに従い、動作するAzure FunctionがクエリパラメータとしてURLを受け取り、完全にレンダリングされたPDFをダウンロード可能なファイルとして返すようになります。

Microsoft推奨のカスタムコンテナワークフロー を使用して、LinuxベースのAzure Functionsで展開します。 Mavenプロジェクトは機能コードと依存関係の管理を提供します。 Dockerがコンテナイメージを構築し、それをレジストリにプッシュし、Azure Function Appが参照します。展開が完了すると、初回起動時間が主なパフォーマンスの考慮事項で、その後の呼び出しは迅速かつ一貫しています。

開始する前に、Azure CLI、Docker Desktop、Maven 3.8以上、およびJDK 11またはJDK 17がローカルにインストールされていることを確認してください。 また、Function Appsとストレージアカウントを作成する権限を持つアクティブなAzureサブスクリプションが必要です。

クイックスタート:Azure FunctionsでIronPDF for Javaを展開

以下のコードは完全なRenderPdfAzure関数を示しています。 それはurlクエリパラメータを受け入れ、PDFバイトストリームを返します。 Mavenの依存関係設定を完了した後、これをFunction.javaに追加します。

//:path=/static-assets/pdf/content-code-examples/tutorials/azure/RenderPdf.java
import com.microsoft.azure.functions.*;
import com.ironsoftware.ironpdf.PdfDocument;
import java.util.Optional;

public class Function {

    /**
     * HTTP-triggered Azure Function: accepts a URL, renders it as a PDF,
     * and returns the PDF bytes as a downloadable attachment.
     */
    @FunctionName("RenderPdf")
    public HttpResponseMessage renderPdf(
            @HttpTrigger(
                    name = "req",
                    methods = {HttpMethod.GET, HttpMethod.POST},
                    authLevel = AuthorizationLevel.ANONYMOUS)
            HttpRequestMessage<Optional<String>> request,
            final ExecutionContext context) {

        context.getLogger().info("RenderPdf function triggered.");

        // Read the target URL from the query string
        final String url = request.getQueryParameters().get("url");

        if (url == null) {
            return request.createResponseBuilder(HttpStatus.BAD_REQUEST)
                    .body("Provide a 'url' query parameter.")
                    .build();
        }

        try {
            context.getLogger().info("Rendering URL as PDF: " + url);

            // IronPDF renders the full page including JavaScript
            PdfDocument pdf = PdfDocument.renderUrlAsPdf(url);
            byte[] pdfBytes = pdf.getBinaryData();

            return request.createResponseBuilder(HttpStatus.OK)
                    .body(pdfBytes)
                    .header("Content-Disposition", "attachment; filename=output.pdf")
                    .header("Content-Type", "application/pdf")
                    .build();

        } catch (Exception ex) {
            context.getLogger().severe("PDF rendering failed: " + ex.getMessage());
            return request.createResponseBuilder(HttpStatus.INTERNAL_SERVER_ERROR)
                    .body("PDF rendering failed. Check function logs for details.")
                    .build();
        }
    }
}
Java

Start using IronPDF in your project today with a free trial.

最初のステップ:
arrow pointer
目次

必要な前提条件は何ですか?

開始前に、必要なすべてのツールがインストールされていることと、Azureサブスクリプションがアクティブであることを確認してください。これらのチェックをスキップすると、展開プロセスの途中でビルドの失敗が多発します。

必要なローカルツール:

必要なAzureリソース:

  • アクティブなAzureサブスクリプション
  • リソースグループ、ストレージアカウント、Function Appプランを作成する権限
  • 作成したイメージをホストするためのDocker Hubアカウント(またはAzure Container Registry)
重要: IronPDF for Java requires the ironpdf-engine-linux-x64 artifact when running inside any Docker container. Azure Functionsでの標準Zip展開では、IronPDFのネイティブバイナリを実行できません。Dockerが唯一サポートされる展開方法です。

次のセクションに進む前に、Azure CLIを認証するためにaz loginを実行します。

Azure Functionプロジェクトをどのように設定しますか?

Linuxでカスタムイメージを使用して関数を作成するためのMicrosoftガイドは、完全なスキャフォルディングプロセスをカバーしています。 その手順を"プログラミング言語"にJavaを選択する重要な選択を行ってください。

スキャフォルドされたプロジェクトがビルドされ、プレースホルダ関数をAzure Functions Core Toolsを使用してローカルで実行するまでガイドを進めてください。 以下を使用してこれを検証します:

//:path=/static-assets/pdf/content-code-examples/tutorials/azure/local-run.sh
mvn clean package
func start
SHELL

プレースホルダがローカルHTTPリクエストに応答すると、プロジェクト構造が正しくなり、IronPDF統合の準備が整いました。 主なファイルはDockerfile(コンテナ定義)です。

ご注意: The Azure Functions Maven archetype generates a host.json and local.settings.json alongside pom.xml. local.settings.jsonファイルはローカル開発用の環境変数を格納しており、デフォルトではソース管理から除外され、決してコミットされるべきではありません。

IronPDF依存関係をMavenプロジェクトにどのように追加しますか?

IronPDF for JavaはMaven Centralを通じて配布されています。 2つのアーティファクトが必要です:Java APIを提供するコアironpdfライブラリと、Linux x86-64用にコンパイルされたネイティブChromiumエンジンをバンドルするironpdf-engine-linux-x64です。エンジンアーティファクトは、実行時にバイナリを実行する必要があるためにDockerデプロイが必須となる理由です。

<dependencies>ブロック内に追加します。 現在のリリースを使用するためLATEST_VERSIONをMaven Centralで入手可能なものに置き換えます:

//:path=/static-assets/pdf/content-code-examples/tutorials/azure/pom.xml
<dependencies>
    <!-- IronPDF Java API -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>LATEST_VERSION</version>
    </dependency>

    <!--
        Linux x64 engine — required for Docker/Azure Functions.
        This artifact bundles the native Chromium renderer for Linux.
    -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf-engine-linux-x64</artifactId>
        <version>LATEST_VERSION</version>
    </dependency>
</dependencies>
XML

両方のアーティファクトは同じバージョン番号を使用する必要があります。 ironpdf-engine-linux-x64の間でバージョンが一致しないと、関数が最初にPDFをレンダリングしようとした際にランタイム例外が発生します。

mvn dependency:resolveを実行し、Dockerイメージの構築に時間をかける前に確認します。

ヒント: IronPDF for Javaリリースノートをご確認ください最新の安定版バージョン。 最新リリースの使用は、最新のChromiumレンダリングエンジンとの互換性を確保し、既知のバグを回避するのに役立ちます。

RenderPdf関数をどのように書きますか?

Content-Disposition: attachmentヘッダ付きで結果のPDFをバイナリー応答として返します。 このヘッダーは、ブラウザ(またはHTTPクライアント)にPDFをインラインで表示するのではなくダウンロードするよう指示します。

完全な関数コードは、上記のクイックスタートに表示されています。 それをsrc/main/java/com/example/Function.javaに配置し、Mavenアーキタイプによって生成されたプレースホルダーを置き換えるか拡張します。

//:path=/static-assets/pdf/content-code-examples/tutorials/azure/RenderPdf-annotated.java
import com.microsoft.azure.functions.*;
import com.ironsoftware.ironpdf.PdfDocument;
import java.util.Optional;

public class Function {

    @FunctionName("RenderPdf")
    public HttpResponseMessage renderPdf(
            @HttpTrigger(
                    name = "req",
                    methods = {HttpMethod.GET, HttpMethod.POST},
                    authLevel = AuthorizationLevel.ANONYMOUS)
            HttpRequestMessage<Optional<String>> request,
            final ExecutionContext context) {

        // Log each invocation for Azure Monitor / Application Insights
        context.getLogger().info("RenderPdf triggered.");

        final String url = request.getQueryParameters().get("url");

        // Return 400 if no URL was supplied
        if (url == null) {
            return request.createResponseBuilder(HttpStatus.BAD_REQUEST)
                    .body("Provide a 'url' query parameter.")
                    .build();
        }

        try {
            // renderUrlAsPdf launches Chromium, loads the page, and captures it as PDF
            PdfDocument pdf = PdfDocument.renderUrlAsPdf(url);

            // getBinaryData returns the raw PDF bytes ready for transmission
            byte[] pdfBytes = pdf.getBinaryData();

            return request.createResponseBuilder(HttpStatus.OK)
                    .body(pdfBytes)
                    .header("Content-Disposition", "attachment; filename=output.pdf")
                    .header("Content-Type", "application/pdf")
                    .build();

        } catch (Exception ex) {
            context.getLogger().severe("Rendering error: " + ex.getMessage());
            return request.createResponseBuilder(HttpStatus.INTERNAL_SERVER_ERROR)
                    .body("PDF rendering failed.")
                    .build();
        }
    }
}
Java

PdfDocument.renderUrlAsPdf(url)は、コンテナ内でヘッドレスChromiumインスタンスを起動し、ターゲットURL(JavaScriptを含む)を完全に読み込み、レンダリングされた出力をPDFとしてキャプチャします。 これにより、ユーザーがブラウザで見るものと視覚的に同一の出力が生成され、最新のWebアプリケーション、ダッシュボード、およびレポートページをキャプチャするのに適しています。

重要: The authLevel = AuthorizationLevel.ANONYMOUS setting in the function trigger makes the endpoint publicly accessible. 実稼働環境へのデプロイでは、これをADMINに変更し、リクエストヘッダーで関数キーを渡します。

IronPDF用のDockerfileをどのように設定しますか?

IronPDFのChromiumエンジンは、ベースAzure Functionsイメージに含まれていない一連の共有Linuxライブラリに依存しています。 ベースイメージmcr.microsoft.com/azure-functions/java:4-java17-buildはDebian 11上で構築されているため、パッケージをaptを使用してインストールしなければなりません。

次のRUNコマンドを、Azure Functions Mavenアーキタイプによって生成されたDockerfileに追加する必要があります。 COPYステップの前にそれらを配置します:

//:path=/static-assets/pdf/content-code-examples/tutorials/azure/Dockerfile
FROM mcr.microsoft.com/azure-functions/java:4-java17-build AS installer-env

# Install system dependencies required by IronPDF's Chromium renderer
RUN apt-get update && apt-get install -y \
    libgdiplus \
    libxkbcommon-x11-0 \
    libc6 \
    libc6-dev \
    libgtk2.0-0 \
    libnss3 \
    libatk-bridge2.0-0 \
    libx11-xcb1 \
    libxcb-dri3-0 \
    libdrm-common \
    libgbm1 \
    libasound2 \
    libxrender1 \
    libfontconfig1 \
    libxshmfence1 \
    && apt-get install -y xvfb libva-dev libgdiplus \
    && rm -rf /var/lib/apt/lists/*

# Copy the built function JAR
COPY --from=installer-env /home/site/wwwroot /home/site/wwwroot

ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
    AzureFunctionsJobHost__Logging__Console__IsEnabled=true
Text

libgdiplusパッケージは、グラフィックスレンダリングのためのGDI+互換性を提供します。 libatk-bridge2.0-0は、Chromiumのサンドボックス化およびアクセシビリティ階層によって必要とされます。 xvfbは仮想フレームバッファを提供し、一部のDebian設定でヘッドレスモードでもChromiumが必要とするものです。 RUNブロックの最後にあり、パッケージマネージャーキャッシュを削除し、最終イメージサイズを可能な限り小さく保ちます。

ご注意: Azure Functionsのベースイメージバージョンが変更された場合や別のLinuxディストリビューションがベースとして使用された場合、必要なパッケージが異なる可能性があります。 IronPDF Linuxインストールガイド を参照して、Debian、Ubuntu、CentOS、Alpine全体の依存関係マトリックスを確認します。

Dockerイメージをどのようにビルドしてプッシュしますか?

Mavenプロジェクトがビルドされ、Dockerfileが更新されたら、コンテナイメージを作成してDockerレジストリにアップロードできます。 Azure Functionsは、Function Appが作成または更新されると、このイメージを取得します。

ステップ1 - Mavenプロジェクトをビルドおよびパッケージ化する:

//:path=/static-assets/pdf/content-code-examples/tutorials/azure/build.sh
# Compile the Java code and package it as a JAR
mvn clean package
SHELL

Mavenは、関数コードをコンパイルし、すべての依存関係(IronPDFアーティファクトを含む)を解決し、target/ディレクトリにデプロイ可能なJARを生成します。 進行する前にコンパイルエラーを修正してください。

ステップ2 - Dockerイメージをビルドする:

//:path=/static-assets/pdf/content-code-examples/tutorials/azure/docker-build.sh
# Replace <DOCKER_ID> with your Docker Hub username or ACR login server
docker build --tag <DOCKER_ID>/ironpdf-azure-functions:v1.0.0 .
SHELL

ビルドはDockerfileに記載されたLinuxパッケージをインストールし、JARをコピーして、最終イメージにすべてをレイヤー化します。 最初のビルドではパッケージのダウンロードとレイヤーキャッシュが確立されるため数分かかることがあります。 同じベースイメージを使用する後続のビルドはかなり高速です。

ステップ3 - Docker Hubにイメージをプッシュする:

//:path=/static-assets/pdf/content-code-examples/tutorials/azure/docker-push.sh
# Authenticate if not already logged in
docker login

# Push the image to the registry
docker push <DOCKER_ID>/ironpdf-azure-functions:v1.0.0
SHELL
ヒント: Azure Container Registry(ACR)は、Docker Hubへのプライベートな代替手段です。 ACRはAzure Active Directoryと直接統合され、イメージのプライバシーが重要な本番ワークロードに推奨されます。

関数をAzureにどのようにデプロイしますか?

イメージがレジストリにある場合、Azure Function Appを作成(または更新)してそれを参照することができます。 az functionapp createコマンドは、Function Appをプロビジョニングし、それをストレージアカウントにリンクし、コンテナイメージを一歩で設定します。

ステップ1 - Function Appを作成または更新する:

//:path=/static-assets/pdf/content-code-examples/tutorials/azure/az-deploy.sh
az functionapp create \
  --name <APP_NAME> \
  --storage-account <STORAGE_NAME> \
  --resource-group AzureFunctionsContainers-rg \
  --plan myPremiumPlan \
  --deployment-container-image-name <DOCKER_ID>/ironpdf-azure-functions:v1.0.0
SHELL

Function Appのグローバルに一意の名前を<STORAGE_NAME>に、前のステップで使用したDocker Hubユーザー名またはACRログインサーバーを<DOCKER_ID>に置き換えます。

--plan myPremiumPlanフラグは、プレミアムホスティングプランを選択します。 IronPDFのChromiumエンジンはレンダリング中にかなりのメモリを消費します; 消費プランの1.5 GBメモリ上限では十分ではないことが多いです。 プレミアムプランは少なくとも3.5 GBを提供し、コールドスタート遅延を排除するために予備のインスタンスをサポートします。

ステップ2 - デプロイメントを確認する:

//:path=/static-assets/pdf/content-code-examples/tutorials/azure/az-verify.sh
# Check that the function app is running and the container has been pulled
az functionapp show \
  --name <APP_NAME> \
  --resource-group AzureFunctionsContainers-rg \
  --query "state"
SHELL

コンテナが正常に起動したときに"Running"がコマンドとして返されます。 それが"Starting"またはエラーを返した場合、Azure ポータルの Function App の Log Stream でコンテナのプルまたは起動エラーを確認してください。

警告: IronPDFをAzure Functionsで実行する際は消費(サーバーレス)プランは推奨されません。 Chromiumを使用したPDFのレンダリングには消費プランに割り当てられた以上のメモリが必要です。 メモリ不足エラーを避けるためにプレミアムまたは専用(App Service)プランを使用してください。

関数をどのようにトリガーしてテストしますか?

Function AppがRenderPdfエンドポイントはリクエストを受け入れる準備が整います。 エンドポイントのURLは、Function App名および@FunctionNameアノテーションで定義された関数名に基づいた予測可能なパターンに従います。

ブラウザまたはcurlを使用してテストする:

//:path=/static-assets/pdf/content-code-examples/tutorials/azure/test-request.sh
# Replace <APP_NAME> with the Function App name
curl -o output.pdf \
  "https://<APP_NAME>.azurewebsites.net/api/RenderPdf?url=https://www.example.com"
SHELL

正常な応答は、output.pdfという名前のPDFファイルを現在のディレクトリに保存します。 curl の-oフラグは、バイナリ応答ボディをファイルに書き込み、端末には表示しません。

ブラウザでテストする場合は、以下のURLに移動します:

https://<APP_NAME>.azurewebsites.net/api/RenderPdf?url=https://www.example.com

ブラウザはPDFのダウンロードを促します。 それを開いてページが正しくレンダリングされたかどうかを確認します。

重要: コールドスタート後の最初のリクエストでは、Azureがコンテナイメージをプルし、IronPDFがChromiumを初期化するまで20〜60秒かかることがあります。 同じコンテナの寿命内の後続のリクエストは非常に高速になります。 プレミアムプランの予備インスタンス機能は、少なくとも1つのインスタンスを継続的に実行することでコールドスタートを排除します。

エラーのログを確認する:Azureポータルに移動し、Function Appを開き、監視の下のLog Streamを選択します。 context.getLogger() 呼び出しからのログエントリは、ほぼリアルタイムでここに表示されるため、レンダリングの失敗を診断するのが簡単です。

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

このガイドでは、IronPDF for JavaをAzure Functions Dockerコンテナ内に展開し、URLをPDFとしてレンダリングするHTTPトリガー関数を作成し、必要なLinux依存関係でDockerfileを設定し、ライブエンドポイントをテストする方法を示しました。 同じパターンは、わずかな変更でより高度なユースケースに拡張できます。

関数を拡張する:

  • URLではなくPdfDocument.renderHtmlAsPdf(htmlString)を使用してHTML文字列を直接レンダリングする
  • 透かしを適用したり、複数のPDFをマージしたり、IronPDFのフルJava PDF API を使用してデジタル署名を追加することができます
  • リクエストヘッダーまたはPOSTボディを読み取って、カスタムHTMLコンテンツやレンダリングオプションを渡す

本番準備を改善する:

  • FUNCTIONに切り替え、関数キーを定期的に回転させる
  • Azure Key Vaultを使用して、アプリケーション設定で参照されている機密情報を保存します
  • レンダリングの遅延と失敗率のエンドツーエンドの可視性を確保するためにApplication Insightsを構成する
  • Dockerイメージの更新webhookを設定して、Azureが新しいイメージバージョンのプッシュを自動で再展開

さらに多くのIronPDF for Javaガイドを探索する:

無料のIronPDFトライアルを開始して、評価期間中に透かしなしでレンダリングおよび操作機能にアクセスします。 本番環境への展開の準備が整ったら、IronPDFライセンスオプションを表示し、プロジェクトの規模に合ったプランを見つけてください。

よくある質問

Azure FunctionsにIronPDFをデプロイするためにDockerデプロイが必要なのはなぜですか?

IronPDFはネイティブのChromiumレンダリングエンジンを提供し、ランタイムでバイナリを実行する必要があります。Azure FunctionsのZipデプロイはネイティブバイナリを実行できないため、Dockerコンテナイメージが唯一のサポートされているデプロイパスです。

Dockerコンテナ内でIronPDFを実行するために必要なMavenアーティファクトはどれですか?

pom.xmlには2つのアーティファクトが必要です:Java API用のcom.ironsoftware:ironpdfとネイティブChromiumエンジン用のcom.ironsoftware:ironpdf-engine-linux-x64。両者は同じバージョン番号を共有する必要があります。

IronPDFに対してDockerfileがインストールする必要のあるLinuxパッケージは何ですか?

Dockerfileはlibgdiplus、libxkbcommon-x11-0、libc6、libc6-dev、libgtk2.0-0、libnss3、libatk-bridge2.0-0、libx11-xcb1、libxcb-dri3-0、libdrm-common、libgbm1、libasound2、libxrender1、libfontconfig1、libxshmfence1、xvfb、およびlibva-devをインストールする必要があります。

RenderPdf関数は何をしますか?

RenderPdf関数はHTTPトリガーされたAzure Functionで、urlクエリパラメータを読み取り、PdfDocument.renderUrlAsPdfに渡し、結果のPDFバイトをContent-Disposition: attachmentヘッダーと共に返し、呼び出し元がダウンロード可能なPDFファイルを受け取ることができます。

IronPDF用のAzure Functionsのホスティングプランはどれを使用するべきですか?

プレミアムプランが推奨されます。IronPDFのChromiumエンジンは容量を大量に必要とし、消費プランの1.5GBの上限を超えることがしばしばあります。プレミアムプランは最低でも3.5GBを提供し、コールドスタートのレイテンシーを排除するためにウォームインスタンスをサポートします。

新しくデプロイされた関数への最初のリクエストが遅いのはなぜですか?

コールドスタート後の最初のリクエストは、Azureがコンテナイメージをプルし、IronPDFがChromiumエンジンを初期化する必要があるため、20〜60秒かかることがあります。同じコンテナライフタイム内のその後のリクエストははるかに高速です。プレミアムプランのプレウォームドインスタンス機能がこの遅延を排除することができます。

既存のAzure Function Appを新しいDockerイメージに更新するにはどうすればよいですか?

更新されたタグで新しいイメージを再構築してプッシュした後、新しい--deployment-container-image-name値でaz functionapp createを再度実行するか、AzureポータルのFunction Appのデプロイセンターでコンテナの設定を更新します。

IronPDFはURLだけでなく、Azure FunctionでHTML文字列をレンダリングできますか?

はい。PdfDocument.renderUrlAsPdf(url)をPdfDocument.renderHtmlAsPdf(htmlString)に置き換えて直接HTML文字列をレンダリングします。関数構造とレスポンス処理は同じままです。

リクエストからurlクエリパラメータが欠落している場合はどうなりますか?

関数はurlパラメータがnullかどうかをチェックし、任意のPDFレンダリングを試みる前にHTTP 400 Bad Requestレスポンスと説明的なメッセージを返します。

Curtis Chau
テクニカルライター

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

...
詳しく読む

準備はできましたか?

バージョン:2026.6リリースされたばかり

あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDFのため for Java Mavenライブラリ
Mavenでインストール

バージョン: 2026.6

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>ironpdf</artifactId>
   <version>2026.6.1</version>
</dependency>
https://central.sonatype.com/artifact/com.ironsoftware/ironpdf/2026.6.1
or
Java PDF JAR
JAR をダウンロード

バージョン: 2026.6

Manually install into your project

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDFのため for Java Mavenライブラリ
Mavenでインストール

バージョン: 2026.6

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>ironpdf</artifactId>
   <version>2026.6.1</version>
</dependency>
https://central.sonatype.com/artifact/com.ironsoftware/ironpdf/2026.6.1
or
Java PDF JAR
JAR をダウンロード

バージョン: 2026.6

Manually install into your project