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

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

PDFSharpからIronPDFへの移行:完全なC#移行ガイド

PDFSharpからIronPDFに移行することで、PDF生成のワークフローが手動による座標ベースの描画から最新のHTML/CSSテンプレートに変わります。 このガイドでは、面倒なGDI+スタイルの位置決めをWeb技術に置き換える完全なステップバイステップの移行パスを提供し、開発時間を劇的に短縮し、標準的なHTML/CSSスキルによってPDF生成を保守可能にします。

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

PDFSharpを理解する

PDFSharpは低レベルのPDF作成ライブラリとして有名で、開発者はプログラム的なアプローチでPDFドキュメントを生成することができます。 MITライセンスの下でリリースされたPDFSharpは、開発者コミュニティに使用と改変の自由を与えています。 PDFSharpは、主にPDFをゼロから描画してコンパイルするためのツールとして機能します。

PDFSharpは、HTMLからPDFへのコンバータであると誤解されることがありますが、そうではありません。 その目的は、プログラムによるPDF文書作成に特化しています。 HTMLレンダリング機能を提供することを目的としたアドオンHtmlRenderer.PdfSharpがありますが、CSS 2.1のみをサポートしており、フレックスボックスやグリッドのような最新のCSS機能には対応していません。

座標計算問題

PDFSharpのGDI+アプローチは、あなたがしなければならないことを意味します:

  • 各要素の正確なX,Y位置を計算する。
  • ページのオーバーフローのためにコンテンツの高さを手動で追跡する
  • 行の折り返しやテキスト測定を自分で処理する
  • ボーダー計算でセルごとに表を描く
  • 手動改ページで複数ページのドキュメントを管理

PDFSharpのアーキテクチャは、座標を使った位置決めに関する深い理解を必要とし、複雑なレイアウトを作成する際にしばしば課題となります。

PDFSharpとIronPDFの比較

フィーチャーPDFSharpIronPDF
ライセンスMIT (無料)商用
HTMLからPDFへのサポートなしはい(HTML5/CSS3サポート)
モダンCSSサポートなし(CSS 2.1のみ)はい(フルCSS3)
ドキュメント作成座標ベースの図面HTML/CSSテンプレート
レイアウトシステムマニュアルX,YポジショニングCSS フロー/フレックスボックス/グリッド
改ページ手計算自動 + CSS コントロール
テーブルセルを個別に描画HTML <コード><テーブル><コード></コード
スタイリングコードベースのフォント/カラーCSSスタイルシート
ドキュメント API低レベル(座標が必要です)ハイレベル(簡易API)
更新情報頻度レギュラー

IronPDFはHTMLドキュメントを完全な忠実度でPDFに変換する必要があるシナリオで輝きを放ちます。 この.NETライブラリは、HTML5とCSS3をサポートしており、最新のWeb標準に対応しています。 HTMLからPDFへのネイティブ機能により、開発者は既存のWebコンテンツや最新のWebツールでデザインされたテンプレートを活用することができます。

2025年と2026年まで.NET 10とC# 14の導入を計画しているチームにとって、IronPDFはウェブ開発スキルを活用しながら座標計算を排除する最新のアプローチを提供します。


始める前に

前提条件

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

NuGetパッケージの変更

# Remove PDFSharp
dotnet remove package PdfSharp
dotnet remove package PdfSharp-wpf
dotnet remove package PdfSharp.Charting

# Add IronPDF
dotnet add package IronPdf
# Remove PDFSharp
dotnet remove package PdfSharp
dotnet remove package PdfSharp-wpf
dotnet remove package PdfSharp.Charting

# Add IronPDF
dotnet add package IronPdf
SHELL

ライセンス構成

// 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";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PDFSharpの使用法を特定する。

# Find allPDFSharpusages in your codebase
grep -r "PdfSharp\|XGraphics\|XFont\|XBrush\|XPen" --include="*.cs" .
# Find allPDFSharpusages in your codebase
grep -r "PdfSharp\|XGraphics\|XFont\|XBrush\|XPen" --include="*.cs" .
SHELL

完全な API リファレンス

名前空間の変更

// Before: PDFSharp
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using PdfSharp.Pdf.IO;

// After: IronPDF
using IronPdf;
using IronPdf.Editing;
// Before: PDFSharp
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using PdfSharp.Pdf.IO;

// After: IronPDF
using IronPdf;
using IronPdf.Editing;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

コア API マッピング

PDFSharp APIIronPDF APIノート
new PdfDocument().ChromePdfRenderer.RenderHtmlAsPdf()のようになります。HTMLから作成
document.AddPage()自動翻訳HTMLコンテンツから作成されたページ
XGraphics.FromPdfPage()を使用しています。不要HTML要素の使用
<コード>XGraphics.DrawString()</コードHTML <p><h1>など。CSSを使用したポジション
<コード>XGraphics.DrawImage()</コードHTML <img>タグCSSを使用したポジション
<コード>XFont</コードCSS font-familyfont-size標準CSS
XBrushXPenCSSカラー/ボーダー<コード>カラー</コード>, <コード>背景色</コード
<コード>document.Save()</コード<コード>pdf.SaveAs()</コード類似機能
<コード>PdfReader.Open()</コードPdfDocument.FromFile()を使用してください。既存のPDFを開く

コード移行の例

例1: HTMLからPDFへの変換

翻訳前(PDFSharp):

// NuGet: Install-Package PdfSharp
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using System;

class Program
{
    static void Main()
    {
        //PDFSharpdoes not have built-inHTMLからPDFへconversion
        // You need to manually parse HTML and render content
        PdfDocument document = new PdfDocument();
        PdfPage page = document.AddPage();
        XGraphics gfx = XGraphics.FromPdfPage(page);
        XFont font = new XFont("Arial", 12);

        // マニュアル text rendering (no HTML support)
        gfx.DrawString("Hello from PDFSharp", font, XBrushes.Black,
            new XRect(0, 0, page.Width, page.Height),
            XStringFormats.TopLeft);

        document.Save("output.pdf");
    }
}
// NuGet: Install-Package PdfSharp
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using System;

class Program
{
    static void Main()
    {
        //PDFSharpdoes not have built-inHTMLからPDFへconversion
        // You need to manually parse HTML and render content
        PdfDocument document = new PdfDocument();
        PdfPage page = document.AddPage();
        XGraphics gfx = XGraphics.FromPdfPage(page);
        XFont font = new XFont("Arial", 12);

        // マニュアル text rendering (no HTML support)
        gfx.DrawString("Hello from PDFSharp", font, XBrushes.Black,
            new XRect(0, 0, page.Width, page.Height),
            XStringFormats.TopLeft);

        document.Save("output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

翻訳後(IronPDF):

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

class Program
{
    static void Main()
    {
        //IronPDFhas nativeHTMLからPDFへrendering
        var renderer = new ChromePdfRenderer();

        string html = "<h1>Hello from IronPDF</h1><p>EasyHTMLからPDFへconversion</p>";
        var pdf = renderer.RenderHtmlAsPdf(html);

        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        //IronPDFhas nativeHTMLからPDFへrendering
        var renderer = new ChromePdfRenderer();

        string html = "<h1>Hello from IronPDF</h1><p>EasyHTMLからPDFへconversion</p>";
        var pdf = renderer.RenderHtmlAsPdf(html);

        pdf.SaveAs("output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

この例では、2つのライブラリの最も大きな違いを強調しています。 PDFSharpは、"HTMLからPDFへの変換を内蔵していない"と明言しています。PdfDocumentを手動で作成し、PdfPageを追加し、XGraphicsオブジェクトを取得し、XFontを作成し、XRect座標でDrawString()を使用する必要があります。

IronPdfはChromePdfRendererを通してネイティブのHTMLからPDFへのレンダリングを提供します。 RenderHtmlAsPdf()メソッドはHTML文字列を受け取り、内部でChromiumエンジンを使って変換します。 IronPdfは簡単にHTMLファイルをPDFに変換し、HTML5とCSS3で定義されたすべてのスタイルを保持し、座標計算の必要性を排除します。 包括的な例については、HTML to PDF documentationを参照してください。

例2: 既存のPDFにテキスト/透かしを追加する

翻訳前(PDFSharp):

// NuGet: Install-Package PdfSharp
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
using PdfSharp.Drawing;
using System;

class Program
{
    static void Main()
    {
        // Open existing PDF
        PdfDocument document = PdfReader.Open("existing.pdf", PdfDocumentOpenMode.Modify);
        PdfPage page = document.Pages[0];

        // Get graphics object
        XGraphics gfx = XGraphics.FromPdfPage(page);
        XFont font = new XFont("Arial", 20, XFontStyle.Bold);

        // Draw text at specific position
        gfx.DrawString("Watermark Text", font, XBrushes.Red,
            new XPoint(200, 400));

        document.Save("modified.pdf");
    }
}
// NuGet: Install-Package PdfSharp
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
using PdfSharp.Drawing;
using System;

class Program
{
    static void Main()
    {
        // Open existing PDF
        PdfDocument document = PdfReader.Open("existing.pdf", PdfDocumentOpenMode.Modify);
        PdfPage page = document.Pages[0];

        // Get graphics object
        XGraphics gfx = XGraphics.FromPdfPage(page);
        XFont font = new XFont("Arial", 20, XFontStyle.Bold);

        // Draw text at specific position
        gfx.DrawString("Watermark Text", font, XBrushes.Red,
            new XPoint(200, 400));

        document.Save("modified.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

翻訳後(IronPDF):

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

class Program
{
    static void Main()
    {
        // Open existing PDF
        var pdf = PdfDocument.FromFile("existing.pdf");

        // Add text stamp/watermark
        var textStamper = new TextStamper()
        {
            Text = "Watermark Text",
            FontSize = 20,
            Color = IronSoftware.Drawing.Color.Red,
            VerticalAlignment = VerticalAlignment.Middle,
            HorizontalAlignment = HorizontalAlignment.Center
        };

        pdf.ApplyStamp(textStamper);
        pdf.SaveAs("modified.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Editing;
using System;

class Program
{
    static void Main()
    {
        // Open existing PDF
        var pdf = PdfDocument.FromFile("existing.pdf");

        // Add text stamp/watermark
        var textStamper = new TextStamper()
        {
            Text = "Watermark Text",
            FontSize = 20,
            Color = IronSoftware.Drawing.Color.Red,
            VerticalAlignment = VerticalAlignment.Middle,
            HorizontalAlignment = HorizontalAlignment.Center
        };

        pdf.ApplyStamp(textStamper);
        pdf.SaveAs("modified.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PDFSharpは、PdfReader.Open()でPDFを開き、PdfDocumentOpenMode.Modifyを指定し、ページにアクセスし、XGraphicsオブジェクトを作成し、スタイルを持つXFontを作成し、正確なX,Y座標(200, 400)を指定するXPointDrawString()を使用する必要があります。

IronPDFはPdfDocument.FromFile()、宣言的なプロパティ(Text, FontSize, Color, VerticalAlignment, HorizontalAlignment)を持つTextStamperオブジェクト、そしてApplyStamp()によってこれを簡素化します。 座標計算の必要はありません。アライメントを指定するだけで、IronPDFが位置決めを行います。 スタンピング機能にはIronPdf.Editing名前空間が必要です。

例3: 画像でPDFを作成する

翻訳前(PDFSharp):

// NuGet: Install-Package PdfSharp
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using System;

class Program
{
    static void Main()
    {
        // Create new PDF document
        PdfDocument document = new PdfDocument();
        PdfPage page = document.AddPage();
        XGraphics gfx = XGraphics.FromPdfPage(page);

        // Load and draw image
        XImage image = XImage.FromFile("image.jpg");

        // Calculate size to fit page
        double width = 200;
        double height = 200;

        gfx.DrawImage(image, 50, 50, width, height);

        // Add text
        XFont font = new XFont("Arial", 16);
        gfx.DrawString("Image in PDF", font, XBrushes.Black,
            new XPoint(50, 270));

        document.Save("output.pdf");
    }
}
// NuGet: Install-Package PdfSharp
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using System;

class Program
{
    static void Main()
    {
        // Create new PDF document
        PdfDocument document = new PdfDocument();
        PdfPage page = document.AddPage();
        XGraphics gfx = XGraphics.FromPdfPage(page);

        // Load and draw image
        XImage image = XImage.FromFile("image.jpg");

        // Calculate size to fit page
        double width = 200;
        double height = 200;

        gfx.DrawImage(image, 50, 50, width, height);

        // Add text
        XFont font = new XFont("Arial", 16);
        gfx.DrawString("Image in PDF", font, XBrushes.Black,
            new XPoint(50, 270));

        document.Save("output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

翻訳後(IronPDF):

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

class Program
{
    static void Main()
    {
        // Create PDF from HTML with image
        var renderer = new ChromePdfRenderer();

        string html = @"
            <h1>Image in PDF</h1>
            <img src='image.jpg' style='width:200px; height:200px;' />
            <p>Easy image embedding with HTML</p>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");

        // Alternative: Add image to existing PDF
        var existingPdf = new ChromePdfRenderer().RenderHtmlAsPdf("<h1>Document</h1>");
        var imageStamper = new IronPdf.Editing.ImageStamper(new Uri("image.jpg"))
        {
            VerticalAlignment = IronPdf.Editing.VerticalAlignment.Top
        };
        existingPdf.ApplyStamp(imageStamper);
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create PDF from HTML with image
        var renderer = new ChromePdfRenderer();

        string html = @"
            <h1>Image in PDF</h1>
            <img src='image.jpg' style='width:200px; height:200px;' />
            <p>Easy image embedding with HTML</p>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");

        // Alternative: Add image to existing PDF
        var existingPdf = new ChromePdfRenderer().RenderHtmlAsPdf("<h1>Document</h1>");
        var imageStamper = new IronPdf.Editing.ImageStamper(new Uri("image.jpg"))
        {
            VerticalAlignment = IronPdf.Editing.VerticalAlignment.Top
        };
        existingPdf.ApplyStamp(imageStamper);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PDFSharpでは、新しいPdfDocumentを作成し、PdfPageを追加し、XGraphicsを取得し、ファイルからXImageを読み込み、幅と高さを計算し、正確な座標(50, 50, 200, 200)でDrawImage()を使用し、DrawString()でテキストを追加します。

IronPDFは標準的なHTMLを使用し、<img>タグとCSSスタイリング(style='width:200px; height:200px;'). 座標計算は不要で、CSSがレイアウトを処理します。 IronPDFはImageStamperも提供しており、既存のPDFに画像を追加することができます。 詳しくは、チュートリアルをご覧ください。


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

パラダイムシフト:座標からHTML/CSSへ

最も大きな変更点は、座標ベースの描画からHTML/CSSへの移行です:

// PDFSharp: マニュアル positioning nightmare
gfx.DrawString("Invoice", titleFont, XBrushes.Black, new XPoint(50, 50));
gfx.DrawString("Customer: John", bodyFont, XBrushes.Black, new XPoint(50, 80));

// IronPDF: Let CSS handle layout
var html = @"
<div style='padding: 50px;'>
    <h1>Invoice</h1>
    <p>Customer: John</p>
</div>";
var pdf = renderer.RenderHtmlAsPdf(html);
// PDFSharp: マニュアル positioning nightmare
gfx.DrawString("Invoice", titleFont, XBrushes.Black, new XPoint(50, 50));
gfx.DrawString("Customer: John", bodyFont, XBrushes.Black, new XPoint(50, 80));

// IronPDF: Let CSS handle layout
var html = @"
<div style='padding: 50px;'>
    <h1>Invoice</h1>
    <p>Customer: John</p>
</div>";
var pdf = renderer.RenderHtmlAsPdf(html);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

フォントの移行

// PDFSharp: XFont objects
var titleFont = new XFont("Arial", 24, XFontStyle.Bold);
var bodyFont = new XFont("Times New Roman", 12);

// IronPDF: CSS font properties
var html = @"
<style>
    h1 { font-family: Arial, sans-serif; font-size: 24px; font-weight: bold; }
    p { font-family: 'Times New Roman', serif; font-size: 12px; }
</style>";
// PDFSharp: XFont objects
var titleFont = new XFont("Arial", 24, XFontStyle.Bold);
var bodyFont = new XFont("Times New Roman", 12);

// IronPDF: CSS font properties
var html = @"
<style>
    h1 { font-family: Arial, sans-serif; font-size: 24px; font-weight: bold; }
    p { font-family: 'Times New Roman', serif; font-size: 12px; }
</style>";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ドキュメントの読み込みの変更

// PDFSharp: PdfReader.Open()
PdfDocument document = PdfReader.Open("existing.pdf", PdfDocumentOpenMode.Modify);

// IronPDF: PdfDocument.FromFile()
var pdf = PdfDocument.FromFile("existing.pdf");
// PDFSharp: PdfReader.Open()
PdfDocument document = PdfReader.Open("existing.pdf", PdfDocumentOpenMode.Modify);

// IronPDF: PdfDocument.FromFile()
var pdf = PdfDocument.FromFile("existing.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

保存メソッドの変更

// PDFSharp: document.Save()
document.Save("output.pdf");

// IronPDF: pdf.SaveAs()
pdf.SaveAs("output.pdf");
// PDFSharp: document.Save()
document.Save("output.pdf");

// IronPDF: pdf.SaveAs()
pdf.SaveAs("output.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ページのアクセス変更

// PDFSharp: document.Pages[0]
PdfPage page = document.Pages[0];

// IronPDF:自動翻訳page handling or pdf.Pages[0]
// Pages are created automatically from HTML content
// PDFSharp: document.Pages[0]
PdfPage page = document.Pages[0];

// IronPDF:自動翻訳page handling or pdf.Pages[0]
// Pages are created automatically from HTML content
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

移行後の新機能

IronPDFに移行することで、PDFSharpが提供できない機能を得ることができます:

ネイティブ HTML から PDF

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Modern Web Content</h1>");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Modern Web Content</h1>");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

URLをPDFに

var pdf = renderer.RenderUrlAsPdf("https://example.com");
var pdf = renderer.RenderUrlAsPdf("https://example.com");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PDFマージ

var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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

pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

機能比較の概要

フィーチャーPDFSharpIronPDF
座標ベースの図面✗ (HTMLを使用)
HTMLからPDFへ
CSS3 サポート
フレックスボックス/グリッドレイアウト
テキストスタンプマニュアル XGraphicsテキストスタンパー
画像スタンプマニュアル XImageイメージスタンパー
PDFのマージマニュアル
URLからPDFへ
最新のウェブレンダリングChromium エンジン
自動改ページ

移行チェックリスト

移行前

  • [ ] コードベース内のすべてのPDFSharp用法のインベントリ作成
  • [報告書、請求書、証明書など)。
  • [カスタムグラフィックスや描画操作に注意してください。
  • [ ] IronPDFライセンスキーの保存を計画する(環境変数を推奨)
  • [ ] まずはIronPDFトライアルライセンスでテストしてください。

パッケージの変更

  • [ ] PdfSharp NuGetパッケージを削除する。
  • [ ] PdfSharp-wpf NuGetパッケージを使用している場合は削除してください。
  • [ ] PdfSharp.Charting NuGetパッケージを使用している場合は削除してください。
  • [ ] IronPdf NuGetパッケージをインストールします:dotnet add package IronPdf NuGetパッケージをインストールします。

コードの変更

  • [ ] 名前空間のインポートを更新する (using PdfSharp.Pdf;using IronPdf;)
  • [ ] スタンピング機能のためにusing IronPdf.Editing;を追加してください。
  • [座標ベースのレイアウトをHTML/CSSに変換してください。
  • [ ] XFontをCSSフォント・プロパティに置き換えてください。
  • [ ] XBrush/XPenをCSSカラー/ボーダーに置き換えてください。
  • [ ] XGraphics.DrawString()をHTMLテキスト要素に置き換える
  • [ ] XGraphics.DrawImage()をHTMLの<img>タグに置き換えてください。
  • [ ] PdfReader.Open()PdfDocument.FromFile()に置き換えてください。
  • [ ] document.Save()pdf.SaveAs()に置き換えてください。
  • [ ] テーブル描画コードをHTMLテーブルに変換する

移行後

  • [生成されたPDFのビジュアル比較
  • [複数ページの文書のテスト
  • [フォントレンダリングの検証
  • [必要に応じて、新しい機能(HTML to PDF、マージ、透かし)を追加してください。

結論

PDFSharpとIronPDFはC#のPDF生成分野で異なるニーズに対応しています。 PDFSharpは、追加の依存関係なしにドキュメントのレンダリングを細かく制御する必要があり、予算の制約があるプロジェクトに適しています。 しかし、最新のウェブ標準や、HTMLを介して配信される動的なコンテンツを必要とするプロジェクトには不十分です。

この移行における主な変更点は以下のとおりです: 1.パラダイム:座標ベースの描画 → HTML/CSSテンプレート化 2.HTMLサポート: 利用できません → ネイティブChromiumレンダリング 3.レイアウト:手動 X,Y 位置決め → CSS フロー/フレックスボックス/グリッド 4.フォントXFontオブジェクト → CSS font-familyfont-size。 5.XBrushXPen → CSS colorbackground-colorborder。 6.画像XImage.FromFile() + DrawImage() → HTML <img>またはImageStamper。 7.テキストスタンプXGraphics.DrawString()TextStamper. 8.ドキュメントの読み込みPdfReader.Open()PdfDocument.FromFile() 9.保存document.Save() →<コード>pdf.SaveAs()</コードです。 10.新機能:PDFマージ、PDFへのURL、モダンCSSサポート、その他

IronPdfはCSS3、HTML5、高レベルのドキュメント操作をサポートする堅牢な機能と機能により、最新のHTMLからPDFへの変換が必要な状況でPDFSharpを凌駕します。 このツールには有料のライセンスが付属していますが、生産性の向上と最新の機能により、投資を正当化することがよくあります。

IronPDFドキュメントチュートリアルAPIリファレンスをご覧いただき、PDFSharpへの移行を促進してください。

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

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

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