C#でPDFPrinting.NETからIronPDFに移行する方法
PDFPrinting.NETからIronPDFに移行することで、PDFの機能を印刷のみのライブラリから、作成、操作、抽出、セキュリティ、印刷を含む完全なPDFライフサイクルを扱う包括的なソリューションへと拡張することができます。 このガイドでは、既存の印刷ワークフローを維持しながら、PDF生成、HTML変換、クロスプラットフォームサポート機能を追加する、完全でステップバイステップの移行パスを提供します。
PDFPrinting.NETからIronPDFに移行する理由
PDFPrinting.NETを理解する
PDFPrinting.NETは、サイレントPDF印刷において比類のないシンプルさと有効性を提供する特別なソリューションとして際立っています。 主にWindowsのエコシステム内で動作するPDFPrinting.NETは、アプリケーションにPDF印刷機能を統合する必要がある開発者向けに特別に設計された商用ライブラリです。 PDFPrinting.NETは、PDFの静かで堅牢な印刷のみに焦点を当てた専用ツールとして、ユーザーの介入なしにプログラム的に文書を印刷するという、しばしば複雑なタスクを簡素化することにそのニッチを見出します。
PDFPrinting.NETの最も重要な利点の1つは、ドキュメントを静かに印刷できることです。 通常の印刷ダイアログウィンドウをバイパスし、完全に自動化されたワークフロープロセスを容易にします。
印刷のみの制限
PDFPrinting.NETの顕著な制限は、PDF処理の印刷面のみを扱っていることです。 PDFドキュメントの作成、変更、操作ができないため、PDFドキュメントのライフサイクル全体に対するソリューションを必要とする開発者にとっての有用性が制限されます:
1.印刷のみ: PDF ドキュメントを作成、編集、または操作することはできません。
Windows のみ: Windows 印刷インフラストラクチャに結び付けられており、Linux/macOS はサポートされていません。 Windowsの印刷インフラに依存しているため、Windowsのみの環境への適用が制限され、クロスプラットフォームでの使い勝手が制限されます。
- PDF を生成できません: HTML、URL、またはデータを PDF に変換できません。
4.ドキュメント操作不可: PDF を結合、分割、透かし入れ、保護することはできません。
5.テキスト抽出なし: PDF からコンテンツを読み取ったり抽出したりできません。
6.フォーム処理なし: PDF フォームに入力したりフラット化したりできません。
PDFPrinting.NETとIronPDFの比較
| フィーチャー | PDFPrinting.NET | IronPDF |
|---|---|---|
| 主な機能 | サイレントPDF印刷 | 全サイクルの処理(作成、編集、印刷) |
| プラットフォームサポート | Windowsのみ | クロスプラットフォーム |
| PDF作成/操作機能 | なし | はい |
| HTMLからPDFへの変換。 | なし | はい |
| 自動ワークフローへの適合性 | 高い | 高い |
| 追加の依存関係 | Windowsプリンタに依存 | レンダリングのための内部ブラウザエンジン |
| サイレント印刷 | はい | はい |
| テキスト抽出。 | サポートされていません | フルサポート |
| ライセンスについて | 商用 | 商用 |
IronPDFはPDFハンドリングの完全なライフサイクルに対応することで、より包括的なソリューションを提供します。 PDFドキュメントの作成、編集、変換、印刷を容易にし、統一されたAPIを通じて開発者に一連の機能を提供します。 PDFPrinting.NETとは異なり、IronPDFは異なるプラットフォーム間で展開することができ、多様な環境で動作するアプリケーションのための汎用的な選択肢となります。
2025年、2026年まで.NET 10とC# 14の採用を計画しているチームにとって、IronPDFはWindows、Linux、macOSの環境で動作する完全なPDFソリューションを提供します。
始める前に
前提条件
- .NET 環境: .NET Framework 4.6.2+ または .NET Core 3.1+ / .NET 5/6/7/8/9+
- NuGetアクセス: NuGetパッケージをインストールする機能
- IronPDFライセンス: ironpdf.comからライセンスキーを取得します。
NuGetパッケージの変更
# Remove PDFPrinting.NET
dotnet remove package PDFPrinting.NET
# Install IronPDF
dotnet add package IronPdf# Remove PDFPrinting.NET
dotnet remove package PDFPrinting.NET
# Install IronPDF
dotnet add package IronPdfライセンス構成
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";PDFPrinting.NETの使用法を特定する
# Find PDFPrinting.NET usage
grep -r "PDFPrinting\|PDFPrinter" --include="*.cs" .
# Find print-related code
grep -r "\.Print(\|PrinterName\|GetPrintDocument" --include="*.cs" .# Find PDFPrinting.NET usage
grep -r "PDFPrinting\|PDFPrinter" --include="*.cs" .
# Find print-related code
grep -r "\.Print(\|PrinterName\|GetPrintDocument" --include="*.cs" .完全な API リファレンス
名前空間の変更
// Before: PDFPrinting.NET
using PDFPrinting.NET;
using PDFPrintingNET;
// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Printing;// Before: PDFPrinting.NET
using PDFPrinting.NET;
using PDFPrintingNET;
// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Printing;コア クラス マッピング
| PDFPrinting.NET | IronPDF | ノート |
|---|---|---|
| <コード>PDFPrinter</コード | <コード>PdfDocument</コード | コアPDFオブジェクト |
| <コード>HtmlToPdfConverter</コード | <コード>ChromePdfRenderer</コード | PDF生成 |
WebPageToPdfConverter<//code> | <コード>ChromePdfRenderer</コード | URL変換 |
| 印刷設定のプロパティ | <コード>PrintSettings</コード | 印刷設定 |
メソッド マッピングを印刷する
| PDFPrinting.NET | IronPDF | ノート |
|---|---|---|
printer.Print(filePath). | <コード>pdf.Print()</コード | デフォルトのプリンタに印刷 |
printer.Print(path, printerName). | pdf.Print(printerName). | 特定のプリンタに印刷 |
printer.PrinterName = "...". | <コード>pdf.Print("...")</コード | プリンタの指定 |
printer.GetPrintDocument(パス)。 | pdf.GetPrintDocument()。 | PrintDocumentを入手 |
| <コード>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). | HTMLからPDFへの変換 |
renderer.RenderUrlAsPdf(url)のようにします。 | URLからPDFへの変換 |
PdfDocument.Merge(pdfs). | 複数のPDFをマージ |
pdf.ApplyWatermark(html). | 透かしの追加 |
pdf.SecuritySettings.UserPassword。 | パスワード保護 |
pdf.ExtractAllText()を使用してください。 | テキスト抽出 |
コード移行の例
例1: HTMLからPDFへの変換
ビフォア(PDFPrinting.NET):。
// 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");
}
}翻訳後(IronPDF):。
// 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");
}
}PDFPrinting.NETは、HtmlToPdfConverterとConvertHtmlToPdf(html, outputPath)を使用しており、レンダリングと保存を1回の呼び出しで組み合わせています。 IronPDFはChromePdfRendererを使い、RenderHtmlAsPdf()でPdfDocumentオブジェクトを返し、それをSaveAs()で保存します。 この分離により、より柔軟性が増し、保存前にPDFを操作(透かしの追加、他の文書との結合、セキュリティの追加)することができます。
IronPDFはHTMLからPDFへの変換のような機能を提供し、開発者がウェブコンテンツをPDFとしてレンダリングすることを可能にします。 ブラウザエンジンを内部的に活用することで、IronPdfはWebドキュメントのスタイルとレンダリングを正確にPDFに再現します。 包括的な例については、HTML to PDF documentationを参照してください。
例2: URLからPDFへの変換
ビフォア(PDFPrinting.NET):。
// 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");
}
}翻訳後(IronPDF):。
// 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");
}
}PDFPrinting.NETは、WebPageToPdfConverterとConvert(url, outputPath)を使用します。 IronPDFは同じChromePdfRendererクラスとRenderUrlAsPdf()メソッドを使います。 IronPdfはHTML文字列とURLの両方に単一のレンダラー・クラスを使用し、両方の機能が必要な場合にコードを簡素化することに注意してください。 詳しくは、チュートリアルをご覧ください。
例3: ヘッダーとフッター
ビフォア(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");
}
}翻訳後(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");
}
}PDFPrinting.NETは、プレースホルダ{page}と{total}を持つ単純な文字列プロパティHeaderTextとFooterTextを使用します。 IronPDFはHtmlHeaderFooterオブジェクトとHtmlFragmentプロパティを使用します。 プレースホルダーの構文変更に注意してください:PDFPrinting.NETは{total}を使用し、IronPDFは{total-pages}を使用します。
重要な移行に関する注意事項
プレースホルダーの構文の変更
ヘッダー/フッターのプレースホルダーはライブラリによって異なります:
// PDFPrinting.NET placeholders
"Page {page} of {total}"
//IronPDFplaceholders
"Page {page} of {total-pages}"// PDFPrinting.NET placeholders
"Page {page} of {total}"
//IronPDFplaceholders
"Page {page} of {total-pages}"ロードしてから印刷するパターン
PDFPrinting.NET はファイルパスを直接渡します; IronPDFが最初に読み込まれます:
// PDFPrinting.NET: Direct path to Print()
printer.Print("document.pdf");
// IronPDF: Load first, then operate
var pdf = PdfDocument.FromFile("document.pdf");
pdf.Print();// PDFPrinting.NET: Direct path to Print()
printer.Print("document.pdf");
// IronPDF: Load first, then operate
var pdf = PdfDocument.FromFile("document.pdf");
pdf.Print();印刷設定の移行
PDFPrinting.NET はプロパティを使用します; IronPDFは設定オブジェクトを使用します:
// PDFPrinting.NET: Properties on printer object
printer.Copies = 2;
printer.Duplex = true;
// IronPDF: Settings object
var settings = new PrintSettings
{
NumberOfCopies = 2,
DuplexMode = System.Drawing.Printing.Duplex.Vertical
};
pdf.Print(settings);// PDFPrinting.NET: Properties on printer object
printer.Copies = 2;
printer.Duplex = true;
// IronPDF: Settings object
var settings = new PrintSettings
{
NumberOfCopies = 2,
DuplexMode = System.Drawing.Printing.Duplex.Vertical
};
pdf.Print(settings);HTMLヘッダーとテキストヘッダーの比較
// PDFPrinting.NET: Simple text
converter.HeaderText = "Company Report";
// IronPDF:フルHTMLwith styling
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center'>Company Report</div>"
};// PDFPrinting.NET: Simple text
converter.HeaderText = "Company Report";
// IronPDF:フルHTMLwith styling
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:center'>Company Report</div>"
};移行後の新機能
IronPDFに移行すると、PDFPrinting.NETでは提供できない機能を得ることができます:
PDFマージ
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");ウォーターマーク
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");パスワード保護
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";テキスト抽出
string text = pdf.ExtractAllText();string text = pdf.ExtractAllText();生成-印刷ワークフロー
IronPdfを使えば、PDFの生成と印刷を一つのワークフローで行うことができます:
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice</h1>");
pdf.Print("Invoice Printer");var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice</h1>");
pdf.Print("Invoice Printer");クロスプラットフォーム印刷
PDFPrinting.NETはWindows専用です。 IronPDFはクロスプラットフォームで動作します:
Windows
pdf.Print("HP LaserJet");pdf.Print("HP LaserJet");Linuxについて
// Requires CUPS (Common Unix Printing System)
// Install: apt-get install cups
pdf.Print("HP_LaserJet"); // CUPS uses underscores instead of spaces// Requires CUPS (Common Unix Printing System)
// Install: apt-get install cups
pdf.Print("HP_LaserJet"); // CUPS uses underscores instead of spacesmacOSについて
pdf.Print("HP LaserJet");pdf.Print("HP LaserJet");機能比較の概要
| フィーチャー | PDFPrinting.NET | IronPDF |
|---|---|---|
| サイレント印刷 | ✓ | ✓ |
| 印刷設定 | ✓ | ✓ |
| HTMLからPDFへ | ✗ | ✓ |
| URLからPDFへ | ✗ | ✓ |
| ヘッダー/フッター | 基本 | フルHTML |
| PDFのマージ | ✗ | ✓ |
| PDFの分割 | ✗ | ✓ |
| 透かし | ✗ | ✓ |
| テキスト抽出 | ✗ | ✓ |
| パスワード保護 | ✗ | ✓ |
| クロスプラットフォーム | ✗ | ✓ |
移行チェックリスト
移行前
- コードベース内のすべての PDFPrinting.NET の使用状況をインベントリします
- 現在使用されているすべてのプリンタ名を文書化する
- すべての印刷設定の構成をメモします
- クロスプラットフォームサポートが必要かどうかを特定する -IronPDFライセンス キーの保存を計画する (環境変数を推奨)
- まずはIronPDFの試用ライセンスでテストしてください
パッケージの変更
PDFPrinting.NETNuGet パッケージを削除するIronPdfNuGet パッケージをインストールします:dotnet add package IronPdf
コードの変更
- 名前空間のインポートを更新する -<コード>HtmlToPdfConverter</コード
ChromePdfRendererに置き換える -WebPageToPdfConverter<//code>ChromePdfRendererに置き換える ConvertHtmlToPdf(html, path)RenderHtmlAsPdf(html).SaveAs(path)に置き換えます。Convert(url, path)RenderUrlAsPdf(url).SaveAs(path)に置き換えます- ヘッダー/フッターを
HeaderText/FooterTextからHtmlHeader/HtmlFooterに更新します - プレースホルダー構文を更新 (
{total}→{total-pages}) - 印刷呼び出しをロードしてから印刷するパターンに変換する
- 印刷設定を
PrintSettingsオブジェクトに更新します
移行後
- すべての対象プラットフォームで印刷をテストする
- ヘッダー/フッターのレンダリングを確認する
- 動的ドキュメント用のPDF生成を追加することを検討してください
- 必要に応じて新しい機能(結合、透かし、セキュリティ)を追加します






