IRONSOFTWAREHOME

Iron Suite for .NET

10 .NETライブラリ。1つの完全なドキュメントスイート。

IRONPDF
IRONWORD
IRONXL
IRONPPT
IRONOCR
IRONBARCODE
IRONQR
IRONPRINT
IRONZIP
IRONWEBSCRAPER
比較

BitMiracle Docotic PDF vs IronPDF:技術比較ガイド

Curtis Chau
Curtis Chau
Updated: 2026年6月28日

.NET開発者がPDF生成ソリューションを評価するとき、GotenbergはREST API呼び出しを通じてHTMLをPDFに変換するDockerベースのマイクロサービスとして際立っています。 Gotenbergは多様なアーキテクチャに適応可能ですが、インフラストラクチャーのオーバーヘッド(Dockerコンテナ、ネットワークレイテンシー、運用の複雑さ)が発生します。 IronPDFは、コンテナ、ネットワークコール、インフラストラクチャ管理なしで同じChromiumベースのレンダリングを提供するプロセス内のNuGetパッケージという代替手段を提供します。

この比較では、プロの開発者やアーキテクトが.NET PDFのニーズに対して十分な情報を得た上で意思決定できるように、技術的に関連する次元で両ソリューションを比較します。

Gotenbergを理解する

Gotenbergは、PDF生成のためのDockerベースのマイクロサービスアーキテクチャです。 HTML、URL、その他のフォーマットをPDFに変換するためのREST APIエンドポイントを公開する別のコンテナとして動作します。 すべてのPDF操作は、GotenbergサービスへのHTTPコールを必要とします。

GotenbergはHTMLからPDFへの変換にPOST /forms/chromium/convert/urlのエンドポイントを使用します。 設定はマルチパート/form-dataを通じて、marginBottom(インチ単位)などの文字列ベースのパラメーターで渡されます。 このサービスには、Dockerのデプロイ、コンテナのオーケストレーション(Kubernetes/Docker Compose)、ネットワークインフラが必要です。

アーキテクチャ

  • Dockerコンテナのデプロイと管理

  • 各PDFリクエストに対するネットワーク通信 (コンテナHTTPラウンドトリップ)

  • コンテナのコールドスタート処理 (初回リクエストの初期化遅延)

  • ヘルスチェックエンドポイントとサービスモニタリング

  • すべてのリクエストに対するMultipart/form-dataの構築

IronPDFの理解

IronPDFはNuGetパッケージとしてインプロセスで動作する.NETネイティブライブラリです。 ChromiumベースのHTMLレンダリングを提供し、外部サービス、ネットワークコール、コンテナインフラストラクチャを必要としません。

IronPDFは、RenderUrlAsPdf()などのメソッドを提供します。 設定はMarginBottom(ミリメートル単位)を含みます。 ドキュメントはBinaryDataとしてアクセスされます。

ライブラリに必要なのは

  • NuGetパッケージのインストール(dotnet add package IronPdf
  • ライセンスキー設定
  • .NET プロジェクトの標準セットアップ

アーキテクチャとインフラストラクチャの比較

これらのソリューションの基本的な違いは、デプロイとランタイムのアーキテクチャにあります。

ファクターGotenbergIronPDF
デプロイメントDockerコンテナ+オーケストレーション単一のNuGetパッケージ
アーキテクチャマイクロサービス(REST API)インプロセスライブラリ
リクエストあたりの遅延コンテナHTTPラウンドトリップインプロセス (最小オーバーヘッド)
コールドスタートコンテナ初期化遅延エンジン初期化 (初回レンダリングのみ)
インフラストラクチャDocker、Kubernetes、ロードバランサー不要
ネットワーク依存性必須None
失敗モードネットワーク、コンテナ、サービス障害.NET Standardの例外
APIスタイルREST multipart/form-dataC#ネイティブメソッドコール
スケーリング水平方向(コンテナを増やす)垂直方向(進行中)
デバッグ分散トレーシング標準デバッガ
メモリ管理個別のコンテナ割り当て共有アプリケーションメモリ
バージョン管理コンテナ画像タグNuGetパッケージのバージョン
健康チェック必要なHTTPエンドポイント不要(進行中)
CI/CDの複雑さコンテナのビルド、レジストリのプッシュ.NET Standardビルド

GotenbergのDockerベースのアプローチでは、コンテナのデプロイ、ヘルスモニタリング、ネットワークインフラ管理が必要です。 IronPDFはインプロセスで実行することにより、このインフラレイヤーを完全に排除します。

コードの比較:一般的なPDF操作

基本的なHTMLからPDFへの変換

最も基本的な操作は、アーキテクチャの違いを明確に示します。

Gotenberg:(英語

using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.IO;

class GotenbergExample
{
    static async Task Main()
    {
        var gotenbergUrl = "http://localhost:3000/forms/chromium/convert/html";
        
        using var client = new HttpClient();
        using var content = new MultipartFormDataContent();
        
        var html = "<html><body><h1>Hello from Gotenberg</h1></body></html>";
        content.Add(new StringContent(html), "files", "index.html");
        
        var response = await client.PostAsync(gotenbergUrl, content);
        var pdfBytes = await response.Content.ReadAsByteArrayAsync();
        
        await File.WriteAllBytesAsync("output.pdf", pdfBytes);
        Console.WriteLine("PDF generated successfully");
    }
}

IronPDF:

// NuGet: Install-Package IronPdf
using System;
using IronPdf;

class IronPdfExample
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        
        var html = "<html><body><h1>Hello from IronPDF</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF generated successfully");
    }
}

このサービスにはindex.html)を持つHTMLをファイル添付として追加、エンドポイントへの非同期HTTP POST、応答バイトの読み取り、ディスクへの書き込みが必要です。 すべてのリクエストはネットワークを経由し、それに伴う遅延や障害モードが発生します。

IronPDFはSaveAs()で保存します。 操作は同期、インプロセスで、文字列ベースのフォームデータではなく、型付けされたメソッドを使用します。

高度なHTMLレンダリングオプションについては、HTMLからPDFへの変換ガイドをご覧ください。

URLからPDFへの変換

ライブのウェブページをPDFに変換すると、似たようなアーキテクチャパターンが見られます。

Gotenberg:(英語

using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.IO;

class GotenbergUrlToPdf
{
    static async Task Main()
    {
        var gotenbergUrl = "http://localhost:3000/forms/chromium/convert/url";
        
        using var client = new HttpClient();
        using var content = new MultipartFormDataContent();
        
        content.Add(new StringContent("https://example.com"), "url");
        
        var response = await client.PostAsync(gotenbergUrl, content);
        var pdfBytes = await response.Content.ReadAsByteArrayAsync();
        
        await File.WriteAllBytesAsync("webpage.pdf", pdfBytes);
        Console.WriteLine("PDF from URL generated successfully");
    }
}

IronPDF:

// NuGet: Install-Package IronPdf
using System;
using IronPdf;

class IronPdfUrlToPdf
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        
        pdf.SaveAs("webpage.pdf");
        Console.WriteLine("PDF from URL generated successfully");
    }
}

コンテナは、URLがフォームデータとして渡される/forms/chromium/convert/urlエンドポイントを使用します。 IronPDFは、URL文字列でRenderUrlAsPdf()を直接呼び出します。これはHTTPインフラを置き換える単一のメソッド呼び出しです。

ページサイズと余白のカスタマイズ

コンフィギュレーション処理では、API設計の違いを明らかにします。

Gotenberg:(英語

using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.IO;

class GotenbergCustomSize
{
    static async Task Main()
    {
        var gotenbergUrl = "http://localhost:3000/forms/chromium/convert/html";
        
        using var client = new HttpClient();
        using var content = new MultipartFormDataContent();
        
        var html = "<html><body><h1>Custom Size PDF</h1></body></html>";
        content.Add(new StringContent(html), "files", "index.html");
        content.Add(new StringContent("8.5"), "paperWidth");
        content.Add(new StringContent("11"), "paperHeight");
        content.Add(new StringContent("0.5"), "marginTop");
        content.Add(new StringContent("0.5"), "marginBottom");
        
        var response = await client.PostAsync(gotenbergUrl, content);
        var pdfBytes = await response.Content.ReadAsByteArrayAsync();
        
        await File.WriteAllBytesAsync("custom-size.pdf", pdfBytes);
        Console.WriteLine("Custom size PDF generated successfully");
    }
}

IronPDF:

// NuGet: Install-Package IronPdf
using System;
using IronPdf;
using IronPdf.Rendering;

class IronPdfCustomSize
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        
        renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter;
        renderer.RenderingOptions.MarginTop = 50;
        renderer.RenderingOptions.MarginBottom = 50;
        
        var html = "<html><body><h1>Custom Size PDF</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        
        pdf.SaveAs("custom-size.pdf");
        Console.WriteLine("Custom size PDF generated successfully");
    }
}

このアプローチでは、マルチパートフォームデータに追加される文字列ベースのパラメーター("0.5")を使用します。 用紙寸法はインチです。 各パラメーターは、タイプチェックやIntelliSenseサポートのない、別個のAdd()呼び出しです。

IronPDFはRenderingOptions上の型付きプロパティを使用します。 PdfPaperSize.Letter)を受け入れ、余白はミリメートルの数値です。 型付きAPIは、コンパイル時のチェックとIDEのサポートを提供します。

レンダリングの設定については、IronPDFチュートリアルをご覧ください。

APIマッピングリファレンス

Gotenbergの移行を評価したり、機能を比較したりする開発者のために、このマッピングは同等の操作を示します:

エンドポイントからメソッドへのマッピング

御殿場ルートIronPDF 同等物
POST /forms/chromium/convert/htmlChromePdfRenderer.RenderHtmlAsPdf()
POST /forms/chromium/convert/urlChromePdfRenderer.RenderUrlAsPdf()
POST /forms/chromium/convert/markdown最初にMarkdownをHTMLとしてレンダリング
POST /forms/pdfengines/mergePdfDocument.Merge()
POST /forms/pdfengines/metadata/readpdf.MetaData
POST /forms/pdfengines/metadata/writepdf.MetaData.Author = "..."
GET /health該当なし

フォーム パラメータと RenderingOptions のマッピング

Gotenberg パラメータIronPDF プロパティ変換に関する注意事項
paperWidth(インチ)RenderingOptions.SetCustomPaperSizeInInches()カスタム
paperHeight(インチ)RenderingOptions.SetCustomPaperSizeInInches()カスタム
marginTop(インチ)RenderingOptions.MarginTopmmは25.4倍
marginBottom(インチ)RenderingOptions.MarginBottommmは25.4倍
marginLeft(インチ)RenderingOptions.MarginLeftmmは25.4倍
marginRight(インチ)RenderingOptions.MarginRightmmは25.4倍
printBackgroundRenderingOptions.PrintHtmlBackgroundsブーリアン
landscapeRenderingOptions.PaperOrientationLandscape enum
scaleRenderingOptions.Zoomパーセンテージ(100 = 1.0)
waitDelayRenderingOptions.RenderDelayミリ秒への変換
emulatedMediaTypeRenderingOptions.CssMediaTypeScreen または Print

単位変換に注意してください:Gotenbergは余白にインチ(例:"0.5" = 0.5インチ = 12.7mm)を使用しますが、IronPDFはミリメートルを使用します。

インフラストラクチャの比較

ゴテンバーグDocker Compose

Gotenberg はコンテナ・インフラを必要とします:

#Gotenbergrequires container management
version: '3.8'
services:
  app:
    depends_on:
      - gotenberg
    environment:
      - GOTENBERG_URL=http://gotenberg:3000

  gotenberg:
    image: gotenberg/gotenberg:8
    ports:
      - "3000:3000"
    deploy:
      resources:
        limits:
          memory: 2G
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
      interval: 30s
Text

IronPDFの設定

IronPDFは追加サービスを必要としません:

#IronPDF- No additional services needed
version: '3.8'
services:
  app:
    environment:
      - IRONPDF_LICENSE_KEY=${IRONPDF_LICENSE_KEY}
# NoGotenbergservice. No health checks. No resource limits.
Text

インフラストラクチャの違いも大きい:Gotenberg は、コンテナのデプロイ、ヘルス・モニタリング、リソースの割り当て、サービスの依存関係を必要とします。 IronPDFはアプリケーションのインプロセスで実行されます。

パフォーマンスの特徴

ファクターGotenbergIronPDF
処理リクエストごとのコンテナHTTPラウンドトリップインプロセス (ネットワークオーバーヘッドなし)
起動デプロイ/スケールイベントごとのコンテナ初期化アプリケーションのライフタイムごとに一度だけエンジン初期化
メモリ個別のコンテナ割り当て共有アプリケーションメモリ
後続レンダリングリクエストごとにネットワークオーバーヘッドが持続初期化後の最小オーバーヘッド

Gotenbergのアーキテクチャは、各リクエストにネットワークラウンドトリップオーバーヘッドを追加し、デプロイメントやスケールアップのイベントごとにコンテナコールドスタートが発生します。 IronPDFの最初のレンダリングではエンジンの初期化が必要ですが、以後のレンダリングはインプロセスで最小オーバーヘッドで行われます。

チームがGotenbergからIronPDFへの移行を検討するとき

開発チームがGotenbergからIronPDFへの移行を評価する理由はいくつかあります:

インフラストラクチャのオーバーヘッド: サービスにはDocker、コンテナオーケストレーション (Kubernetes/Docker Compose)、サービスディスカバリ、ロードバランシングが必要です。 よりシンプルなデプロイメントを求めるチームは、IronPDFのNuGetのみのアプローチにより、このようなインフラの懸念が解消されることに気づきます。

ネットワーク遅延: コンテナを介した全てのPDF操作には、別のサービスへのHTTPコールが必要であり、リクエストごとにネットワークラウンドトリップオーバーヘッドが追加されます。大規模アプリケーションでは、このオーバーヘッドが累積します。 IronPDFのインプロセスアプローチは初期化後のオーバーヘッドはごくわずかです。

コールドスタートの問題: コンテナの起動は最初のリクエストに初期化遅延を追加します。 暖かいコンテナにもネットワーク・オーバーヘッドがあります。 ポッドの再起動、スケールアップイベント、デプロイのたびに、コールドスタートがトリガーされます。 IronPDFの初期化はアプリケーションのライフタイムごとに一度だけ行われます。

運用の複雑性: コンテナの健康状態、スケーリング、ログ、監視を個別に管理する必要があります。 ネットワークのタイムアウト、サービスの利用不能、コンテナのクラッシュがアプリケーションの懸念事項になります。 IronPDFは標準的な.NETの例外処理を使用します。

マルチパートフォームデータAPI: サービスへのすべてのリクエストは文字列ベースのパラメータでマルチパートフォームデータペイロードを構築する必要があります - 冗長であり、コンパイル時の型チェックはありません。 IronPDFはインテリセンスをサポートした型付きC#プロパティを提供します。

バージョン管理: そのコンテナイメージはアプリケーションとは別に更新されます。 APIの変更は、統合を壊す可能性があります。 IronPDFのバージョンはNuGetを通して標準的な.NET依存関係管理で管理されます。

長所と考慮点

ゴテンベルクの強み

  • **ポリグロット・アーキテクチャ:**HTTPコールを行うことができるすべての言語で動作します。
  • 言語にとらわれない: .NETエコシステムに縛られない。
  • MITライセンス: フリーおよびオープンソース
  • **マイクロサービスパターン:**コンテナ化されたアーキテクチャに適合します。

ゴテンベルクの考察

  • インフラストラクチャ・オーバーヘッド: Docker、Kubernetes、ロードバランサーが必要です。
  • ネットワーク遅延: リクエストごとのコンテナHTTPラウンドトリップ
  • コールドスタート: コンテナ初期化遅延
  • 文字列ベースのAPI: 型安全性やインテリセンスはありません。
  • 分散デバッグ: 分散トレースが必要です。
  • **ヘルスモニタリング:**管理するエンドポイントを追加する。

IronPDFの強み

  • ゼロインフラ: NuGetパッケージのみ。
  • **インプロセス パフォーマンス:**初期化後のネットワーク遅延がない。
  • **タイプセーフAPI:**インテリセンスによる強力な型付きプロパティ
  • 標準デバッグ: 通常 for .NETデバッガは動作します。
  • 包括的なリソース: 豊富なチュートリアルドキュメント
  • **Professionalサポート:**商用ライセンスにはサポートが含まれます。

IronPDFについての考察

  • .NET固有: .NETエコシステム向けに設計されています。
  • 商用ライセンス: 本番使用時に必要です。

GotenbergとIronPDFは、.NETアプリケーションでのPDF生成において根本的に異なるアプローチを表しています。 GotenbergのDockerベースのマイクロサービス・アーキテクチャは、コンテナ管理、ネットワーク遅延、運用の複雑さを導入しています。 すべてのPDF操作は、関連する障害モードとコールドスタートのペナルティを伴うHTTP通信を必要とします。

IronPDFは同じChromiumベースのレンダリングをインプロセスライブラリとして提供します。 NuGetパッケージは、Dockerコンテナ、ネットワークコール、インフラストラクチャ管理を排除します。 型付きC# APIは、文字列ベースのマルチパートフォームデータを置き換えます。 .NET標準の例外処理は、HTTPステータスコードとネットワーク障害モードに取って代わります。

組織が.NET 10、C# 14、および2026年までのアプリケーション開発を計画する中で、マイクロサービスのインフラストラクチャオーバーヘッドとインプロセスライブラリのシンプルさのどちらを選択するかは、デプロイと運用の複雑さに大きく影響します。 HTML/CSS/JavaScriptのレンダリングに忠実でありながら、インフラストラクチャの負担を軽減しようとするチームは、IronPDFがこれらの要件に効果的に対応することを発見するでしょう。

無料トライアルでIronPDFの評価を開始し、包括的なドキュメントを参照して、特定の要件への適合性を評価してください。

ご注意: Gotenbergはその所有者の登録商標です。 このサイトは、Gotenbergと提携、承認、または支援を受けておらず、すべての製品名、ロゴ、およびブランドはそれぞれの所有者が所有するものです。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。
Key in blue circle

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

Your trial license will be sent to your email address

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

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。