SelectPdf vs IronPDF:技術比較ガイド
.NET開発者がHTMLからPDFへの変換ライブラリを評価する場合、SelectPdfとIronPDFはプラットフォーム機能が大きく異なる異なるアーキテクチャのアプローチです。 SelectPdfは古いBlink/WebKitベースのレンダリングエンジンを使用し、Windowsのみのデプロイメントを行う商用ライブラリを提供していますが、IronPdfは最新のChromiumベースのソリューションを提供し、完全なクロスプラットフォームをサポートしています。 この技術比較では、2025年以降に.NETアプリケーションのPDF生成を決定するプロの開発者やアーキテクトにとって最も重要な次元にわたって、両ライブラリを検証します。
SelectPdfを理解する
SelectPdfは、C#を使用してHTMLコンテンツをPDFに変換するために設計された商用ライブラリです。 このライブラリは、アプリケーション内にPDF生成機能をシームレスに統合することを必要とする開発者向けに作られています。 SelectPdfのAPIは、HtmlToPdfコンバータクラスとPdfDocumentオブジェクトパターンを中心に構成されており、HTMLからPDFへの変換を簡単に行うことができます。
SelectPdfの強みはシンプルなAPIにあり、初めてPDFを作成する開発者にとって魅力的な選択肢です。 しかし、潜在的なユーザーは、デプロイオプションと最新のWeb標準サポートに影響する重大な制限を認識する必要があります。
重大な制限:クロスプラットフォーム機能を宣伝しているにもかかわらず、SelectPdfはWindows環境でのみ機能します。 これは、Azure Functions、Dockerコンテナ、Linuxベースのホスティングなどのクラウドベースのデプロイソリューションを検討する際に、大きな障壁となります。
IronPDFの理解
IronPDFは、最新のChromiumレンダリングエンジンを使用する、商業的にサポートされているPDF生成ライブラリを提供します。このライブラリは、CSS Grid、高度なFlexbox、CSS Variablesを含む最新のCSS3機能をサポートし、HTML、CSS、JavaScriptをブラウザレベルの完全な忠実度でPDF文書に変換します。
IronPdfはWindows、Linux(10以上のディストリビューション)、macOS、Azure Functions、AWS Lambda、Dockerコンテナを含むクラウド環境で動作します。 ライブラリはNuGetパッケージとしてインストールされ、.NET 10を含む最新の.NETプラットフォームを完全にサポートします。
プラットフォームサポートの問題
SelectPdfとIronPdfの最も大きな違いは、プラットフォームのサポートにあります。 これは、デプロイオプション、CI/CDパイプライン、クラウド採用戦略に影響します。
SelectPdfプラットフォームの制限事項
SelectPdfは明示的にサポートしていません:
- Linux(ディストリビューションを問わず)
- macOS
- Dockerコンテナ
- Azure Functions
- AWSラムダ
- Google クラウド機能
- ARMベースのシステム
SelectPdfはWindows固有のライブラリに依存しているため、他のプラットフォームには移植できません。
// ❌セレクトPDF- This code FAILS on Linux/Docker
using SelectPdf;
// Deployment toAzure App Service(Linux)- FAILS
// Deployment to Docker container - FAILS
// Deployment toAWSラムダ- FAILS
// GitHub Actions on ubuntu-latest - FAILS
var converter = new HtmlToPdf();
var doc = converter.ConvertHtmlString("<h1>Hello</h1>");
// Exception:セレクトPDFonly works on Windows// ❌セレクトPDF- This code FAILS on Linux/Docker
using SelectPdf;
// Deployment toAzure App Service(Linux)- FAILS
// Deployment to Docker container - FAILS
// Deployment toAWSラムダ- FAILS
// GitHub Actions on ubuntu-latest - FAILS
var converter = new HtmlToPdf();
var doc = converter.ConvertHtmlString("<h1>Hello</h1>");
// Exception:セレクトPDFonly works on WindowsImports SelectPdf
' ❌セレクトPDF- This code FAILS on Linux/Docker
' Deployment to Azure App Service(Linux)- FAILS
' Deployment to Docker container - FAILS
' Deployment to AWSラムダ- FAILS
' GitHub Actions on ubuntu-latest - FAILS
Dim converter As New HtmlToPdf()
Dim doc = converter.ConvertHtmlString("<h1>Hello</h1>")
' Exception:セレクトPDFonly works on WindowsIronPDFクロスプラットフォームサポート
IronPDFは包括的なクロスプラットフォーム展開を提供します:
// ✅IronPDF- Works everywhere
using IronPdf;
//Azure App Service(Linux)- WORKS
// Docker container - WORKS
//AWSラムダ- WORKS
// GitHub Actions on ubuntu-latest - WORKS
// macOS development - WORKS
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello</h1>");
pdf.SaveAs("output.pdf");// ✅IronPDF- Works everywhere
using IronPdf;
//Azure App Service(Linux)- WORKS
// Docker container - WORKS
//AWSラムダ- WORKS
// GitHub Actions on ubuntu-latest - WORKS
// macOS development - WORKS
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello</h1>");
pdf.SaveAs("output.pdf");Imports IronPdf
' Azure App Service(Linux)- WORKS
' Docker container - WORKS
' AWSラムダ- WORKS
' GitHub Actions on ubuntu-latest - WORKS
' macOS development - WORKS
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello</h1>")
pdf.SaveAs("output.pdf")プラットフォーム サポートの比較
| プラットフォーム | セレクトPDF | IronPDF |
|---|---|---|
| Windows Server 2019+ | ✅ | ✅ |
| Windows 10/11 | ✅ | ✅ |
| Ubuntu 20.04+ | ❌ | ✅ |
| Debian 10 以上 | ❌ | ✅ |
| CentOS 7 以上 | ❌ | ✅ |
| アルパインリナックス | ❌ | ✅ |
| Amazon Linux 2 | ❌ | ✅ |
| macOS 10.15+ | ❌ | ✅ |
| Azure App Service(Linux) | ❌ | ✅ |
| Azure Functions | ❌ | ✅ |
| AWSラムダ | ❌ | ✅ |
| Docker (Linux) | ❌ | ✅ |
| Kubernetes | ❌ | ✅ |
レンダリングエンジンの違い
SelectPdfは時代遅れのBlink/WebKitフォークを使用しており、最新のWeb標準に追いついていません。 IronPDFは最新の安定したChromiumレンダリングエンジンを使用しており、最新のCSSとJavaScriptとの互換性を確保しています。
CSS機能サポートの比較
| CSS機能 | セレクトPDF | IronPDF |
|---|---|---|
| CSSグリッド | ⚠️ 一部/破損 | フル |
| フレックスボックス(基本) | ✅ | ✅ |
| Flexbox(ギャッププロパティ) | ❌ | ✅ |
| CSS変数 | ❌ | ✅ |
| CSS calc() | ⚠️ 有限会社 | ✅ |
| メディアプリント | ⚠️ 有限会社 | ✅ |
| フォントフェイス | ⚠️ 有限会社 | ✅ |
| ウェブフォント | ⚠️ 有限会社 | ✅ |
| SVG | ⚠️ 基本 | フル |
| CSSトランスフォーム | ⚠️ 有限会社 | ✅ |
| CSSアニメーション | ❌ | ✅ |
モダンな CSS レンダリングの例
SelectPdfは最新のCSSレイアウトに対応していません:
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;">
<div>Item 1</div>
<div>Item 2</div>
<div>Item 3</div>
</div>
<style>
:root { --primary-color: #007bff; }
h1 { color: var(--primary-color); }
</style>
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;">
<div>Item 1</div>
<div>Item 2</div>
<div>Item 3</div>
</div>
<style>
:root { --primary-color: #007bff; }
h1 { color: var(--primary-color); }
</style>IronPDFは最新のCSSを正しく扱います:
// ✅IronPDF- Uses latest stable Chromium
var renderer = new ChromePdfRenderer();
var html = @"
<style>
:root { --primary: #007bff; --gap: 20px; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--gap); }
</style>
<div class='grid'>
<div style='background: var(--primary); color: white; padding: 1rem;'>Item 1</div>
<div style='background: var(--primary); color: white; padding: 1rem;'>Item 2</div>
<div style='background: var(--primary); color: white; padding: 1rem;'>Item 3</div>
</div>";
var pdf = renderer.RenderHtmlAsPdf(html);
// All modern CSS features render correctly!// ✅IronPDF- Uses latest stable Chromium
var renderer = new ChromePdfRenderer();
var html = @"
<style>
:root { --primary: #007bff; --gap: 20px; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--gap); }
</style>
<div class='grid'>
<div style='background: var(--primary); color: white; padding: 1rem;'>Item 1</div>
<div style='background: var(--primary); color: white; padding: 1rem;'>Item 2</div>
<div style='background: var(--primary); color: white; padding: 1rem;'>Item 3</div>
</div>";
var pdf = renderer.RenderHtmlAsPdf(html);
// All modern CSS features render correctly!Imports IronPdf
' ✅IronPDF- Uses latest stable Chromium
Dim renderer As New ChromePdfRenderer()
Dim html As String = "
<style>
:root { --primary: #007bff; --gap: 20px; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--gap); }
</style>
<div class='grid'>
<div style='background: var(--primary); color: white; padding: 1rem;'>Item 1</div>
<div style='background: var(--primary); color: white; padding: 1rem;'>Item 2</div>
<div style='background: var(--primary); color: white; padding: 1rem;'>Item 3</div>
</div>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
' All modern CSS features render correctly!機能比較の概要
| フィーチャー | セレクトPDF | IronPDF |
|---|---|---|
| Windowsの場合 | ✅ | ✅ |
| リナックス。 | ❌ 未対応 | ✅ 10以上のディストロ |
| macOS。 | ❌ 未対応 | 対応言語 |
| ドッカー。 | ❌ 未対応 | 公式画像 |
| Azureファンクション | ❌ 未対応 | 対応言語 |
| AWSラムダ | ❌ 未対応 | 対応言語 |
| CSSグリッド | ⚠️ 有限会社 | 対応言語 |
| Flexbox(フレックスボックス | ⚠️ 有限会社 | 対応言語 |
| CSS変数について | ❌ 未対応 | 対応言語 |
| .NET 10 | ❌ 未対応 | 対応言語 |
| 無料バージョンの制限 | 5ページ | 豊富なトライアル |
HTML文字列からPDFへの変換
コアとなるHTMLからPDFへのワークフローは、ライブラリ間の基本的なAPIの違いを示しています。
SelectPdfのHTML文字列変換
SelectPdfは、HtmlToPdfコンバータを使用し、明確なドキュメントライフサイクル管理を行います:
// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;
class Program
{
static void Main()
{
string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
HtmlToPdf converter = new HtmlToPdf();
PdfDocument doc = converter.ConvertHtmlString(htmlContent);
doc.Save("document.pdf");
doc.Close();
Console.WriteLine("PDF generated from HTML string");
}
}// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;
class Program
{
static void Main()
{
string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
HtmlToPdf converter = new HtmlToPdf();
PdfDocument doc = converter.ConvertHtmlString(htmlContent);
doc.Save("document.pdf");
doc.Close();
Console.WriteLine("PDF generated from HTML string");
}
}Imports SelectPdf
Imports System
Class Program
Shared Sub Main()
Dim htmlContent As String = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"
Dim converter As New HtmlToPdf()
Dim doc As PdfDocument = converter.ConvertHtmlString(htmlContent)
doc.Save("document.pdf")
doc.Close()
Console.WriteLine("PDF generated from HTML string")
End Sub
End Classこのアプローチには以下が必要です:
HtmlToPdfコンバータのインスタンスを作成するPdfDocumentを生成するためにConvertHtmlString()を呼び出します。- 保存後に
doc.Close()を明示的に呼び出すこと
IronPDFのHTML文字列変換
IronPDFはChromePdfRendererクラスと自動リソース管理を提供します:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("document.pdf");
Console.WriteLine("PDF generated from HTML string");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("document.pdf");
Console.WriteLine("PDF generated from HTML string");
}
}Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim htmlContent As String = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("document.pdf")
Console.WriteLine("PDF generated from HTML string")
End Sub
End ClassRenderHtmlAsPdf メソッドは Chromium レンダリング エンジンを使用し、リソースのクリーンアップを自動的に処理します。
URLからPDFへの変換
生きているウェブページをPDFに変換することは、どちらのライブラリでも似たようなパターンに従います。
SelectPdfのURL変換
// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;
class Program
{
static void Main()
{
HtmlToPdf converter = new HtmlToPdf();
PdfDocument doc = converter.ConvertUrl("https://www.example.com");
doc.Save("output.pdf");
doc.Close();
Console.WriteLine("PDF created successfully");
}
}// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;
class Program
{
static void Main()
{
HtmlToPdf converter = new HtmlToPdf();
PdfDocument doc = converter.ConvertUrl("https://www.example.com");
doc.Save("output.pdf");
doc.Close();
Console.WriteLine("PDF created successfully");
}
}Imports SelectPdf
Imports System
Class Program
Shared Sub Main()
Dim converter As New HtmlToPdf()
Dim doc As PdfDocument = converter.ConvertUrl("https://www.example.com")
doc.Save("output.pdf")
doc.Close()
Console.WriteLine("PDF created successfully")
End Sub
End ClassIronPDFのURL変換
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully");
}
}Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF created successfully")
End Sub
End ClassRenderUrlAsPdf メソッドは、Chromium エンジンを使用して URL に移動し、JavaScript を実行し、CSS スタイリングを適用し、完全にレンダリングされたページをキャプチャします。
カスタムページ設定
ページ構成では、さまざまなAPIプロパティの命名規則を示します。
SelectPdfページの設定
SelectPdfはconverter.Optionsを通して設定を構成します:
// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;
class Program
{
static void Main()
{
HtmlToPdf converter = new HtmlToPdf();
converter.Options.PdfPageSize = PdfPageSize.A4;
converter.Options.PdfPageOrientation = PdfPageOrientation.Portrait;
converter.Options.MarginTop = 20;
converter.Options.MarginBottom = 20;
converter.Options.MarginLeft = 20;
converter.Options.MarginRight = 20;
string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
PdfDocument doc = converter.ConvertHtmlString(html);
doc.Save("custom-settings.pdf");
doc.Close();
Console.WriteLine("PDF with custom settings created");
}
}// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;
class Program
{
static void Main()
{
HtmlToPdf converter = new HtmlToPdf();
converter.Options.PdfPageSize = PdfPageSize.A4;
converter.Options.PdfPageOrientation = PdfPageOrientation.Portrait;
converter.Options.MarginTop = 20;
converter.Options.MarginBottom = 20;
converter.Options.MarginLeft = 20;
converter.Options.MarginRight = 20;
string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
PdfDocument doc = converter.ConvertHtmlString(html);
doc.Save("custom-settings.pdf");
doc.Close();
Console.WriteLine("PDF with custom settings created");
}
}Imports SelectPdf
Imports System
Module Program
Sub Main()
Dim converter As New HtmlToPdf()
converter.Options.PdfPageSize = PdfPageSize.A4
converter.Options.PdfPageOrientation = PdfPageOrientation.Portrait
converter.Options.MarginTop = 20
converter.Options.MarginBottom = 20
converter.Options.MarginLeft = 20
converter.Options.MarginRight = 20
Dim html As String = "<html><body><h1>Custom Page Settings</h1></body></html>"
Dim doc As PdfDocument = converter.ConvertHtmlString(html)
doc.Save("custom-settings.pdf")
doc.Close()
Console.WriteLine("PDF with custom settings created")
End Sub
End ModuleIronPDFページの設定
IronPDFはrenderer.RenderingOptionsを通して設定を行います:
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Engines.Chrome;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("custom-settings.pdf");
Console.WriteLine("PDF with custom settings created");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Engines.Chrome;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("custom-settings.pdf");
Console.WriteLine("PDF with custom settings created");
}
}Imports IronPdf
Imports IronPdf.Engines.Chrome
Imports System
Module Program
Sub Main()
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
Dim html As String = "<html><body><h1>Custom Page Settings</h1></body></html>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("custom-settings.pdf")
Console.WriteLine("PDF with custom settings created")
End Sub
End ModuleRenderingOptionsプロパティは、強くタイプされたプロパティを通して、用紙サイズ、余白、および他のPDF設定へのアクセスを提供します。
APIマッピングリファレンス
SelectPdfからIronPdfへの移行を検討しているチームは、このマッピングを参考にしてください:
| セレクトPDF | IronPDF |
|---|---|
HtmlToPdf</code | ChromePdfRenderer</code |
converter.ConvertHtmlString(). | renderer.RenderHtmlAsPdf()</code |
converter.ConvertUrl(). | renderer.RenderUrlAsPdf()を使用してください。 |
doc.Save()</code | pdf.SaveAs()</code |
doc.Close()</code | 不要 |
コンバーター.オプション.PdfPageSize | renderer.RenderingOptions.PaperSize。 |
コンバーター.オプション.PdfPageOrientation | renderer.RenderingOptions.PaperOrientation。 |
コンバーター.オプション.マージントップ | renderer.RenderingOptions.MarginTop。 |
PdfPageSize.A4 | PdfPaperSize.A4</code |
PdfPageOrientation.Portrait</code | PdfPaperOrientation.Portrait</code |
"{page_number}の{total_pages}"。 | "{全ページ}の{ページ}"。 |
converter.Header.Add(). | renderer.RenderingOptions.HtmlHeader。 |
converter.Footer.Add(). | renderer.RenderingOptions.HtmlFooter。 |
5ページ無料版の制限について
SelectPdfの無料版には厳しい制限があり、評価や開発に影響します:
- 1つのPDFにつき最大5ページまで
- 5ページ以降:全ページに積極的な透かしを入れること。
- "SelectPdfで作成"の透かしは、購入しないと削除できません。
- 評価ワークフローも限定的
IronPDFは評価中のページ制限を設けず、より寛大なトライアル体験を提供します。
商用価格の比較
| アスペクト | セレクトPDF | IronPDF |
|---|---|---|
| 開始価格 | $499 | $749 |
| 無料トライアルページ | 5ページ以内 | 豊富なトライアル |
| ウォーターマークの動作 | 5ページ以降は積極的に | 試用版の透かし |
| ライセンスタイプ | 購読オプション | 永久募集 |
| 価格の透明性 | 複雑な階層 | 明確な価格設定 |
チームがSelectPdfへの移行を検討するとき
開発チームは、SelectPdfに代わる選択肢を検討する必要があります:
クラウドデプロイメントの要件は、アプリケーションがAzure Functions、AWS Lambda、またはLinuxベースのコンテナ環境で実行する必要がある場合にブロックされます。 SelectPdfのWindowsのみの制限は、このような展開シナリオを完全に妨げます。
現代的なCSSレンダリングの失敗は、現代的なウェブデザインを使用したアプリケーションに影響を与えます。 CSSグリッドレイアウトが崩れたり、Flexboxギャッププロパティが機能しなかったり、CSS変数がSelectPdfの古いレンダリングエンジンでサポートされなかったりします。
.NET 10の採用により、互換性に関する懸念が生じました。 2026年に.NET 10とC# 14をターゲットにする予定のチームには、最新の.NETを完全にサポートするライブラリが必要です。 SelectPdfは.NET 10をサポートしていませんが、IronPDFはフルサポートしています。
CI/CDパイプラインの制限は、GitHub Actions、Azure DevOps、またはその他のビルドシステムがLinuxベースのエージェントを使用している場合に現れます。 SelectPdfはubuntu-latestランナーでは実行できないため、自動テストとデプロイのワークフローが壊れてしまいます。
Dockerコンテナ化は完全にブロックされています。 コンテナベースのアーキテクチャを採用している組織では、DockerデプロイメントでSelectPdfを使用することはできません。
長所とトレードオフ
SelectPdfの強み
- 基本的なHTMLからPDFへの変換のためのシンプルでわかりやすいAPI
- 低価格(499ドル)
- 基本的なCSSが必要なWindowsのみの導入シナリオに適しています。
SelectPdfの制限事項
- Windowsのみのデプロイメント(Linux、macOS、Docker、クラウド機能は不可)
- 旧式のBlink/WebKitレンダリングエンジン
- 限定的なCSSグリッド、Flexboxギャップ、およびCSS変数のサポート
- 積極的な透かし入りの無料版では5ページ制限
- .NET 10のサポートはありません。
- Azure Functions、AWS Lambda、コンテナ環境にはデプロイできません。
- 明示的な
doc.Close()呼び出しが必要です。
IronPDFの強み
- 完全なクロスプラットフォーム対応(Windows、Linux 10+ディストロ、macOS、Docker)
- CSS3とJavaScriptをフルサポートした最新のChromiumレンダリング
- クラウドネイティブデプロイメント(Azure Functions、AWS Lambda、Kubernetes)
- .NET 10をフルサポート
- 包括的なドキュメントと専門的なサポート
- 自動リソース管理(
Close()不要) - PDF操作機能 (マージ、分割、透かし)
- デジタル署名とセキュリティ機能
IronPDFについての考察
- 高い開始価格 ($749)
- 商用ライセンスモデル
結論
SelectPdfとIronPDFは異なる展開コンテキストと技術要件に対応しています。 SelectPdfは、基本的なCSSが必要なWindowsのみの環境で、無料版の5ページという制限を受け入れられるような、わかりやすいオプションを提供します。
クロスプラットフォームデプロイメント、最新のCSSレンダリング、クラウド機能のサポート、コンテナ環境を必要とするアプリケーションに対して、IronPdfはSelectPdfでは提供できない重要な機能を提供します。 Linux、Docker、Azure Functions、AWS Lambdaへのデプロイ機能は、Windowsのみのライブラリでは満たせない最新のインフラ要件に対応しています。
SelectPdfからIronPDFへの移行を検討する際には、導入プラットフォーム、CSSの複雑さ、.NETのバージョンターゲット、クラウドの採用戦略など、各チーム固有の要件を考慮する必要があります。 2026年の.NET 10で最新のクラウドネイティブアーキテクチャをターゲットとするチームにとって、IronPDFのクロスプラットフォームChromiumベースのアーキテクチャは、SelectPdfのWindowsのみのアプローチよりも持続可能な基盤を提供します。
実装ガイダンスについては、IronPDF HTML-to-PDFチュートリアルと、最新の.NETアプリケーションのためのPDF生成パターンをカバーするドキュメントをご覧ください。 プラットフォーム固有のデプロイメントについては、LinuxデプロイメントガイドとDockerドキュメント.を参照してください。