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

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

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

QuestPDFからIronPDFに移行することで、PDF生成のワークフローが、独自のC#流暢なAPIから、包括的なPDF操作機能を持つ標準的なHTML/CSSベースのアプローチに変わります。 このガイドでは、既存のWebスキルを活用し、HTMLテンプレートを再利用し、QuestPDFでは提供できない機能を得ることができる、完全でステップバイステップの移行パスを提供します。

QuestPDFからIronPDFに移行する理由

QuestPDFを理解する

QuestPDFは、C#でプログラム的にPDFを生成するために特別に作成された、現代的で流暢なAPIです。 包括的なHTMLからPDFへの変換機能を提供する同業他社とは異なり、QuestPDFはプログラムレイアウトAPI機能に限定されています。 QuestPDFは、開発者がHTMLに頼ることなく、C#コードを使用してゼロからドキュメントを生成する必要があるシナリオで優れています。

このライブラリは、収益が100万ドル未満の企業は無料で利用できますが、この収益レベルを証明する必要があり、一部の企業にとってはコンプライアンス上の負担となる可能性があります。 この閾値を超えるユーザーはライセンスを購入する必要があり、QuestPDFを潜在的なソリューションとして評価する際には、長期的な計画に織り込んでおく必要があります。

核心的な問題: HTML をサポートしていない。

QuestPDFはHTMLからPDFへの変換によく推奨されますが、HTMLをまったくサポートしていません。 QuestPDFは、開発者フォーラムで大々的に宣伝されているにもかかわらず、独自のレイアウト言語を使用しているため、既存のWebスキルを活用する代わりに、まったく新しいDSLを習得する必要があります。

フィーチャーQuestPDFIronPDF
HTMLからPDFへサポート対象外フルサポート
CSSスタイリングサポート対象外完全なCSS3
既存のテンプレートゼロからの再構築が必要HTML/CSSアセットの再利用
デザインツールの互換性なしあらゆるウェブデザインツール
ラーニングカーブ新しい独自DSLウェブスキルの移転
レイアウトプレビューIDEプラグインが必要どのブラウザでもプレビュー
PDF操作なしマージ、分割、編集

IronPDFはQuestPDFに全く欠けているHTMLからPDFへのネイティブレンダリングを提供し、C#コードでドキュメントを手動で再構築する必要性を排除します。 QuestPDFが実行できない包括的なPDF操作機能(マージ、分割、編集、セキュア)を含みます。

QuestPDFのライセンスモデルについて

QuestPDFの"コミュニティライセンス"は、貴社の年間総収入が100万ドル未満の場合のみ無料です。 顧客(開発者であるあなただけではありません)は、収益のしきい値を超えた場合、ライセンスを購入する必要があるかもしれません。 単純な開発者ごとの商用ライセンスとは異なり、QuestPDF のモデルでは、収益の開示とコンプライアンスの追跡が必要です。

IronPdfはシンプルなライセンシングを提供します: 開発者1人につき1ライセンス、収益監査なし、クライアントライセンス要件なし、明確で予測可能なコスト。

2025年と2026年まで.NET 10とC# 14の導入を計画しているチームにとって、IronPDFは収益に基づく監査のない透明なライセンスと、既存のウェブ開発スキルを活用する標準的なHTML/CSSアプローチを提供します。


始める前に

前提条件

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 QuestPDF
dotnet remove package QuestPDF

# Add IronPDF
dotnet add package IronPdf
# Remove QuestPDF
dotnet remove package QuestPDF

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

QuestPDFの使い方を探す

# Find all QuestPDF usages in your codebase
grep -r "QuestPDF\|Document.Create\|\.GeneratePdf" --include="*.cs" .
# Find all QuestPDF usages in your codebase
grep -r "QuestPDF\|Document.Create\|\.GeneratePdf" --include="*.cs" .
SHELL

完全な API リファレンス

名前空間の変更

// Before: QuestPDF
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

// After: IronPDF
using IronPdf;
// Before: QuestPDF
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

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

コア API マッピング

QuestPDFのコンセプトIronPDF 同等物ノート
<コード>Document.Create()</コードnew ChromePdfRenderer().レンダラー作成
<コード>.Page()</コード<コード>RenderHtmlAsPdf()</コードHTMLをPDFにレンダリング
<コード>.Text()</コードHTML <p><h1><span>標準HTMLタグ
.Bold().CSS <コード>font-weight: bold標準CSS
.FontSize(24).CSS フォントサイズ: 24px標準CSS
<コード>.Image()</コードHTML <コード>   related to コア API マッピング標準HTML
<コード>.Table()</コードHTML <コード><テーブル><コード></コード標準HTML
<コード>.Column()</コードCSS display: flex; フレックス方向:列CSSフレックスボックス
.Row().CSS display: flex; フレックス方向: rowCSSフレックスボックス
<コード>ページサイズ.A4</コード<コード>RenderingOptions.PaperSize</コード用紙寸法
.Margin()レンダリングオプション.マージン*ページの余白
<コード>.GeneratePdf()</コード<コード>pdf.SaveAs()</コードファイル出力
該当なしPdfDocument.Merge()を使用してください。PDFのマージ
該当なしPdfDocument.FromFile()を使用してください。既存のPDFを読み込む
該当なし<コード>pdf.SecuritySettings</コードPDF暗号化

コード移行の例

例 1: 基本的なドキュメントの作成 (HTML-to-PDF)

翻訳前 (QuestPDF):

// NuGet: Install-Package QuestPDF
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

class Program
{
    static void Main()
    {
        QuestPDF.Settings.License = LicenseType.Community;

        Document.Create(container =>
        {
            container.Page(page =>
            {
                page.Size(PageSizes.A4);
                page.Margin(2, Unit.Centimetre);
                page.Content().Column(column =>
                {
                    column.Item().Text("Hello World").FontSize(20).Bold();
                    column.Item().Text("This is a paragraph of text.");
                });
            });
        }).GeneratePdf("output.pdf");
    }
}
// NuGet: Install-Package QuestPDF
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

class Program
{
    static void Main()
    {
        QuestPDF.Settings.License = LicenseType.Community;

        Document.Create(container =>
        {
            container.Page(page =>
            {
                page.Size(PageSizes.A4);
                page.Margin(2, Unit.Centimetre);
                page.Content().Column(column =>
                {
                    column.Item().Text("Hello World").FontSize(20).Bold();
                    column.Item().Text("This is a paragraph of text.");
                });
            });
        }).GeneratePdf("output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

翻訳後(IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a paragraph of text.</p>");
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a paragraph of text.</p>");
        pdf.SaveAs("output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

この例は、基本的なパラダイムの違いを示しています。 QuestPDF の流暢な API を学ぶ必要があります:Document.Create()container.Page()page.Content().Column()column.Item().Text().FontSize(20).Bold()のようなメソッドの連鎖によるスタイリング。 また、QuestPDF.Settings.License = LicenseType.Communityでライセンスタイプを設定する必要があります。

IronPDFはウェブ開発者なら誰でも知っている標準的なHTMLを使用します: <h1>は見出しに、<p>は段落に使用します。独自のDSLを学ぶ必要はありません。 IronPDFのアプローチは、よりきれいな構文と最新の.NETアプリケーションとのより良い統合を提供します。 包括的な例については、HTML to PDF documentationを参照してください。

例2: 請求書の作成

翻訳前 (QuestPDF):

// NuGet: Install-Package QuestPDF
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

class Program
{
    static void Main()
    {
        QuestPDF.Settings.License = LicenseType.Community;

        Document.Create(container =>
        {
            container.Page(page =>
            {
                page.Size(PageSizes.A4);
                page.Margin(2, Unit.Centimetre);
                page.Content().Column(column =>
                {
                    column.Item().Text("INVOICE").FontSize(24).Bold();
                    column.Item().Text("Invoice #: 12345").FontSize(12);
                    column.Item().PaddingTop(20);
                    column.Item().Text("Customer: John Doe");
                    column.Item().Text("Total: $100.00").Bold();
                });
            });
        }).GeneratePdf("invoice.pdf");
    }
}
// NuGet: Install-Package QuestPDF
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

class Program
{
    static void Main()
    {
        QuestPDF.Settings.License = LicenseType.Community;

        Document.Create(container =>
        {
            container.Page(page =>
            {
                page.Size(PageSizes.A4);
                page.Margin(2, Unit.Centimetre);
                page.Content().Column(column =>
                {
                    column.Item().Text("INVOICE").FontSize(24).Bold();
                    column.Item().Text("Invoice #: 12345").FontSize(12);
                    column.Item().PaddingTop(20);
                    column.Item().Text("Customer: John Doe");
                    column.Item().Text("Total: $100.00").Bold();
                });
            });
        }).GeneratePdf("invoice.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

翻訳後(IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var htmlContent = @"
            <h1>INVOICE</h1>
            <p>Invoice #: 12345</p>
            <br/>
            <p>Customer: John Doe</p>
            <p><strong>Total: $100.00</strong></p>
        ";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("invoice.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var htmlContent = @"
            <h1>INVOICE</h1>
            <p>Invoice #: 12345</p>
            <br/>
            <p>Customer: John Doe</p>
            <p><strong>Total: $100.00</strong></p>
        ";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("invoice.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

QuestPDFは、レイアウトに.Column().Item()を使用し、スペーシングに.PaddingTop(20)を使用します。 IronPDFは標準的なHTMLを使用します:<h1>はタイトル、<p>は段落、<br/>はスペーシング、<strong>は太字です。

本当の利点: IronPdfを使えば、デザイナーは独立してHTMLテンプレートを作成、修正することができます。 QuestPDFでは、設計変更のたびにC#開発者がコードを修正する必要があります。 詳しくは、チュートリアルをご覧ください。

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

翻訳前 (QuestPDF):

// NuGet: Install-Package QuestPDF
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

class Program
{
    static void Main()
    {
        QuestPDF.Settings.License = LicenseType.Community;

        Document.Create(container =>
        {
            container.Page(page =>
            {
                page.Size(PageSizes.A4);
                page.Margin(2, Unit.Centimetre);

                page.Header().Text("Document Header").FontSize(14).Bold();

                page.Content().Text("Main content of the document.");

                page.Footer().AlignCenter().Text(text =>
                {
                    text.Span("Page ");
                    text.CurrentPageNumber();
                });
            });
        }).GeneratePdf("document.pdf");
    }
}
// NuGet: Install-Package QuestPDF
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

class Program
{
    static void Main()
    {
        QuestPDF.Settings.License = LicenseType.Community;

        Document.Create(container =>
        {
            container.Page(page =>
            {
                page.Size(PageSizes.A4);
                page.Margin(2, Unit.Centimetre);

                page.Header().Text("Document Header").FontSize(14).Bold();

                page.Content().Text("Main content of the document.");

                page.Footer().AlignCenter().Text(text =>
                {
                    text.Span("Page ");
                    text.CurrentPageNumber();
                });
            });
        }).GeneratePdf("document.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

翻訳後(IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var htmlContent = "<p>Main content of the document.</p>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);

        pdf.Header = new TextHeaderFooter()
        {
            CenterText = "Document Header",
            FontSize = 14
        };

        pdf.Footer = new TextHeaderFooter()
        {
            CenterText = "Page {page}"
        };

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

class Program
{
    static void Main()
    {
        var htmlContent = "<p>Main content of the document.</p>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);

        pdf.Header = new TextHeaderFooter()
        {
            CenterText = "Document Header",
            FontSize = 14
        };

        pdf.Footer = new TextHeaderFooter()
        {
            CenterText = "Page {page}"
        };

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

QuestPDFは、.page.Header().page.Footer()を、.AlignCenter().CurrentPageNumber()のような流暢なメソッドとともに使用します。 IronPDFはCenterTextFontSizeのようなプロパティを持つTextHeaderFooterオブジェクトを使用します。 {page}プレースホルダは、現在のページ番号を自動的に挿入します。


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

パラダイムシフトについて

根本的な変化は、独自のC# DSLから標準的なHTML/CSSへの移行です:

// QuestPDF: Proprietary fluent API
container.Page(page =>
{
    page.Content().Column(column =>
    {
        column.Item().Text("Invoice").Bold().FontSize(24);
        column.Item().Row(row =>
        {
            row.RelativeItem().Text("Customer:");
            row.RelativeItem().Text("Acme Corp");
        });
    });
});

// IronPDF: Standard HTML/CSS
var html = @"
<div style='font-family: Arial; padding: 40px;'>
    <h1 style='font-weight: bold; font-size: 24px;'>Invoice</h1>
    <div style='display: flex; justify-content: space-between;'>
        <span>Customer:</span>
        <span>Acme Corp</span>
    </div>
</div>";

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
// QuestPDF: Proprietary fluent API
container.Page(page =>
{
    page.Content().Column(column =>
    {
        column.Item().Text("Invoice").Bold().FontSize(24);
        column.Item().Row(row =>
        {
            row.RelativeItem().Text("Customer:");
            row.RelativeItem().Text("Acme Corp");
        });
    });
});

// IronPDF: Standard HTML/CSS
var html = @"
<div style='font-family: Arial; padding: 40px;'>
    <h1 style='font-weight: bold; font-size: 24px;'>Invoice</h1>
    <div style='display: flex; justify-content: space-between;'>
        <span>Customer:</span>
        <span>Acme Corp</span>
    </div>
</div>";

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

レイアウト パターンの変換

QuestPDFパターンHTML/CSS相当
<コード>.Column()</コード表示: flex; フレックス方向:列`。
.Row().表示: flex; フレックス方向: row`
<コード>.RelativeItem()</コード<コード>フレックス: 1
<コード>.Table()</コード<table>要素
<コード>.PaddingTop(20)</コードpadding-top: 20px または <br/> にしてください。
.AlignCenter().text-align: center<//code>
.FontSize(24).フォントサイズ: 24px
.Bold().font-weight: bold または <strong>

ページ設定の変換

// QuestPDF
page.Size(PageSizes.A4);
page.Margin(2, Unit.Centimetre);

// IronPDF
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;    // mm (2cm = 20mm)
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
// QuestPDF
page.Size(PageSizes.A4);
page.Margin(2, Unit.Centimetre);

// IronPDF
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;    // mm (2cm = 20mm)
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

移行後の新機能

IronPDFに移行した後は、QuestPDFでは提供できない機能を得ることができます:

PDFマージ

var cover = renderer.RenderHtmlAsPdf("<h1>Cover</h1>");
var content = renderer.RenderHtmlAsPdf(reportHtml);
var existing = PdfDocument.FromFile("appendix.pdf");

var merged = PdfDocument.Merge(cover, content, existing);
merged.SaveAs("complete.pdf");
var cover = renderer.RenderHtmlAsPdf("<h1>Cover</h1>");
var content = renderer.RenderHtmlAsPdf(reportHtml);
var existing = PdfDocument.FromFile("appendix.pdf");

var merged = PdfDocument.Merge(cover, content, existing);
merged.SaveAs("complete.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PDFのセキュリティ

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.OwnerPassword = "admin";
pdf.SecuritySettings.UserPassword = "reader";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights;
pdf.SaveAs("protected.pdf");
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.OwnerPassword = "admin";
pdf.SecuritySettings.UserPassword = "reader";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights;
pdf.SaveAs("protected.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

URLをPDFに

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;

var pdf = renderer.RenderUrlAsPdf("https://example.com/report");
pdf.SaveAs("webpage.pdf");
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;

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

既存のPDFを読み込んで編集する

var pdf = PdfDocument.FromFile("existing.pdf");
// Modify, merge, add security, etc.
pdf.SaveAs("modified.pdf");
var pdf = PdfDocument.FromFile("existing.pdf");
// Modify, merge, add security, etc.
pdf.SaveAs("modified.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

機能比較の概要

フィーチャーQuestPDFIronPDF
HTMLからPDFへサポートされていません主な機能
ラーニングカーブ独自のDSL標準的なウェブスキル
テンプレートプレビュー必要なプラグインブラウザ
デザインコラボレーション開発者のみデザイナー + 開発者
既存の資産再構築必須HTML/CSSの再利用
PDF操作サポートされていませんフルサポート
セキュリティ/署名サポートされていませんフルサポート
ライセンスモデル収益ベース開発者ごと
クライアントへの影響ライセンスが必要な場合がありますなし
Bootstrap/Tailwind(ブートストラップ/テイルウィンドサポートされていませんフルサポート
URLからPDFへサポートされていませんフルサポート

移行チェックリスト

移行前

  • [ ] すべての QuestPDF 文書テンプレート (Document.Create, .GeneratePdf) を特定する。
  • [ ] 使用したDSLパターン(.Column(), .Row(), .Table(), .Text())を文書化する。
  • [スタイルメソッドをCSSに対応させる
  • [ironpdf.comからIronPDFライセンスキーを入手してください。

パッケージの変更

  • [ ] QuestPDF NuGetパッケージを削除する。
  • [ ] IronPdf NuGetパッケージをインストールします:dotnet add package IronPdf NuGetパッケージをインストールします。

コードの変更

  • [名前空間インポートの更新
  • [ ] QuestPDF.Settings.License=LicenseType.Communityを削除します。
  • [ ] Document.Create()パターンをChromePdfRenderer + HTMLに変換する
  • [ ] .Column()/.Row()をCSS Flexboxに置き換える
  • [ ] .Table()をHTMLの<table>要素に置き換えてください。
  • [ ] .Text().Bold().FontSize(24)<h1> style="..."> に変換してください。
  • [ ] page.Header() / page.Footer()TextHeaderFooter に置き換えてください。
  • [ ] .CurrentPageNumber(){page}プレースホルダーに置き換えてください。
  • [ ] .GeneratePdf()pdf.SaveAs()に変換する。
  • [アプリケーション起動時のライセンス初期化機能の追加

移行後

  • [PDF 出力の視覚的比較
  • [複数ページの文書が正しく改ページされているかテストしてください。
  • [必要に応じて、新しい機能(セキュリティ、マージ、URL-to-PDF)を追加してください。

結論

QuestPDFとIronPDFはPDFの生成と操作の領域で異なる目的を果たします。 QuestPDFは、プログラム的なアプローチでPDFのデザインを綿密に作成する必要がある状況で輝きます。 流暢なAPIは、HTML変換よりも高い忠実度を好むユーザーにとって有利です。

一方、IronPDFはHTML変換や高度な操作機能を含む包括的なPDFソリューションを必要とする開発者に、透過的なライセンスモデルで堅牢なスイートを提供します。

この移行における主な変更点は以下のとおりです: 1.パラダイム:独自のC#流暢API → 標準的なHTML/CSS 2.テンプレート作成:C#コードのみ → デザイナーはHTML/CSSを提供できます。 3.プレビュー: IDE プラグインが必要です。 4.初期化QuestPDF.Settings.License = LicenseType.CommunityIronPdf.License.LicenseKey. 5.レイアウト.Column() /.Row().→ CSS Flexbox 6.スタイリング:メソッドの連鎖 (.Bold().FontSize(24)) → CSS プロパティ 7.ヘッダー/フッターpage.Header() / page.Footer()TextHeaderFooter オブジェクト 8.ページ番号.CurrentPageNumber(){ページ}プレースホルダ 9.保存します:.GeneratePdf("file.pdf")pdf.SaveAs("file.pdf"). 10.新機能:PDFマージ、分割、セキュリティ、デジタル署名、URL-to-PDF

結局のところ、QuestPDFとIronPDFのどちらを選択するかは、プロジェクトの特定の要件に依存します。 シームレスなHTML統合と幅広いPDF操作が重要であれば、IronPDFは優れた選択肢です。

完全なIronPDFドキュメントチュートリアルAPIリファレンスをご覧になり、QuestPDFへの移行を促進してください。

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

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

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