PdfiumViewerとIronPDFの比較:技術比較ガイド
PdfiumViewervs IronPDF:PDFビューアと.NETの完全なPDFソリューションの比較
.NET開発者がWindowsフォームアプリケーションでPDF機能を必要とする場合、GoogleのPDFiumレンダリングエンジンの.NETラッパーであるPdfiumViewerに出会うことが多い。この比較では、PdfiumViewerとIronPDFを比較し、アーキテクチャの違い、機能の完全性、最新のアプリケーション要件への適合性を分析します。
PdfiumViewerとは何ですか?
PdfiumViewerは、Chromeブラウザで使用されているGoogleのPDFレンダリングエンジンであるPDFiumの.NETラッパーです。 このライブラリは、Windowsフォームアプリケーションのために特別に設計された高性能なPDFレンダリングを提供し、WinFormsインターフェイスに直接埋め込むことができるPdfViewerコントロールを提供します。
Apache 2.0ライセンスの下で配布されるPdfiumViewerは、費用対効果の高いPDF表示機能を提供します。 ライブラリはPDF文書の作成、編集、操作はできません。 さらに、PdfiumViewerはメンテナンス状況が不透明であるため、長期的なサポートが必要なプロダクションアプリケーションにはリスクが生じます。
PdfiumViewerの主な特徴は以下のとおりです:
- 閲覧専用:PDFコンテンツの表示に特化した設計
- Windows Forms Specific:WinFormsアプリケーションに限定
- オープンソース:ライセンス費用なしのApache 2.0ライセンス
- ネイティブバイナリ依存:プラットフォーム固有のPDFiumバイナリが必要です(x86/x64)
- 不確かなメンテナンス:限られたアップデートと不明確な長期サポート
IronPDFとは何ですか?
IronPDFは、完全なPDFライフサイクル管理を提供する包括的な.NETライブラリです。 ChromePdfRendererクラスは、最新のChromiumベースのエンジンを使用して、HTML、CSS、JavaScriptからPDFを作成し、PdfDocumentクラスは、広範な操作と抽出機能を提供します。
PdfiumViewerの閲覧のみに特化した機能とは異なり、IronPdfはPDFの作成、テキスト抽出、操作、結合、透かし、セキュリティのすべてを単一のライブラリ内で処理します。 このライブラリは、コンソール、ウェブ、デスクトップアプリケーションで動作し、Windows Formsの制限をはるかに超えています。
アーキテクチャの比較
PdfiumViewerとIronPdfの基本的な違いは、閲覧のみと完全なPDFソリューションというスコープにあります。
| アスペクト | PdfiumViewer | IronPDF |
|---|---|---|
| 主な焦点 | WinFormsのPDFビューア | 完全なPDFソリューション |
| PDFの作成。 | ✗ | (HTML, URL, 画像) |
| テキスト抽出。 | ✗ | ✓ |
| PDF操作 | ✗ | マージ、分割、編集 |
| 内蔵ビューア | ✓ | ✗ (バックエンド中心) |
| プラットフォームサポート | Windowsフォームのみ | コンソール、ウェブ、デスクトップ |
| フレームワークサポート | .NET フレームワーク | .NET Framework、Core、5以上 |
| メンテナンス | 不確実 | 活発 |
Windows FormsでPDFを表示するだけのアプリケーションなら、PdfiumViewerで十分かもしれません。PDF生成、テキスト抽出、あるいはあらゆる作成機能を必要とするアプリケーションには、IronPDFが完全なソリューションを提供します。
HTMLからPDFへの変換
HTMLからPDFへの変換は、これらのライブラリ間の基本的な能力差を示しています。
PdfiumViewerのHTMLからPDFへのアプローチ:
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System.IO;
using System.Drawing.Printing;
// PDFiumViewer is primarily a PDF viewer/renderer, not a generator
// It cannot directly convert HTML to PDF
// You would need to use another library to first create the PDF
// Then use PDFiumViewer to display it:
string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";
// This functionality is NOT available in PDFiumViewer
// You would need a different library like wkhtmltopdf or similar
// PDFiumViewer can only open and display existing PDFs:
string existingPdfPath = "output.pdf";
using (var document = PdfDocument.Load(existingPdfPath))
{
// Can only render/display existing PDF
var image = document.Render(0, 300, 300, true);
}// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System.IO;
using System.Drawing.Printing;
// PDFiumViewer is primarily a PDF viewer/renderer, not a generator
// It cannot directly convert HTML to PDF
// You would need to use another library to first create the PDF
// Then use PDFiumViewer to display it:
string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";
// This functionality is NOT available in PDFiumViewer
// You would need a different library like wkhtmltopdf or similar
// PDFiumViewer can only open and display existing PDFs:
string existingPdfPath = "output.pdf";
using (var document = PdfDocument.Load(existingPdfPath))
{
// Can only render/display existing PDF
var image = document.Render(0, 300, 300, true);
}IRON VB CONVERTER ERROR developers@ironsoftware.comIronPDFのHTMLからPDFへのアプローチ:。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";
// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");// NuGet: Install-Package IronPdf
using IronPdf;
using System;
string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";
// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");IRON VB CONVERTER ERROR developers@ironsoftware.comPdfiumViewerはHTMLからPDFを作成することはできません。 ライブラリは、既存のPDFファイルを開いて表示することしかできません。 HTMLからPDFへの変換を必要とするアプリケーションは、IronPdfiumViewerと追加のライブラリを組み合わせる必要があり、複雑さと潜在的な互換性の問題が生じます。
IronPDFのChromePdfRendererは最新のChromiumエンジンを使用して、CSS3、Flexbox、Grid、JavaScriptの実行を完全にサポートしたHTMLコンテンツを変換し、ウェブコンテンツから忠実度の高いPDF出力を生成します。
テキスト抽出
テキスト抽出は、これらのライブラリ間のもう1つの大きな能力差を示しています。
PdfiumViewerのテキスト抽出アプローチ:
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Text;
string pdfPath = "document.pdf";
// PDFiumViewer has limited text extraction capabilities
// It's primarily designed for rendering, not text extraction
using (var document = PdfDocument.Load(pdfPath))
{
int pageCount = document.PageCount;
Console.WriteLine($"Total pages: {pageCount}");
// PDFiumViewer does not have built-in text extraction
// You would need to use OCR or another library
// It can only render pages as images
for (int i = 0; i < pageCount; i++)
{
var pageImage = document.Render(i, 96, 96, false);
Console.WriteLine($"Rendered page {i + 1}");
}
}// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Text;
string pdfPath = "document.pdf";
// PDFiumViewer has limited text extraction capabilities
// It's primarily designed for rendering, not text extraction
using (var document = PdfDocument.Load(pdfPath))
{
int pageCount = document.PageCount;
Console.WriteLine($"Total pages: {pageCount}");
// PDFiumViewer does not have built-in text extraction
// You would need to use OCR or another library
// It can only render pages as images
for (int i = 0; i < pageCount; i++)
{
var pageImage = document.Render(i, 96, 96, false);
Console.WriteLine($"Rendered page {i + 1}");
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comIronPDFテキスト抽出アプローチ:。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
string pdfPath = "document.pdf";
// Open and extract text from PDF
PdfDocument pdf = PdfDocument.FromFile(pdfPath);
// Extract text from all pages
string allText = pdf.ExtractAllText();
Console.WriteLine("Extracted Text:");
Console.WriteLine(allText);
// Extract text from specific page
string pageText = pdf.ExtractTextFromPage(0);
Console.WriteLine($"\nFirst page text: {pageText}");
Console.WriteLine($"\nTotal pages: {pdf.PageCount}");// NuGet: Install-Package IronPdf
using IronPdf;
using System;
string pdfPath = "document.pdf";
// Open and extract text from PDF
PdfDocument pdf = PdfDocument.FromFile(pdfPath);
// Extract text from all pages
string allText = pdf.ExtractAllText();
Console.WriteLine("Extracted Text:");
Console.WriteLine(allText);
// Extract text from specific page
string pageText = pdf.ExtractTextFromPage(0);
Console.WriteLine($"\nFirst page text: {pageText}");
Console.WriteLine($"\nTotal pages: {pdf.PageCount}");IRON VB CONVERTER ERROR developers@ironsoftware.comPdfiumViewerは、テキスト抽出ではなく、主にレンダリングのために設計されています。 ドキュメントには、"組み込みのテキスト抽出機能はありません"と明記されており、OCRまたは別のライブラリを使用する必要があります。 ライブラリは、ページを画像としてのみレンダリングできます。
IronPdfのExtractAllText()メソッドは一回の呼び出しですべてのページからすべてのテキストを抽出します。 より詳細な制御のために、ExtractTextFromPage()は特定のページからテキストを提供します。 このネイティブテキスト抽出機能により、OCRや追加ライブラリが不要になります。
PDFから画像への変換
PDFから画像へのレンダリングは、PdfiumViewerが得意とする分野の1つであり、レンダリングエンジンとしての最大の強みです。
PdfiumViewerのPDFから画像へのアプローチ:。
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Drawing;
using System.Drawing.Imaging;
string pdfPath = "document.pdf";
string outputImage = "page1.png";
// PDFiumViewer excels at rendering PDFs to images
using (var document = PdfDocument.Load(pdfPath))
{
// Render first page at 300 DPI
int dpi = 300;
using (var image = document.Render(0, dpi, dpi, true))
{
// Save as PNG
image.Save(outputImage, ImageFormat.Png);
Console.WriteLine($"Page rendered to {outputImage}");
}
// Render all pages
for (int i = 0; i < document.PageCount; i++)
{
using (var pageImage = document.Render(i, 150, 150, true))
{
pageImage.Save($"page_{i + 1}.png", ImageFormat.Png);
}
}
}// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Drawing;
using System.Drawing.Imaging;
string pdfPath = "document.pdf";
string outputImage = "page1.png";
// PDFiumViewer excels at rendering PDFs to images
using (var document = PdfDocument.Load(pdfPath))
{
// Render first page at 300 DPI
int dpi = 300;
using (var image = document.Render(0, dpi, dpi, true))
{
// Save as PNG
image.Save(outputImage, ImageFormat.Png);
Console.WriteLine($"Page rendered to {outputImage}");
}
// Render all pages
for (int i = 0; i < document.PageCount; i++)
{
using (var pageImage = document.Render(i, 150, 150, true))
{
pageImage.Save($"page_{i + 1}.png", ImageFormat.Png);
}
}
}IRON VB CONVERTER ERROR developers@ironsoftware.comIronPDF PDFから画像へのアプローチ:。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Linq;
string pdfPath = "document.pdf";
string outputImage = "page1.png";
// Open PDF and convert to images
PdfDocument pdf = PdfDocument.FromFile(pdfPath);
// Convert first page to image
var firstPageImage = pdf.ToBitmap(0);
firstPageImage[0].Save(outputImage);
Console.WriteLine($"Page rendered to {outputImage}");
// Convert all pages to images
var allPageImages = pdf.ToBitmap();
for (int i = 0; i < allPageImages.Length; i++)
{
allPageImages[i].Save($"page_{i + 1}.png");
Console.WriteLine($"Saved page {i + 1}");
}
Console.WriteLine($"Total pages converted: {pdf.PageCount}");// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Linq;
string pdfPath = "document.pdf";
string outputImage = "page1.png";
// Open PDF and convert to images
PdfDocument pdf = PdfDocument.FromFile(pdfPath);
// Convert first page to image
var firstPageImage = pdf.ToBitmap(0);
firstPageImage[0].Save(outputImage);
Console.WriteLine($"Page rendered to {outputImage}");
// Convert all pages to images
var allPageImages = pdf.ToBitmap();
for (int i = 0; i < allPageImages.Length; i++)
{
allPageImages[i].Save($"page_{i + 1}.png");
Console.WriteLine($"Saved page {i + 1}");
}
Console.WriteLine($"Total pages converted: {pdf.PageCount}");IRON VB CONVERTER ERROR developers@ironsoftware.comPdfiumViewerのRender()メソッドは、出力品質を細かく制御できるDPIベースのレンダリングを提供します。 この方法では、usingステートメントを入れ子にした手作業による廃棄パターンが必要です。
IronPDFのToBitmap()メソッドはよりシンプルなAPIを提供し、保存や処理が可能なビットマップ配列を返します。 APIパターンは異なりますが、どちらのライブラリもこのタスクを効果的に処理します。
APIマッピングリファレンス
PdfiumViewerからIronPdfへの移行を検討しているチームにとって、APIマッピングを理解することは労力を見積もるのに役立ちます。
ドキュメントの読み込み
| PdfiumViewer | IronPDF | ノート |
|---|---|---|
PdfDocument.Load(パス)。 | PdfDocument.FromFile(パス)。 | ファイルから読み込む |
PdfDocument.Load(stream)を実行します。 | <コード>PdfDocument.FromStream(stream)</コード><コード>PdfDocument.FromStream(stream) | ストリームから読み込む |
| <コード>document.PageCount</コード | <コード>document.PageCount</コード | 同じ |
ドキュメント.ページサイズ[index] | document.Pages[index].Width/Height。 | ページごとのアクセス |
レンダリング
| PdfiumViewer | IronPDF | ノート |
|---|---|---|
document.Render(index, dpiX, dpiY, flag). | pdf.ToBitmap(インデックス) | ページから画像へ |
document.Render(index, width, height, dpiX, dpiY, flags). | pdf.RasterizeToImageFiles(path, dpi). | バッチレンダー |
PdfiumViewerで利用できない機能
| IronPDFの特徴 | 翻訳内容 |
|---|---|
ChromePdfRenderer.RenderHtmlAsPdf()のようになります。 | HTMLからPDFを作成 |
ChromePdfRenderer.RenderUrlAsPdf()のようにします。 | URLからPDFを作成 |
pdf.ExtractAllText()を使用してください。 | すべてのテキストを抽出 |
pdf.ExtractTextFromPage(index)のようにします。 | 特定のページからテキストを抽出 |
PdfDocument.Merge()を使用してください。 | 複数のPDFを結合 |
| <コード>pdf.ApplyWatermark()</コード></コード | 透かしの追加 |
| <コード>pdf.SecuritySettings</コード | パスワード保護 |
ネイティブ バイナリ依存関係
アーキテクチャ上の大きな違いは、依存関係の管理にあります。
PdfiumViewerの展開構造:
MyApp/
├── bin/
│ ├──MyApp.dll
│ ├──PdfiumViewer.dll
│ ├── x86/
│ └── pdfium.dll
│ └── x64/
└─ pdfium.dllIronPDFの展開構造:。
MyApp/
├── bin/
│ ├──MyApp.dll
│ └─ IronPdf.dll # 含まれるものすべてPdfiumViewerは、プラットフォーム固有のネイティブバイナリをバンドルし、管理する必要があります。 このため、特に複数のプラットフォームを対象とするアプリケーションでは、展開が複雑になります。 各ターゲット環境は正しいネイティブDLLを必要とし、アプリケーションは実行時に適切なバージョンを正しくロードする必要があります。
IronPdfのフルマネージドアーキテクチャはこれらの懸念を払拭します。 ライブラリは依存関係を内部的に処理し、デプロイを簡素化します。
機能比較の概要
PdfiumViewerとIronPdfの違いは、基本的な閲覧にとどまらず、事実上すべてのPDF操作に及びます。
| フィーチャー | PdfiumViewer | IronPDF |
|---|---|---|
| PDFを読み込む | ✓ | ✓ |
| 画像にレンダリング | ✓ | ✓ |
| 内蔵ビューア | ✓ | ✗ |
| 印刷用PDF | ✓ | ✓ |
| テキストの抽出 | ✗ | ✓ |
| HTMLから作成 | ✗ | ✓ |
| URLから作成 | ✗ | ✓ |
| PDFのマージ | ✗ | ✓ |
| PDFの分割 | ✗ | ✓ |
| 透かしの追加 | ✗ | ✓ |
| ヘッダー/フッター | ✗ | ✓ |
| パスワード保護 | ✗ | ✓ |
| WinFormsサポート | ✓ | ✓ |
| ASP.NETサポート | ✗ | ✓ |
| .NET Coreサポート | 制限的 | ✓ |
| アクティブメンテナンス | 不確実 | ✓ |
テキスト抽出、鉄PDFマージ、透かし処理を必要とするアプリケーションは、PdfiumViewerだけでは実現できません。
組み込みビューアに関する考察
PdfiumViewerが有利な分野の1つは、Windowsフォームアプリケーション用の組み込みのPdfViewerコントロールです。 IronPDFはバックエンドに特化しており、ビューアコントロールは含まれていません。
PdfiumViewerから移行するアプリケーションでPDFの閲覧が必要な場合、次のような選択肢があります:
- デフォルトのシステムビューア:ユーザーのデフォルトのPDFアプリケーションでPDFを開くには、
Process.Start()を使用します。 - WebBrowserコントロール:WinFormsのWebBrowserコントロールでPDFを表示する(PDFプラグインが必要)
- サードパーティビューア:Syncfusion、DevExpress、Telerikなどのベンダーが提供する特殊なビューアコントロールです。
- ウェブベースの閲覧:ウェブアプリケーションでは、PDFを提供し、ブラウザに表示させます。
// Open in default PDF viewer
Process.Start(new ProcessStartInfo(pdfPath) { UseShellExecute = true });// Open in default PDF viewer
Process.Start(new ProcessStartInfo(pdfPath) { UseShellExecute = true });IRON VB CONVERTER ERROR developers@ironsoftware.comチームがPdfiumViewerからIronPDFへの移行を検討するとき
チームがIronPdfをPdfiumViewerの代替として評価するのにはいくつかの要因があります:
PDF作成の要件:PdfiumViewerはPDFを作成できません。 HTMLテンプレート、レポート、WebコンテンツからPDFを生成する必要があるアプリケーションには、追加のライブラリが必要です。 IronPdfは最新のChromiumエンジンで完全なPDF作成を提供します。
テキスト抽出の必要性:PdfiumViewerはPDFからテキストを抽出することはできません。 テキスト検索、インデックス作成、コンテンツ分析を必要とするアプリケーションには、IronPDFのネイティブテキスト抽出機能が必要です。
プラットフォームの拡張:PdfiumViewerはWindowsフォームアプリケーションに制限されています。 ASP.NETウェブアプリケーション、コンソールユーティリティ、クロスプラットフォームソリューションを構築する組織はIronPDFの幅広いプラットフォームサポートを必要としています。
メンテナンスに関する懸念:PdfiumViewerの不確かなメンテナンス状況は、長期的なサポートを必要とするプロダクションアプリケーションのリスクを生み出します。 IronPDFは積極的な開発とプロフェッショナルなサポートを提供します。
機能の拡張:アプリケーションが成熟するにつれて、要件は閲覧だけでなく、文書のマージ、透かし、セキュリティ設定などへと拡大することがよくあります。 IronPDFはこれらの機能をネイティブで提供します。
インストールの比較
PdfiumViewerのインストール:
Install-Package PdfiumViewer
Install-Package PdfiumViewer.Native.x86.v8-xfa
Install-Package PdfiumViewer.Native.x64.v8-xfaInstall-Package PdfiumViewer
Install-Package PdfiumViewer.Native.x86.v8-xfa
Install-Package PdfiumViewer.Native.x64.v8-xfaPlusネイティブのバイナリ管理。
IronPDFのインストール:。
Install-Package IronPdfInstall-Package IronPdfIronPdfはアプリケーション起動時にライセンスキーの設定を必要とします:
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"どちらのライブラリも.NET Frameworkをサポートしており、IronPDFは.NET Core、.NET 5+、そして.NET 10とC# 14もサポートしています。
決定する
PdfiumViewerとIronPDFのどちらを選ぶかはアプリケーションの要件によります:
もし PdfiumViewerを: Windows FormsでPDFを表示することだけが必要で、PDFの作成やテキスト抽出を必要とせず、無料のオープンソースのソリューションが必要で、不確かな長期的なメンテナンスに抵抗がなければ、PdfiumViewerを検討してください。
もし: HTMLやURLからのPDF作成が必要、テキスト抽出機能が必要、Windowsフォーム以上のサポートが必要、PDF操作(マージ、分割、透かし)が必要、積極的なメンテナンスとサポートが必要、PDFの要件が拡大するアプリケーションを構築している場合、IronPDFを検討してください。
ほとんどの最新のアプリケーションでは、PDFを作成、抽出、操作する機能が不可欠です。 PdfiumViewerは閲覧のみにフォーカスしているため、追加ライブラリのない包括的なPDFワークフローには不十分です。 IronPDFの完全なソリューションは、すべてのPDF操作に統一されたAPIを提供しながら、ライブラリの組み合わせの必要性を排除します。
IronPDFを始めよう
お客様のPDFニーズにIronPDFを評価する:
1.IronPDF NuGetパッケージをインストールしてください:IronPdfパッケージをインストールしてください。 2.作成パターンについては、HTML to PDFチュートリアルをご覧ください。 3.コンテンツ処理のためのテキスト抽出機能を探る 4.チュートリアルセクションで包括的な例を確認してください。
IronPDFドキュメントは、一般的なシナリオのための詳細なガイダンスを提供し、APIリファレンスは、利用可能なすべてのクラスとメソッドを文書化しています。
結論
PdfiumViewerとIronPDFは.NET PDFエコシステムにおいて基本的に異なる目的を果たします。 PdfiumViewerはWindowsフォームアプリケーションでのPDF表示に優れており、GoogleのPDFiumエンジンを使ってドキュメントを忠実に表示します。IronPDFは単一のライブラリで作成、テキスト抽出、操作、レンダリングをカバーする完全なPDFソリューションを提供します。
Windows FormsでPDFを表示することだけを必要とするアプリケーションには、PdfiumViewerの焦点を絞ったアプローチが適切かもしれません。 PDF生成、テキスト抽出、ドキュメントマージ、その他の作成機能を必要とするアプリケーションに対して、IronPDFは追加のライブラリを必要とせず、これらの機能をネイティブに提供します。
この決定は、現在の要件だけでなく、予想されるニーズやメンテナンスの考慮事項にも及びます。 PdfiumViewerのメンテナンス状況が不明確なため、プロジェクトのリスクが生じます。また、アプリケーションは、閲覧から始まり、作成や操作を必要とするまでに拡張することがよくあります。 当初からIronPDFを選択することで、長期的なサポートと積極的な開発を保証しながら、これらの拡張要件に対応する基盤を提供します。
これらのライブラリのいずれかを選択する際には、現在および予測されるPDF要件全体を評価してください。 PdfiumViewerの表示のみの性質は、アプリケーションが成熟し、要件が拡大するにつれて明らかになるアーキテクチャ上の制約を生み出します。