PDFPrinting.NETとIronPDFの比較:技術比較ガイド
.NET開発者がPDFを印刷する必要があるとき、彼らはさまざまな焦点のライブラリを見つけます。 PDFPrinting.NETはWindows上でのサイレントPDF印刷に特化し、IronPDFは完全なPDF管理を提供します。 この比較では、両ライブラリのアーキテクチャ、機能、さまざまなアプリケーションへの適合性を検証します。
PDFPrinting.NETとは何ですか?
PDFPrinting.NETは、ユーザーの介入なしにプログラムでPDF文書を印刷することを簡素化するために設計された商用ライブラリです。 主にWindows内で動作し、PDFのサイレントかつスムーズな印刷に重点を置いています。
このライブラリはWindowsの印刷システムを使用しており、用紙サイズや拡大縮小などの印刷設定を詳細に制御できます。 このため、PDFの自動印刷に最適です。
PDFPrinting.NETの主な機能は次のとおりです:
- サイレント印刷にフォーカス:ユーザーとのインタラクションなしに自動印刷できるように設計されています。
- Windowsとの統合: Windows Print APIを使用してプリンタを制御します。
- 印刷のみ: PDFの作成や変更はできません。
- Windows固有: Linux/macOSはサポートしていません。
- 商用ライセンス: 有償ライセンスモデル
IronPDFとは何ですか?
IronPDFは、PDFを管理するための完全な.NETライブラリです。 ChromePdfRenderer クラスは HTML から PDF への変換に最新の Chromium ベースのエンジンを使用し、PdfDocument クラスは広範な操作、抽出、印刷機能を提供します。
PDFPrinting.NETとは異なり、IronPDFはPDFのライフサイクル全体-HTMLやURLからの作成、テキスト抽出、文書操作、マージ、透かし、セキュリティ機能、電子署名、印刷-を1つのライブラリで処理し、Windows、Linux、macOSで動作します。
アーキテクチャの比較
PDFPrinting.NETとIronPDFの主な違いは、印刷のみと完全なPDFライフサイクル管理です。
| アスペクト | PDFPrinting.NET | IronPDF |
|---|---|---|
| 主な焦点 | サイレントPDF印刷 | PDFの全ライフサイクル |
| PDFの作成。 | サポートされていません | 完了 |
| HTMLからPDFへ | サポートされていません | フルChromiumエンジン |
| PDF操作 | サポートされていません | マージ、分割、回転 |
| テキスト抽出。 | サポートされていません | サポート対象 |
| プラットフォームサポート | Windowsのみ | クロスプラットフォーム |
| サイレント印刷 | はい | はい |
| プリンタ統合 | WindowsプリントAPI | クロスプラットフォーム印刷 |
| ライセンス | 商用 | 商用 |
Windows上でPDF印刷のみを必要とするアプリケーションには、PDFPrinting.NETは集中的なソリューションです。 PDFの生成、操作、クロスプラットフォームのサポートを必要とするアプリケーションに対して、IronPDFは包括的な機能を提供します。
HTMLからPDFへの変換
HTMLからPDFへの変換は、これらのライブラリ間の機能ギャップを浮き彫りにします。
PDFPrinting.NETのHTMLからPDFへのアプローチ:
// NuGet: Install-Package PDFPrinting.NET
using PDFPrinting.NET;
using System;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
string html = "<html><body><h1>Hello World</h1></body></html>";
converter.ConvertHtmlToPdf(html, "output.pdf");
Console.WriteLine("PDF created successfully");
}
}// NuGet: Install-Package PDFPrinting.NET
using PDFPrinting.NET;
using System;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
string html = "<html><body><h1>Hello World</h1></body></html>";
converter.ConvertHtmlToPdf(html, "output.pdf");
Console.WriteLine("PDF created successfully");
}
}Imports PDFPrinting.NET
Imports System
Class Program
Shared Sub Main()
Dim converter As New HtmlToPdfConverter()
Dim html As String = "<html><body><h1>Hello World</h1></body></html>"
converter.ConvertHtmlToPdf(html, "output.pdf")
Console.WriteLine("PDF created successfully")
End Sub
End ClassIronPDFのHTMLからPDFへのアプローチ:。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string html = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
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();
string html = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully");
}
}Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim html As String = "<html><body><h1>Hello World</h1></body></html>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF created successfully")
End Sub
End ClassPDFPrinting.NETのHtmlToPdfConverterは、ConvertHtmlToPdf()を使ってHTMLコンテンツと出力パスを直接受け取ります。 IronPDFのChromePdfRendererはRenderHtmlAsPdf()を使って、保存、操作、印刷が可能なPdfDocumentオブジェクトを返します。
IronPDFのアプローチはレンダリングに内部ブラウザエンジンを使用し、CSS3とJavaScriptを完全にサポートすることで、Webドキュメントのスタイリングとレンダリングを正確にPDFに再現します。 HTMLからPDFへの変換パターンに関する詳しいガイダンスについては、HTML to PDF tutorialをご覧ください。
URLからPDFへの変換
ウェブページからPDFへの変換は、異なるクラス構造で同様のパターンに従います。
PDFPrinting.NET URL-to-PDFアプローチ:。
// NuGet: Install-Package PDFPrinting.NET
using PDFPrinting.NET;
using System;
class Program
{
static void Main()
{
var converter = new WebPageToPdfConverter();
string url = "https://www.example.com";
converter.Convert(url, "webpage.pdf");
Console.WriteLine("PDF from URL created successfully");
}
}// NuGet: Install-Package PDFPrinting.NET
using PDFPrinting.NET;
using System;
class Program
{
static void Main()
{
var converter = new WebPageToPdfConverter();
string url = "https://www.example.com";
converter.Convert(url, "webpage.pdf");
Console.WriteLine("PDF from URL created successfully");
}
}Imports PDFPrinting.NET
Imports System
Class Program
Shared Sub Main()
Dim converter As New WebPageToPdfConverter()
Dim url As String = "https://www.example.com"
converter.Convert(url, "webpage.pdf")
Console.WriteLine("PDF from URL created successfully")
End Sub
End ClassIronPDF URL-to-PDF アプローチ:。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string url = "https://www.example.com";
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");
Console.WriteLine("PDF from URL created successfully");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string url = "https://www.example.com";
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");
Console.WriteLine("PDF from URL created successfully");
}
}Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim url As String = "https://www.example.com"
Dim pdf = renderer.RenderUrlAsPdf(url)
pdf.SaveAs("webpage.pdf")
Console.WriteLine("PDF from URL created successfully")
End Sub
End ClassPDFPrinting.NETはURL変換のために別のWebPageToPdfConverterクラスを使用し、IronPDFはRenderUrlAsPdf()で同じChromePdfRendererを使用します。 IronPdfのユニファイドレンダラクラスは同じオブジェクトの異なるメソッドを通してHTML文字列、HTMLファイル、URLを扱います。 URLからPDFへの変換についてはIronPDFのドキュメントをご覧ください。
ヘッダーとフッター
生成されたPDFにヘッダーとフッターを追加するには、さまざまな構成アプローチを示します。
PDFPrinting.NETのヘッダーとフッター:。
// NuGet: Install-Package PDFPrinting.NET
using PDFPrinting.NET;
using System;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
converter.HeaderText = "Company Report";
converter.FooterText = "Page {page} of {total}";
string html = "<html><body><h1>Document Content</h1></body></html>";
converter.ConvertHtmlToPdf(html, "report.pdf");
Console.WriteLine("PDF with headers/footers created");
}
}// NuGet: Install-Package PDFPrinting.NET
using PDFPrinting.NET;
using System;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
converter.HeaderText = "Company Report";
converter.FooterText = "Page {page} of {total}";
string html = "<html><body><h1>Document Content</h1></body></html>";
converter.ConvertHtmlToPdf(html, "report.pdf");
Console.WriteLine("PDF with headers/footers created");
}
}Imports PDFPrinting.NET
Imports System
Class Program
Shared Sub Main()
Dim converter As New HtmlToPdfConverter()
converter.HeaderText = "Company Report"
converter.FooterText = "Page {page} of {total}"
Dim html As String = "<html><body><h1>Document Content</h1></body></html>"
converter.ConvertHtmlToPdf(html, "report.pdf")
Console.WriteLine("PDF with headers/footers created")
End Sub
End ClassIronPDFのヘッダーとフッター:。
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center'>Company Report</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
};
string html = "<html><body><h1>Document Content</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("report.pdf");
Console.WriteLine("PDF with headers/footers created");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center'>Company Report</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
};
string html = "<html><body><h1>Document Content</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("report.pdf");
Console.WriteLine("PDF with headers/footers created");
}
}Imports IronPdf
Imports IronPdf.Rendering
Imports System
Class Program
Shared Sub Main()
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
.HtmlFragment = "<div style='text-align:center'>Company Report</div>"
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
.HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
}
Dim html As String = "<html><body><h1>Document Content</h1></body></html>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("report.pdf")
Console.WriteLine("PDF with headers/footers created")
End Sub
End ClassPDFPrinting.NETは、{page}や{total}のようなプレースホルダを持つ単純な文字列プロパティ(HeaderText, FooterText)を使用します。 IronPDFはHtmlHeaderFooterオブジェクトを使用し、HtmlFragmentプロパティを通して完全なHTMLコンテンツを受け入れ、CSSによるリッチなスタイリングを可能にします。 プレースホルダーの構文の違いに注意してください:PDFPrinting.NETは{total}<//code>を使用し、IronPDFは{total-pages}<//code>を使用します。
IronPDFのこのHTMLベースのアプローチはCSSによる完全なスタイルコントロールを提供し、複雑なヘッダーとフッターのデザインを可能にします。 包括的な実装ガイダンスについては、headers and footers documentationを参照してください。
APIマッピングリファレンス
PDFPrinting.NETからIronPDFへの移行を検討しているチームにとって、APIマッピングを理解することは開発工数の見積もりに役立ちます。
コアクラス
| PDFPrinting.NET | IronPDF |
|---|---|
PDFPrinter</code | PdfDocument</code |
HtmlToPdfConverter</code | ChromePdfRenderer</code |
WebPageToPdfConverter<//code> | ChromePdfRenderer</code |
| 印刷設定のプロパティ | PrintSettings</code |
印刷方法
| PDFPrinting.NET | IronPDF |
|---|---|
printer.Print(filePath). | pdf.Print()</code |
printer.Print(filePath, printerName). | pdf.Print(printerName). |
printer.PrinterName = "...". | pdf.Print("...")</code |
printer.GetPrintDocument(パス)。 | pdf.GetPrintDocument()。 |
printer.copies = n | printSettings.NumberOfCopies = n<//code>. |
printer.Duplex = true. | printSettings.DuplexMode = Duplex.Vertical<//code>. |
printer.CollatePages = true. | printSettings.Collate = true. |
PDFPrinting.NETで使用できない機能
| IronPDFの特徴 | 翻訳内容 |
|---|---|
renderer.RenderHtmlAsPdf(html). | ChromiumエンジンでHTMLからPDFを作成 |
renderer.RenderUrlAsPdf(url)のようにします。 | URLからPDFを作成 |
PdfDocument.Merge(pdfs). | 複数のPDFを結合 |
pdf.CopyPages(start, end). | 特定のページを抜粋 |
pdf.ApplyWatermark(html). | 透かしの追加 |
pdf.SecuritySettings.UserPassword。 | パスワード保護 |
pdf.Sign(証明書)</code | デジタル署名 |
pdf.ExtractAllText()を使用してください。 | テキストコンテンツの抽出 |
pdf.Form.GetFieldByName(name).Value。 | フォーム入力 |
IronPDFのこれらの追加機能は印刷にとどまらず、完全なPDFライフサイクル管理を提供します。 PDF操作機能については、PDFのマージと分割ガイドを参照してください。
プラットフォーム サポートの比較
アーキテクチャの大きな違いは、プラットフォームのサポートにあります。
PDFPrinting.NETプラットフォームのサポート:。
- Windowsのみ
- Windowsの印刷インフラに依存
- Windows Print Spoolerサービスが必要です。
- Linux、macOSには対応していません。
IronPDFプラットフォームのサポート:。
- Windows、Linux、macOS
- クロスプラットフォーム印刷機能
- LinuxにはCUPS(Common Unix Printing System)が必要です。
- すべてのプラットフォームで一貫したAPI
Linuxサーバーへのデプロイやクロスプラットフォームのアプリケーションを構築する組織にとって、PDFPrinting.NETのWindowsのみの制限はアーキテクチャ上の制約となります。 IronPDFのクロスプラットフォーム対応により、コードを変更することなく柔軟に導入することができます。
ロードしてから印刷するパターンの違い
主なAPIの違いは、印刷のためのPDFの読み込み方法です。
PDFPrinting.NETダイレクト印刷:。
var printer = new PDFPrinter();
printer.PrinterName = "Office Printer";
printer.Print("document.pdf"); // Path passed directlyvar printer = new PDFPrinter();
printer.PrinterName = "Office Printer";
printer.Print("document.pdf"); // Path passed directlyDim printer As New PDFPrinter()
printer.PrinterName = "Office Printer"
printer.Print("document.pdf") ' Path passed directlyIronPDFのロード・ゼン・プリント:。
var pdf = PdfDocument.FromFile("document.pdf"); // Load first
pdf.Print("Office Printer"); // Then printvar pdf = PdfDocument.FromFile("document.pdf"); // Load first
pdf.Print("Office Printer"); // Then printDim pdf = PdfDocument.FromFile("document.pdf") ' Load first
pdf.Print("Office Printer") ' Then printPDFPrinting.NETは、ファイルパスをPrint()メソッドに直接渡します。 IronPDFは最初にPDFがPdfDocumentオブジェクトにロードされ、次に印刷などの操作がそのオブジェクトに対して実行されるロード-テン-オペレートパターンを使用します。 このパターンにより、IronPdfは透かしの追加、ドキュメントのマージ、テキストの抽出など、印刷前の操作をサポートすることができます。
機能比較の概要
PDFPrinting.NETとIronPDFのスコープの違いは、基本的な印刷以外のほぼすべてのPDF操作に及びます。
| フィーチャー | PDFPrinting.NET | IronPDF |
|---|---|---|
| 主な機能 | サイレントPDF印刷 | 全サイクルの処理(作成、編集、印刷) |
| プラットフォームサポート | Windowsのみ | クロスプラットフォーム |
| PDFの作成/操作 | なし | はい |
| HTMLからPDFへの変換。 | 制限的 | はい(Chromiumエンジン) |
| URLからPDFへの変換。 | 制限的 | はい |
| テキスト抽出。 | なし | はい |
| PDFマージ | なし | はい |
| ウォーターマーク。 | なし | はい |
| パスワード保護 | なし | はい |
| デジタル署名。 | なし | はい |
| フォーム入力 | なし | はい |
| 自動ワークフローへの適合性 | 高い | 高い |
| 追加の依存関係 | Windowsプリンタに依存 | レンダリングのための内部ブラウザエンジン |
| ライセンスについて | 商用 | 商用 |
透かし、PDFマージ、テキスト抽出、セキュリティ機能を必要とするアプリケーションは、PDFPrinting.NETでは実現できません。
チームがPDFPrinting.NETからIronPDFへの移行を検討するとき
チームがPDFPrinting.NETの代替としてIronPDFを評価するのにはいくつかの要因があります:
PDF生成の要件: PDFPrinting.NETはPDFを作成できません。 HTMLテンプレート、レポート、ウェブコンテンツからPDFを生成するアプリケーションにはIronPDFの作成機能が必要です。
クロスプラットフォームのニーズ: PDFPrinting.NETはWindowsの印刷インフラストラクチャに関連しています。 Linuxサーバーへのデプロイ、Dockerコンテナの構築、macOSをターゲットとする組織はIronPdf.Linuxのクロスプラットフォーム対応を必要としています。
ドキュメント操作: PDFPrinting.NETはPDFを結合、分割、透かし、修正することはできません。 印刷前にドキュメントのアセンブリや変更を必要とするアプリケーションにはIronPDFの操作機能が必要です。
テキスト抽出: PDFPrinting.NETはPDFからコンテンツを読み取ったり抽出したりすることはできません。 PDFのコンテンツ分析や検索機能を必要とするアプリケーションはIronPDFの抽出機能を必要とします。
生成-印刷ワークフロー: IronPDFを使えば、アプリケーションはHTMLテンプレートからPDFを生成し、透かしやヘッダーを追加し、印刷することができます。 PDFPrinting.NETは、生成と印刷に別々のツールを必要とします。
セキュリティ機能: PDFPrinting.NETは、パスワード、暗号化、デジタル署名を追加することはできません。 ドキュメントのセキュリティが要求されるアプリケーションにはIronPdfのセキュリティ機能が必要です。
インストールの比較
PDFPrinting.NETのインストール:。
Install-Package PDFPrinting.NETInstall-Package PDFPrinting.NETWindows Print Spoolerサービスに依存するWindows専用。
IronPDFのインストール:。
Install-Package IronPdfInstall-Package IronPdfIronPDFはライセンスキーの設定が必要です:
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"IronPDFの最初の実行はChromiumレンダリングエンジンをダウンロードします(~150MBワンタイム)。 Linuxのデプロイメントでは、印刷のために追加の依存関係とCUPSのインストールが必要です。 このライブラリは、.NET Framework、.NET Core、.NET 5+、および.NET 10とC# 14への前方互換性をサポートしています。
決定する
PDFPrinting.NETとIronPDFのどちらを選択するかはアプリケーションの要件によります:
PDFPrinting.NETをご検討ください:唯一の要件は、Windows環境内での信頼性の高いサイレントPDF印刷であり、ドキュメントの作成や操作に対する要求はなく、クロスプラットフォームのサポートは必要ありません。
IronPDFをご検討ください: プロジェクトがPDFの完全な処理機能を必要とする場合、クロスプラットフォームのサポートが必要な場合(Windows, Linux, macOS)、HTMLやURLからドキュメントを作成する必要がある場合、PDFの操作(マージ、分割、透かし)が必要な場合、テキスト抽出やセキュリティ機能が必要な場合、生成-印刷ワークフローが必要な場合。
ほとんどの最新アプリケーション、特にPDF生成やクロスプラットフォームデプロイメントを必要とするアプリケーションにとって、IronPDFの包括的なアプローチは、PDFPrinting.NETの印刷のみに焦点を当てたものよりも大きな利点を提供します。
IronPDFを始めよう
お客様のPDFニーズにIronPDFを評価する:
1.NuGet経由でインストールします:IronPdfをインストールします。 2.使い始めのドキュメントを確認してください。 3.作成パターンについては、HTML to PDF チュートリアルを参照してください。 4.印刷固有の機能については、印刷ガイドを確認してください。 5.完全なメソッドのドキュメントについては、APIリファレンスを確認してください。
IronPDFチュートリアルは、基本的な変換から高度なPDF操作や印刷ワークフローまで、一般的なシナリオをカバーする包括的な例を提供しています。
結論
PDFPrinting.NETとIronPDFは.NET PDFエコシステムにおいて異なる目的を果たします。 PDFPrinting.NETは、Windows環境内でのサイレントPDF印刷に優れており、最小限の手間で印刷パラメータの詳細な制御を提供します。 IronPDFは単一のクロスプラットフォームライブラリで、作成、抽出、操作、セキュリティ、印刷をカバーする完全なPDFソリューションを提供します。
Windows上でPDF印刷のみを必要とするアプリケーションには、PDFPrinting.NETの焦点を絞ったアプローチが適切かもしれません。 PDFの生成、ドキュメントの操作、クロスプラットフォームのサポート、印刷以外の機能を必要とするアプリケーションに対して、IronPDFは追加のライブラリを必要とせず、これらの機能をネイティブに提供します。
また、現在の要件だけでなく、今後予想されるニーズや導入環境も考慮する必要があります。 PDFPrinting.NETがWindowsのPDF印刷という狭い領域に秀でているのに対し、IronPDFは汎用性と包括的なPDF管理に秀でています。 組織は印刷要件からスタートすることが多いのですが、IronPDFを最初から選択することで、クロスプラットフォーム展開の柔軟性を実現しながら、これらの拡張要件の基盤を提供します。
これらのライブラリのいずれかを選択する際には、現在および予測されるPDF要件全体を評価してください。 PDFPrinting.NETの印刷専用という性質とWindows専用という制約が、アプリケーションの成熟と展開要件の拡大に伴って明らかになる機能とプラットフォームの境界を生み出しています。