フッターコンテンツにスキップ
移行ガイド

C#でPeachPDFからIronPDFに移行する方法

PeachPDFからIronPdfに移行することで、包括的な機能、活発な開発、プロフェッショナルなサポートを備えたエンタープライズグレードのPDF生成にアクセスできます。 このガイドは、基本的なHTMLからPDFへのワークフローを、最新のChromiumレンダリング、高度なセキュリティオプション、および広範な操作機能を備えたフル機能のPDFソリューションに変換する、完全でステップバイステップの移行パスを提供します。

なぜPeachPDFからIronPDFに移行するのか

PeachPDFを理解する

PeachPDFは、HTMLをPDFに変換する必要がある開発者向けに設計された、.NETエコシステムの比較的新しい参入者です。 ライブラリとして、PeachPDFは純粋な.NET実装を約束し、外部プロセスに依存しないことで差別化を図り、.NETがサポートされているプラットフォーム間でシームレスに統合できることを保証します。 この特徴により、PeachPDF は、軽量でマネージドなライブラリソリューションをお探しのプロジェクトにとって魅力的な選択肢となります。

PeachPDFは、その可能性にもかかわらず、まだ開発中であり、エキサイティングな可能性と注目すべき制限の両方が浮き彫りになっています。 PeachPDFは、純粋な.NET Coreを採用しているため、多様な環境での簡単な導入が約束されており、魅力的です。 しかし、ユーザーベースやコミュニティ主導のサポートが少ないため、採用が限られることにもつながります。

PeachPDFの限界について

PeachPDF は比較的新しく、あまり知られていない PDF ライブラリで、確立されたソリューションのような成熟度、機能、サポートがありません。 移行する主な理由

1.機能セットの制限:ピーチPDFには、デジタル署名、PDF/A 準拠、高度なテキスト抽出などの高度な機能が欠けています。

2.小規模なコミュニティ:ドキュメント、例、コミュニティ サポートが限られています。 ユーザーベースが小さいため、コミュニティサポートがまばらで、サポートを得たり、広範なドキュメントを見つけることが困難な場合があります。

3.不確かな将来:実績が確立されていない新しいライブラリには、導入リスクが伴います。

4.基本的な HTML サポート:制限された CSS およびJavaScriptレンダリング機能。

5.エンタープライズ サポートなし:プロフェッショナル サポートや SLA オプションはありません。

PeachPDFとIronPDFの比較

機能/特徴 ピーチPDF IronPDF
実装 純粋な.NET 幅広い互換性で管理
ライセンス オープンソース (BSD-3 条) 商用
ユーザーベース 小規模 大規模(40M以上のダウンロード)
サポート コミュニティ主導 プロフェッショナルな専任サポート
HTMLレンダリング 基本 完全なChromium
CSSサポート 制限的 完全なCSS3
JavaScript(JavaScript 基本 フルES2024
デジタル署名 なし はい
PDF/Aコンプライアンス なし はい
ドキュメント 制限的 広範囲
開発ステータス 開発中 成熟した安定したリリース

IronPdfはHTMLからPDFへの変換だけでなく、OCR、透かし、その他の高度な機能をサポートし、より幅広い機能を備えています。 Professionalなサポート体制は、開発者が直面する問題を迅速に解決するための決定的な利点です。

2025年と2026年まで.NET 10とC# 14の採用を計画しているチームに対して、IronPDFは包括的な機能と積極的なメンテナンスを提供し、長期的な安定性と最新 for .NETフレームワークとの互換性を保証します。


始める前に

前提条件

  1. .NET環境: .NET Framework 4.6.2+ または.NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGetアクセス: NuGetパッケージをインストールする機能
  3. IronPDFライセンス: IronPDFからライセンスキーを取得します。

NuGetパッケージの変更

# Remove PeachPDF
dotnet remove package PeachPDF

# Install IronPDF
dotnet add package IronPdf
# Remove PeachPDF
dotnet remove package PeachPDF

# Install IronPDF
dotnet add package IronPdf
SHELL

ライセンス構成

// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

PeachPDFの使用方法を特定する

# AuditピーチPDFusage in codebase
grep -r "using PeachPDF" --include="*.cs" .
grep -r "HtmlToPdfConverter\|Convert\|ConvertUrl" --include="*.cs" .
# AuditピーチPDFusage in codebase
grep -r "using PeachPDF" --include="*.cs" .
grep -r "HtmlToPdfConverter\|Convert\|ConvertUrl" --include="*.cs" .
SHELL

完全な API リファレンス

名前空間の変更

// Before: PeachPDF
using PeachPDF;
using System.IO;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
// Before: PeachPDF
using PeachPDF;
using System.IO;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
Imports IronPdf
Imports IronPdf.Rendering
Imports System.IO
$vbLabelText   $csharpLabel

コア API マッピング

ピーチPDF IronPDF
new HtmlToPdfConverter() new ChromePdfRenderer()
converter.Convert(html) renderer.RenderHtmlAsPdf(html)
converter.ConvertUrl(url) renderer.RenderUrlAsPdf(url)
converter.Header renderer.RenderingOptions.HtmlHeader
converter.Footer renderer.RenderingOptions.HtmlFooter
File.WriteAllBytes(path, pdf) pdf.SaveAs(path)
pdf (バイト[]) pdf.BinaryData
PdfReader.LoadFromFile(path) PdfDocument.FromFile(path)
document.MergeWith(other) PdfDocument.Merge(pdfs)

コード移行の例

例1: HTML文字列からPDFへの変換

翻訳前 (PeachPDF):

using PeachPDF;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = converter.Convert(html);
        File.WriteAllBytes("output.pdf", pdf);
    }
}
using PeachPDF;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = converter.Convert(html);
        File.WriteAllBytes("output.pdf", pdf);
    }
}
Imports PeachPDF
Imports System.IO

Class Program
    Shared Sub Main()
        Dim converter = New HtmlToPdfConverter()
        Dim html = "<html><body><h1>Hello World</h1></body></html>"
        Dim pdf = converter.Convert(html)
        File.WriteAllBytes("output.pdf", pdf)
    End Sub
End Class
$vbLabelText   $csharpLabel

翻訳後(IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim html = "<html><body><h1>Hello World</h1></body></html>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

この例は、2つのライブラリの基本的な違いを示しています。ピーチPDFは、HtmlToPdfConverterConvert() メソッドと共に使用し、byte[] を返すため、保存には File.WriteAllBytes() が必要です。IronPDFは、ChromePdfRendererRenderHtmlAsPdf() を使用して、組み込みの SaveAs() メソッドを持つ PdfDocument オブジェクトを返します。

IronPDF のアプローチの主な利点: PdfDocument オブジェクトは保存前にさらに操作 (透かしの追加、結合、セキュリティ設定) できるのに対し、PeachPDF のバイト配列は最終出力です。 IronPDFのアプローチは、よりきれいな構文と最新 for .NETアプリケーションとのより良い統合を提供します。 包括的な例については、HTML to PDF documentationを参照してください。

例2: URLからPDFへの変換

翻訳前 (PeachPDF):

using PeachPDF;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var url = "https://www.example.com";
        var pdf = converter.ConvertUrl(url);
        File.WriteAllBytes("webpage.pdf", pdf);
    }
}
using PeachPDF;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var url = "https://www.example.com";
        var pdf = converter.ConvertUrl(url);
        File.WriteAllBytes("webpage.pdf", pdf);
    }
}
Imports PeachPDF
Imports System.IO

Class Program
    Shared Sub Main()
        Dim converter = New HtmlToPdfConverter()
        Dim url = "https://www.example.com"
        Dim pdf = converter.ConvertUrl(url)
        File.WriteAllBytes("webpage.pdf", pdf)
    End Sub
End Class
$vbLabelText   $csharpLabel

翻訳後(IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var url = "https://www.example.com";
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs("webpage.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var url = "https://www.example.com";
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs("webpage.pdf");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim url = "https://www.example.com"
        Dim pdf = renderer.RenderUrlAsPdf(url)
        pdf.SaveAs("webpage.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

PeachPDF は ConvertUrl() を使用し、IronPDFはRenderUrlAsPdf() を使用します。 IronPDFのメソッド名はより説明的で、URLがPDFとしてレンダリングされることを明示的に示しています。 どちらのライブラリもURLからPDFへの変換を同様に扱いますが、IronPDFの完全なChromiumエンジンは複雑なCSSやJavaScriptを含む最新のウェブページの優れたレンダリングを提供します。 詳しくは、チュートリアルをご覧ください。

例3: ヘッダーとフッターを追加する

翻訳前 (PeachPDF):

using PeachPDF;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        converter.Header = "<div style='text-align:center'>My Header</div>";
        converter.Footer = "<div style='text-align:center'>Page {page}</div>";
        var html = "<html><body><h1>Document Content</h1></body></html>";
        var pdf = converter.Convert(html);
        File.WriteAllBytes("document.pdf", pdf);
    }
}
using PeachPDF;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        converter.Header = "<div style='text-align:center'>My Header</div>";
        converter.Footer = "<div style='text-align:center'>Page {page}</div>";
        var html = "<html><body><h1>Document Content</h1></body></html>";
        var pdf = converter.Convert(html);
        File.WriteAllBytes("document.pdf", pdf);
    }
}
Imports PeachPDF
Imports System.IO

Class Program
    Shared Sub Main()
        Dim converter = New HtmlToPdfConverter()
        converter.Header = "<div style='text-align:center'>My Header</div>"
        converter.Footer = "<div style='text-align:center'>Page {page}</div>"
        Dim html = "<html><body><h1>Document Content</h1></body></html>"
        Dim pdf = converter.Convert(html)
        File.WriteAllBytes("document.pdf", pdf)
    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'>My Header</div>" };
        renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>Page {page}</div>" };
        var html = "<html><body><h1>Document Content</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("document.pdf");
    }
}
// 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'>My Header</div>" };
        renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center'>Page {page}</div>" };
        var html = "<html><body><h1>Document Content</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("document.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Rendering
Imports System

Module Program
    Sub Main()
        Dim renderer As New ChromePdfRenderer()
        renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {.HtmlFragment = "<div style='text-align:center'>My Header</div>"}
        renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {.HtmlFragment = "<div style='text-align:center'>Page {page}</div>"}
        Dim html As String = "<html><body><h1>Document Content</h1></body></html>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("document.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

この例は、重要なアーキテクチャの違いを示しています。ピーチPDFは、ヘッダーとフッターに単純な文字列プロパティ (converter.Header および converter.Footer) を使用します。IronPDFは、RenderingOptions.HtmlHeader および RenderingOptions.HtmlFooter に割り当てられた HtmlHeaderFooter オブジェクトを使用します。

IronPDFのアプローチはより柔軟性が高く、HtmlHeaderFooter オブジェクトには、ヘッダー/フッターのサイズを制御するための MaxHeight などの追加プロパティを含めることができます。どちらのライブラリも、ページ番号のプレースホルダーとして {page} を使用していることに注意してください。IronPDFは、合計ページ数を示す {total-pages} もサポートしています。

IronPDFに必要な追加の名前空間に注意してください: using IronPdf.Rendering;HtmlHeaderFooter クラスに必要です。


重要な移行に関する注意事項

コンバータ クラスの変更

PeachPDF は HtmlToPdfConverter を使用します。IronPDFはChromePdfRenderer を使用します:

// PeachPDF
var converter = new HtmlToPdfConverter();

// IronPDF
var renderer = new ChromePdfRenderer();
// PeachPDF
var converter = new HtmlToPdfConverter();

// IronPDF
var renderer = new ChromePdfRenderer();
' PeachPDF
Dim converter As New HtmlToPdfConverter()

' IronPDF
Dim renderer As New ChromePdfRenderer()
$vbLabelText   $csharpLabel

返品タイプの変更

PeachPDF は byte[] を返します。IronPDFはPdfDocument を返します:

// PeachPDF: Returns byte array
byte[] pdf = converter.Convert(html);
File.WriteAllBytes("output.pdf", pdf);

// IronPDF: Returns PdfDocument object
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// Or get bytes: byte[] bytes = pdf.BinaryData;
// PeachPDF: Returns byte array
byte[] pdf = converter.Convert(html);
File.WriteAllBytes("output.pdf", pdf);

// IronPDF: Returns PdfDocument object
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// Or get bytes: byte[] bytes = pdf.BinaryData;
' PeachPDF: Returns byte array
Dim pdf As Byte() = converter.Convert(html)
File.WriteAllBytes("output.pdf", pdf)

' IronPDF: Returns PdfDocument object
Dim pdfDoc As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdfDoc.SaveAs("output.pdf")
' Or get bytes: Dim bytes As Byte() = pdfDoc.BinaryData
$vbLabelText   $csharpLabel

ヘッダー/フッターのプロパティの変更

// PeachPDF: Simple string properties
converter.Header = "<div>Header</div>";
converter.Footer = "<div>Footer</div>";

// IronPDF: HtmlHeaderFooter objects
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() 
{ 
    HtmlFragment = "<div>Header</div>" 
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() 
{ 
    HtmlFragment = "<div>Footer</div>" 
};
// PeachPDF: Simple string properties
converter.Header = "<div>Header</div>";
converter.Footer = "<div>Footer</div>";

// IronPDF: HtmlHeaderFooter objects
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() 
{ 
    HtmlFragment = "<div>Header</div>" 
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() 
{ 
    HtmlFragment = "<div>Footer</div>" 
};
' PeachPDF: Simple string properties
converter.Header = "<div>Header</div>"
converter.Footer = "<div>Footer</div>"

' IronPDF: HtmlHeaderFooter objects
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div>Header</div>"
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div>Footer</div>"
}
$vbLabelText   $csharpLabel

メソッド名の変更

ピーチPDF IronPDF
Convert(html) RenderHtmlAsPdf(html)
ConvertUrl(url) RenderUrlAsPdf(url)
File.WriteAllBytes() SaveAs()

移行後の新機能

IronPdfに移行すると、PeachPDFでは提供できない機能が得られます:

PDFマージ

var pdf1 = PdfDocument.FromFile("doc1.pdf");
var pdf2 = PdfDocument.FromFile("doc2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
var pdf1 = PdfDocument.FromFile("doc1.pdf");
var pdf2 = PdfDocument.FromFile("doc2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
CONVERTER NOT RUNNING
$vbLabelText   $csharpLabel

HTMLによるウォーターマーク

var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark("<div style='color: red; font-size: 48pt;'>DRAFT</div>");
pdf.SaveAs("watermarked.pdf");
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark("<div style='color: red; font-size: 48pt;'>DRAFT</div>");
pdf.SaveAs("watermarked.pdf");
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.ApplyWatermark("<div style='color: red; font-size: 48pt;'>DRAFT</div>")
pdf.SaveAs("watermarked.pdf")
$vbLabelText   $csharpLabel

パスワード保護

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential</h1>");

pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;

pdf.SaveAs("protected.pdf");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential</h1>");

pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;

pdf.SaveAs("protected.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Confidential</h1>")

pdf.SecuritySettings.OwnerPassword = "owner123"
pdf.SecuritySettings.UserPassword = "user123"
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint

pdf.SaveAs("protected.pdf")
$vbLabelText   $csharpLabel

デジタル署名

using IronPdf.Signing;

var pdf = PdfDocument.FromFile("document.pdf");
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningReason = "Document Approval",
    SigningLocation = "New York"
};
pdf.Sign(signature);
pdf.SaveAs("signed.pdf");
using IronPdf.Signing;

var pdf = PdfDocument.FromFile("document.pdf");
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningReason = "Document Approval",
    SigningLocation = "New York"
};
pdf.Sign(signature);
pdf.SaveAs("signed.pdf");
Imports IronPdf.Signing

Dim pdf = PdfDocument.FromFile("document.pdf")
Dim signature = New PdfSignature("certificate.pfx", "password") With {
    .SigningReason = "Document Approval",
    .SigningLocation = "New York"
}
pdf.Sign(signature)
pdf.SaveAs("signed.pdf")
$vbLabelText   $csharpLabel

非同期オペレーション

var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Async PDF</h1>");
pdf.SaveAs("async_output.pdf");
var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Async PDF</h1>");
pdf.SaveAs("async_output.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf = Await renderer.RenderHtmlAsPdfAsync("<h1>Async PDF</h1>")
pdf.SaveAs("async_output.pdf")
$vbLabelText   $csharpLabel

機能比較の概要

フィーチャー ピーチPDF IronPDF
HTMLからPDFへ 基本 完全なChromium
URLからPDFへ 制限的 はい
CSSグリッド/フレックスボックス なし はい
JavaScript 制限的 フルES2024
PDFのマージ はい はい
PDFの分割 制限的 はい
透かし 制限的 フルHTML
ヘッダー/フッター 基本 フルHTML
デジタル署名 なし はい
PDF/A なし はい
フォーム入力 制限的 はい
テキスト抽出 基本 はい
画像抽出 なし はい
非同期サポート 制限的 はい
クロスプラットフォーム 不明 はい

よくある移行の問題

課題1: 異なるAPIパターン

問題: PeachPDFはバイト配列出力のコンバーターパターンを使用しています; IronPDFはPdfDocument出力のレンダラパターンを使用します。

ソリューション:

//ピーチPDFpattern
var converter = new HtmlToPdfConverter();
var pdf = converter.Convert(html);
File.WriteAllBytes(path, pdf);

//IronPDFpattern
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(path);
//ピーチPDFpattern
var converter = new HtmlToPdfConverter();
var pdf = converter.Convert(html);
File.WriteAllBytes(path, pdf);

//IronPDFpattern
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(path);
'ピーチPDFpattern
Dim converter As New HtmlToPdfConverter()
Dim pdf = converter.Convert(html)
File.WriteAllBytes(path, pdf)

'IronPDFpattern
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs(path)
$vbLabelText   $csharpLabel

課題2: 保存方法の違い

問題:ピーチPDFには File.WriteAllBytes() が必要です。 IronPDFには SaveAs() が組み込まれています。

解決策: File.WriteAllBytes("path", pdf)pdf.SaveAs("path") に置き換えます。

課題3: ヘッダー/フッターオブジェクト

問題 PeachPDFは文字列プロパティを使用します; IronPDFはオブジェクトプロパティを使用します。

解決策: HTML 文字列を HtmlHeaderFooter オブジェクトと HtmlFragment プロパティで囲みます。


移行チェックリスト

移行前

  • コードベースでのPeachPDFの使用状況を監査する
  • カスタム構成を文書化する
  • すべてのヘッダー/フッターの実装をメモします
  • IronPDFからIronPDFライセンスキーを取得します
  • まずはIronPDFの試用ライセンスでテストしてください

パッケージの変更

  • PeachPDF NuGetパッケージを削除します
  • IronPdf NuGetパッケージをインストールします: dotnet add package IronPdf

コードの変更

  • 名前空間のインポートを更新します (using PeachPDF;using IronPdf;)
  • ヘッダー/フッター機能のためにusing IronPdf.Rendering;を追加します
  • HtmlToPdfConverterChromePdfRenderer に置き換えます
  • converter.Convert(html)renderer.RenderHtmlAsPdf(html) に置き換えます
  • converter.ConvertUrl(url)renderer.RenderUrlAsPdf(url) に置き換えます
  • File.WriteAllBytes(path, pdf)pdf.SaveAs(path) に置き換えます
  • FooterHtmlFooter オブジェクトに置き換えます
  • アプリケーションの起動時にライセンスの初期化を追加

移行後

  • HTMLレンダリング品質をテストする
  • PDF出力が期待値と一致していることを確認
  • ページ番号付きのヘッダー/フッターのレンダリングをテストする
  • 必要に応じて新しい機能(セキュリティ、透かし、結合)を追加します

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね