比較

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.NETIronPDF
主な焦点サイレント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 Class
$vbLabelText   $csharpLabel

IronPDFの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 Class
$vbLabelText   $csharpLabel

PDFPrinting.NETのHtmlToPdfConverterは、ConvertHtmlToPdf()を使ってHTMLコンテンツと出力パスを直接受け取ります。 IronPDFのChromePdfRendererRenderHtmlAsPdf()を使って、保存、操作、印刷が可能な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 Class
$vbLabelText   $csharpLabel

IronPDF 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 Class
$vbLabelText   $csharpLabel

PDFPrinting.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 Class
$vbLabelText   $csharpLabel

IronPDFのヘッダーとフッター:

// 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 Class
$vbLabelText   $csharpLabel

PDFPrinting.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.NETIronPDF
PDFPrinter</codePdfDocument</code
HtmlToPdfConverter</codeChromePdfRenderer</code
WebPageToPdfConverter<//code>ChromePdfRenderer</code
印刷設定のプロパティPrintSettings</code

印刷方法

PDFPrinting.NETIronPDF
printer.Print(filePath).pdf.Print()</code
printer.Print(filePath, printerName).pdf.Print(printerName).
printer.PrinterName = "...".pdf.Print("...")</code
printer.GetPrintDocument(パス)pdf.GetPrintDocument()
printer.copies = nprintSettings.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 directly
var printer = new PDFPrinter();
printer.PrinterName = "Office Printer";
printer.Print("document.pdf");  // Path passed directly
Dim printer As New PDFPrinter()
printer.PrinterName = "Office Printer"
printer.Print("document.pdf") ' Path passed directly
$vbLabelText   $csharpLabel

IronPDFのロード・ゼン・プリント:

var pdf = PdfDocument.FromFile("document.pdf");  // Load first
pdf.Print("Office Printer");  // Then print
var pdf = PdfDocument.FromFile("document.pdf");  // Load first
pdf.Print("Office Printer");  // Then print
Dim pdf = PdfDocument.FromFile("document.pdf")  ' Load first
pdf.Print("Office Printer")  ' Then print
$vbLabelText   $csharpLabel

PDFPrinting.NETは、ファイルパスをPrint()メソッドに直接渡します。 IronPDFは最初にPDFがPdfDocumentオブジェクトにロードされ、次に印刷などの操作がそのオブジェクトに対して実行されるロード-テン-オペレートパターンを使用します。 このパターンにより、IronPdfは透かしの追加、ドキュメントのマージ、テキストの抽出など、印刷前の操作をサポートすることができます。

機能比較の概要

PDFPrinting.NETとIronPDFのスコープの違いは、基本的な印刷以外のほぼすべてのPDF操作に及びます。

フィーチャーPDFPrinting.NETIronPDF
主な機能サイレント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.NET
Install-Package PDFPrinting.NET
SHELL

Windows Print Spoolerサービスに依存するWindows専用。

IronPDFのインストール:

Install-Package IronPdf
Install-Package IronPdf
SHELL

IronPDFはライセンスキーの設定が必要です:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

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専用という制約が、アプリケーションの成熟と展開要件の拡大に伴って明らかになる機能とプラットフォームの境界を生み出しています。