IRONSOFTWAREHOME
ビデオ

MarkdownをPDFに変換する方法

Curtis Chau
Curtis Chau
Updated: 2026年5月18日

ExpertPdfは、Outside Software Inc.が発行する.NET用の商用HTML-to-PDFコンバーターです。nuget.orgでの最新リリースはv20.1.0(2025年4月)であり、スイートはまだ積極的に出荷されています—摩擦は、製品のであり、放棄ではありません。 ExpertPdfは、Trident(IE)エンジンと、v12.2で追加された"WebKit2"エンジンに依存しています; 現代のChromiumはデフォルトではありません。 公開されているComponentSourceのリストには、HtmlToPdfコンバーターの価格帯が概ね$550〜$1,200であるとされています(ベンダーに直接確認してください)。 ツールキットはまた、別々のNuGetパッケージ—HtmlToPdf、MergePdf、PdfSecurity、SplitPdf、PdfToImage、PdfCreator—によって分割されており、通常、別々にライセンスされています。 このガイドは、ExpertPdfからIronPDFへのステップバイステップの移行経路を提供します。これは、最新のChromiumレンダリング、頻繁なリリース、オールインワンパッケージを備えた.NET PDFライブラリです。

なぜExpertPdfからIronPDFに移行するのですか?

ExpertPdfには、開発チームを最新の代替ツールの評価に駆り立てるいくつかの課題があります。 これらの問題を理解することは、移行戦略を計画する上で不可欠です。

ExpertPdfの問題点

  1. スパースなドキュメンテーション、遅いペース: 参照ドキュメントはhtml-to-pdf.netに存在しますが、チュートリアル、機能記事、変更履歴のエントリはまれです。 v20.1(2025年4月)のリリースノートには"バグ修正とパフォーマンス向上"—目立った新機能はありません。

  2. 古いレンダリングパイプライン: ExpertPdfは、Trident(IE)エンジンと、v12.2で追加された"WebKit2"エンジンを出荷しています; 現代のChromiumはデフォルトではありません。 Flexbox、Grid、CSS変数などのCSS3機能は、WebKit2エンジンで最良の結果となるため、大規模なエステートを移行する前に、ターゲットHTMLと照合してください。

  3. 老朽化したスタックに対するプレミアム価格: 公開されているComponentSourceのリストには、HtmlToPdfコンバーターの価格帯が概ね$550〜$1,200であるとされています(ベンダーに直接確認してください—expertpdf.netの注文ページは執筆時にアクセスできませんでした)。

  4. 分断された製品スイート: ExpertPdfは、別々のパッケージを販売しています — ExpertPdf.HtmlToPdf.NetCore / ExpertPdfHtmlToPdf, ExpertPdf.MergePdf, ExpertPdf.PdfSecurity, ExpertPdf.SplitPdf, ExpertPdf.PdfToImage, ExpertPdf.PdfCreator — それぞれが通常別々にライセンスされています。

  5. ネイティブの最新 .NET ターゲットがない: .NetCore パッケージは .NET Standard 2.0 / .NET Framework 4.6.1 向けで、.NET 5/6/7/8/9 で 動作 しますが、ネイティブのマルチターゲットビルド、トリミングに優しいアセンブリ、または非同期ファーストAPIは得られません。

アーキテクチャの比較

アスペクトエキスパートPDFIronPDF
ベンダーOutside Software Inc.Iron Software
最新リリース(nuget.org)v20.1.0 (2025年4月)継続的な更新
ドキュメント参照ドキュメントのみ、スパースなチュートリアル継続的な更新
レンダリングエンジンTrident (IE) +"WebKit2"(v12.2で追加)最新のChromium
CSSサポートWebKit2でのCSS3ベスト: レガシーの上に部分的にフルCSS3(フレックスボックス、グリッド)
価格約$550–$1,200(ベンダーに確認)ironpdf.com/pricingを参照
製品モデル分散化(6+ NuGetパッケージ)オールインワンライブラリ
モダン.NET.NET Standard 2.0 (.NET 5-9で動作).NET 6/7/8/9+ マルチターゲット
非同期サポートについて制限的完全なasync/await

主な移行のメリット

1.**モダンレンダリング:**ピクセルパーフェクトな出力を実現する最新のChromiumエンジン 2.オールインワンパッケージ: PDF生成、マージ、セキュリティ、抽出を1つのNuGetで実現 3.**積極的な開発:**新機能とセキュリティパッチを含む毎月のアップデート 4.**より良いドキュメント:**包括的なチュートリアルと例 5.真のクロスプラットフォーム: Windows、Linux、macOS、Docker をサポート

移行前の準備

前提条件

あなたの環境がこれらの要件を満たしていることを確認してください:

  • .NET Framework 4.6.2+または.NET Core 3.1 / .NET 5-9
  • Visual Studio 2019+またはC#拡張機能付きVS Code
  • NuGetパッケージマネージャへのアクセス
  • IronPDFライセンスキー (ironpdf.com にて無料トライアル可能)

監査エキスパートPDFの使用法

ソリューションディレクトリで以下のコマンドを実行し、ExpertPdfへの参照をすべて特定します:

# Find allエキスパートPDFreferences
grep -r "ExpertPdf\|PdfConverter\|PDFMerge\|PdfSecurityManager" --include="*.cs" .

# Check NuGet packages
dotnet list package | grep -i "ExpertPdf"
SHELL

epertpdfの共通パッケージ(正確な名前をnuget.orgで確認してください—スイートは一貫性のないケースを使用):

  • ExpertPdfHtmlToPdf (.NET Framework) / ExpertPdf.HtmlToPdf.NetCore (.NET Core / 5-9) — HTML to PDF
  • ExpertPdf.MergePdf — PDFの結合
  • ExpertPdf.PdfSecurity — 暗号化とパスワード
  • ExpertPdf.SplitPdf — PDFの分割
  • ExpertPdf.PdfToImage — PDFから画像への変換
  • ExpertPdf.PdfCreator — フルPDF SDK(描画、フォーム、署名)

コアパターンの変更を理解する

ExpertPdfは、直接バイト配列を返すメソッドと共にPdfConverterを使用します。 IronPDFはPdfDocumentオブジェクトを返します。

ステップごとの移行プロセス

ステップ 1: NuGet パッケージを更新する

すべてのExpertPdfパッケージを削除し、IronPDFをインストールしてください:

# Remove allエキスパートPDFpackages (use whichever variants you have installed)
dotnet remove package ExpertPdfHtmlToPdf
dotnet remove package ExpertPdf.HtmlToPdf.NetCore
dotnet remove package ExpertPdf.MergePdf
dotnet remove package ExpertPdf.PdfSecurity
dotnet remove package ExpertPdf.SplitPdf
dotnet remove package ExpertPdf.PdfToImage
dotnet remove package ExpertPdf.PdfCreator

# InstallIronPDF(includes all features)
dotnet add package IronPdf
SHELL

ステップ 2: 名前空間参照の更新

ExpertPdfの名前空間をIronPDFに置き換えてください:

// Remove these
using ExpertPdf.HtmlToPdf;

// Add this
using IronPdf;

ステップ 3: ライセンスの設定

ExpertPdfは、コンバータごとのライセンスを使用しています。 IronPDFは単一のグローバルライセンスを使用しています:

// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

完全な API 移行のリファレンス

コア クラス マッピング

ExpertPdfクラスIronPDF 同等物
PdfConverterChromePdfRenderer
PdfDocumentOptionsChromePdfRenderOptions
PdfHeaderOptionsTextHeaderFooter または HtmlHeaderFooter
PdfFooterOptionsTextHeaderFooter または HtmlHeaderFooter
PDFMergePdfDocument.Merge()

メソッドマッピング

ExpertPdf メソッドIronPDF メソッド
pdfConverter.GetPdfBytesFromHtmlString(html)renderer.RenderHtmlAsPdf(html).BinaryData
pdfConverter.GetPdfBytesFromUrl(url)renderer.RenderUrlAsPdf(url).BinaryData
pdfConverter.GetPdfBytesFromHtmlFile(path)renderer.RenderHtmlFileAsPdf(path).BinaryData
pdfConverter.SavePdfFromUrlToFile(url, path)renderer.RenderUrlAsPdf(url).SaveAs(path)

オプション マッピング

ExpertPdf オプションIronPDF レンダリングオプション
PdfDocumentOptions.PdfPageSize = PdfPageSize.A4PaperSize = PdfPaperSize.A4
PdfDocumentOptions.PdfPageOrientation = PortraitPaperOrientation = PdfPaperOrientation.Portrait
PdfDocumentOptions.MarginTopMarginTop
PdfHeaderOptions.HeaderTextTextHeader.CenterText
PdfFooterOptions.FooterTextTextFooter.RightText

ページ番号トークン変換

ExpertPdfとIronPDFはページ番号に異なるプレースホルダー構文を使用します:

エキスパートPDFIronPDF
&p;{page}
&P;{total-pages}

コード移行の例

HTMLからPDFへの変換

基本的なHTMLからPDFへの変換は、ExpertPdfのバイトアレイパターンからIronPDFのドキュメントオブジェクトアプローチへの移行を示しています。

ExpertPdfの実装:

// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();
        
        // Convert HTML string to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>");
        
        // Save to file
        System.IO.File.WriteAllBytes("output.pdf", pdfBytes);
        
        Console.WriteLine("PDF created successfully!");
    }
}

IronPDFの実装:

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

class Program
{
    static void Main()
    {
        // Create a PDF from HTML string
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>");
        
        // Save to file
        pdf.SaveAs("output.pdf");
        
        Console.WriteLine("PDF created successfully!");
    }
}

IronPDFのアプローチは、保存する前に追加の操作(結合、透かし、セキュリティ)を可能にするPdfDocumentオブジェクトを返します。 その他のオプションについては、HTML to PDF documentationを参照してください。

ページ設定付きURL to PDF

ExpertPdfの実装:

// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();
        
        // Set page size and orientation
        pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
        pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait;
        
        // Convert URL to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromUrl("https://www.example.com");
        
        // Save to file
        System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes);
        
        Console.WriteLine("PDF from URL created successfully!");
    }
}

IronPDFの実装:

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

class Program
{
    static void Main()
    {
        // Create a PDF renderer
        var renderer = new ChromePdfRenderer();
        
        // Set page size and orientation
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        
        // Convert URL to PDF
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
        
        // Save to file
        pdf.SaveAs("webpage.pdf");
        
        Console.WriteLine("PDF from URL created successfully!");
    }
}

IronPDFのRenderingOptionsは、ページ設定のための直接的なプロパティアクセスを提供します。 その他のオプションについては、URL to PDF documentationを参照してください。

ページ番号を含むヘッダーとフッター

この例はヘッダー/フッター設定の根本的な違いを示しています—ExpertPdfはPdfHeaderOptionsPdfFooterOptions クラスを使用しており、IronPDFはTextHeaderFooterを使用しています。

ExpertPdfの実装:

// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();
        
        // Enable header
        pdfConverter.PdfHeaderOptions.ShowHeader = true;
        pdfConverter.PdfHeaderOptions.HeaderText = "Document Header";
        pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center;
        
        // Enable footer with page numbers
        pdfConverter.PdfFooterOptions.ShowFooter = true;
        pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;";
        pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right;
        
        // Convert HTML file to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlFile("input.html");
        
        // Save to file
        System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes);
        
        Console.WriteLine("PDF with headers and footers created successfully!");
    }
}

IronPDFの実装:

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

class Program
{
    static void Main()
    {
        // Create a PDF renderer
        var renderer = new ChromePdfRenderer();
        
        // Configure header
        renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
        {
            CenterText = "Document Header",
            DrawDividerLine = true
        };
        
        // Configure footer with page numbers
        renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            RightText = "Page {page} of {total-pages}",
            DrawDividerLine = true
        };
        
        // Convert HTML file to PDF
        var pdf = renderer.RenderHtmlFileAsPdf("input.html");
        
        // Save to file
        pdf.SaveAs("output-with-header-footer.pdf");
        
        Console.WriteLine("PDF with headers and footers created successfully!");
    }
}

IronPDFのRightTextプロパティを提供します。 HTMLベースのヘッダーのためには、HtmlHeaderFooterを使用します。 その他のオプションについては、headers and footers documentationを参照してください。

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

ライセンス キー ロケーション

ExpertPdfは、コンバータごとのライセンスを使用しています。 IronPDFは起動時に単一のグローバルライセンスを使用します:

//エキスパートPDF- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE";

//IronPDF- global, set once
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
C#

ページ番号トークン変換

ExpertPdfトークンをIronPDFプレースホルダーに置き換えてください:

// ExpertPdf
"Page &p; of &P;"

// IronPDF
"Page {page} of {total-pages}"

断片化されたパッケージが統合されました

ExpertPdfの個別パッケージ(PDFMerge, PDFSecurity, PDFSplit, PdfToImage)はすべてIronPDFの単一パッケージに含まれています:

//エキスパートPDF- requires separate ExpertPdf.MergePdf package
PDFMerge merger = new PDFMerge();
merger.AppendPDFFile("file1.pdf");
merger.AppendPDFFile("file2.pdf");
merger.SaveMergedPDFToFile("merged.pdf");

//IronPDF- included in main package
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
C#

マージオプションについては、PDFマージドキュメントを参照してください。

カスタムページサイズ

ExpertPdfはポイントを使用しています。 IronPDFはミリメートルを使用しています。 変換: points / 72 * 25.4 = mm

移行後のチェックリスト

コードの移行が完了したら、以下を確認してください:

  • 生成されたPDFの視覚的な比較
  • ヘッダー/フッターとページ番号を確認する
  • セキュリティ/暗号化設定をテストする
  • マージ操作を検証する
  • カスタムページサイズを確認する
  • パフォーマンスベンチマーク
  • クロスプラットフォームテスト
  • ExpertPdfライセンスファイルを削除する
  • ドキュメントの更新

その他のリソース


ExpertPdfからIronPDFへの移行は、スパースなドキュメント、レガシーレンダリングパイプライン、および断片化された製品ライセンスを、最新のChromiumエンジン上で積極的に保守されているライブラリに置き換え、現在のWeb標準および現代 for .NETターゲットに合致したPDF生成を維持します。

ご注意: ExpertPDFは、それぞれの所有者(Outside Software Inc.)の登録商標です。 このサイトは、Outside Software Inc.によって支持、承認、後援されているものではありません。すべての製品名、ロゴ、およびブランドは、それぞれの所有者の財産です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。
Curtis Chau
テクニカルライター

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

...
詳しく読む

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。