C# を使用して XML を PDF に変換する方法

C#とVB.NETでXMLをPDFに変換する

This article was translated from English: Does it need improvement?
Translated
View the article in English

XSLT 変換を使用して最初に XML を HTML に変換し、次に IronPDF を使用して HTML を PDF としてレンダリングすることで、C# で XML を PDF に変換し、複雑な XML スキーマに信頼性の高いソリューションを提供します。

C#でXMLを直接PDFに変換するには、戦略的なアプローチが必要です。 最も効果的な方法は、変換テンプレートとしてXSLTを使用することです。 XMLは、XSLT変換を使用して、HTML(5)を介してPDFに変換します。 XSLT文書は、あるスキーマのXMLを、確立された標準に従って正確なHTML表現に変換する方法を定義します。 XSLTは、XMLからHTMLへのカスタムトランスレータとして機能します。 IronPDF の Chrome レンダリング エンジンにより、 HTML から PDF への正確な変換が保証されます。

XSLT 変換の詳細については、Microsoft の"XslCompiledTransform クラスの使用"の記事をご覧ください。

クイックスタート: IronPDFでXMLをPDFに変換

IronPDF を使用して XML ファイルを PDF に簡単に変換します。 数行のコードで、XSLT を使用して XML データを HTML に変換し、PDF ドキュメントとしてレンダリングします。 IronPdfはフォーマットを維持し、プラットフォーム間の互換性を確保しながら、わかりやすい統合を提供します。 このプロセスでは、IronPDF の HTML から PDF への変換機能を使用して、高品質のドキュメントを作成します。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronPDF をインストールします

    PM > Install-Package IronPdf

  2. このコード スニペットをコピーして実行します。

    new IronPdf.ChromePdfRenderer()
        .RenderHtmlAsPdf(
            XslCompiledTransform.Load("template.xslt")
                .Transform(XmlReader.Create("data.xml"), new StringWriter())
                .ToString()
        )
        .SaveAs("output.pdf");
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronPDF を使い始めましょう
    arrow pointer

どのように C# で XML から PDF への変換を実装しますか?

C#でXMLからPDFへの変換を実装するには、XSLT変換とPDF生成を組み合わせます。 まず、XMLデータがHTMLとしてどのようにフォーマットされるべきかを定義するXSLTテンプレートを作成します。 次に、XslCompiledTransform クラスを使用して、この変換を XML データに適用します。 最後に、出来上がったHTMLをIronPDFのChromePdfRendererを使ってPDFとしてレンダリングします。

プロセスとしては、XSLTテンプレートを読み込み、XMLデータソースに適用し、HTML出力をキャプチャします。 このHTMLをIronPDFのレンダラーに直接渡すことで、適切にフォーマットされたPDFドキュメントを作成するための複雑な処理をすべて行います。 高度なシナリオでは、カスタム CSS スタイルを適用して、PDF 出力の視覚的な表現を改善します。

なぜXMLからPDFへの変換にXSLTを使用するのですか?

XSLT(Extensible Stylesheet Language Transformations)は、XMLをPDFに変換するための最も柔軟で保守性の高いアプローチを提供します。 XMLを直接PDFに変換するライブラリとは異なり、XSLTでは、複雑なXMLスキーマや入れ子構造を扱う正確な変換ルールを定義することができます。 このアプローチでは、データ(XML)とプレゼンテーション(XSLT)の分離を維持しながら、最終的な文書の外観を完全に制御することができます。

XSLT を使用すると、HTML や CSS などの既存の Web テクノロジを使用して PDF 出力のスタイルを設定できます。 独自のPDFフォーマット言語を学ぶのではなく、使い慣れたツールやテクニックを使用してください。 さらに、XSLT テンプレートは再利用可能で、C# コードを変更することなく簡単に変更できるため、メンテナンスが容易です。

必要な主要コンポーネントは何ですか?

XMLからPDFへの変換に不可欠なコンポーネントには、XML処理のためのSystem.Xml名前空間、XSLT変換のためのXslCompiledTransformクラス、HTMLからPDFへのレンダリングのためのIronPDFが含まれます。 PDF生成機能にアクセスするには、NuGet経由でIronPDFをインストールしてください。

XSLTテンプレートは、XML要素をHTML構造にどのようにマッピングするかを定義し、変換の青写真として機能します。 テンプレートには、インラインまたはCSSによるスタイリング情報を含む適切なHTML構造を含める必要があります。 複雑なレイアウトの場合、フォントの管理変換内で適切に画像を扱う必要があります。

どのような場合に、代替案よりもこのアプローチを選ぶべきですか?

XSLTの変換アプローチは、柔軟なフォーマットオプションが必要な構造化XMLデータを扱う場合に優れています。 レポート、請求書、カタログ、またはXMLデータを特定のレイアウトで表示する必要がある文書の作成に適しています。 この方法は、プレゼンテーションの要件に応じて異なるXSLTテンプレートを作成することで、同じXMLソースから複数の出力形式をサポートする場合に効果的です。

ただし、単純なXML構造や時折発生する文書の変換については、よりシンプルな選択肢を検討してください。 基本的な変換については、XMLを直接解析し、プログラムでHTMLを構築します。 しかし、さまざまな XML スキーマを処理したり、保守可能な変換ロジックを必要とする運用システムの場合、IronPDF を使用した XSLT アプローチは最も信頼性の高いソリューションを提供します。

結果のHTML文字列またはファイルは、.NET PDF Generatorを使用してPDFとしてレンダリングされます。 IronPDFのXMLからPDFへの変換機能を紹介するサンプルプロジェクトをXML to PDF Conversion Exampleからダウンロードしてください。

// XSLT template that defines the transformation from XML to HTML
string xslt = @"<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
...
// XSLT template that defines the transformation from XML to HTML
string xslt = @"<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
...
$vbLabelText   $csharpLabel

カスタムレンダリングオプションによる高度な XML から PDF への変換

プロダクションアプリケーションでは、PDF出力をより詳細に制御する必要があります。 IronPdfは最終的なドキュメントをカスタマイズするための広範囲なレンダリングオプションを提供します。 この強化された例では、Professionalな書式設定、ヘッダー、フッター、ページ設定を適用しています:

// Configure advanced rendering options
var renderer = new ChromePdfRenderer();

...
// Configure advanced rendering options
var renderer = new ChromePdfRenderer();

...
$vbLabelText   $csharpLabel

複雑な XML スキーマを扱う

複雑なXML構造を扱う場合、XSLTテンプレートはネストした要素、属性、条件付き書式を扱わなければなりません。 透かしを入れページ番号を入れ、文書の専門性を高めます。 テンプレートをより柔軟にするために、XSLTパラメータの使用を検討してください:

// Create XSLT argument list for dynamic parameters
XsltArgumentList args = new XsltArgumentList();
...
// Create XSLT argument list for dynamic parameters
XsltArgumentList args = new XsltArgumentList();
...
$vbLabelText   $csharpLabel

インフォグラフィック

XSLTを使用したXMLからHTMLへの変換で、カタログデータを表形式に変換しています。

よくある質問

C# で XML を PDF に変換す る 方法は?

C#でXMLをPDFに変換するには、XSLT変換を使ってまずXMLをHTMLに変換し、次にIronPDFを使ってHTMLをPDFとしてレンダリングします。XslCompiledTransformを使ってXSLTテンプレートをロードし、それをXMLデータに適用してHTMLを生成し、IronPDFのChromePdfRendererを使って最終的なPDFドキュメントを作成する。

なぜXMLからPDFへの変換にXSLTを使う必要があるのですか?

XSLTはXMLからHTMLへのカスタムトランスレータとして機能するため、XMLからPDFへの変換に最も柔軟なアプローチを提供します。IronPDFのChromeレンダリングエンジンと組み合わせることで、XMLデータが最終的なPDFドキュメントでどのようにフォーマットされるかを完全にコントロールしながら、ピクセルパーフェクトな変換を実現します。

XMLからPDFへの変換を実装する手順は?

実装には5つのステップがあります:1) IronPDF C#ライブラリをインストールする、2) Loadメソッドを使ってXSLTテンプレートをロードする、3) Transformメソッドを使ってXMLをHTMLに変換する、4) IronPDFのカスタムレンダリングオプションを使ってHTMLをPDFにレンダリングする、5) PDFドキュメントを希望の場所にエクスポートする。

XMLからPDFへの変換にカスタムスタイルを適用できますか?

はい、カスタムCSSスタイリングを適用してPDF出力の視覚的表現を強化することができます。IronPdfはレスポンシブCSSスタイリングをサポートしており、XMLデータからフォント、レイアウト、ビジュアル要素を完全に制御してプロフェッショナルな書式のPDFを作成することができます。

1行のコードでXMLをPDFに変換することは可能ですか?

はい、IronPDFはメソッドを連結することでXMLからPDFへのワンライン変換を可能にします: new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf(XslCompiledTransform.Load("template.xslt").Transform(XmlReader.Create("data.xml"), new StringWriter()).ToString()).SaveAs("output.pdf");

XMLからPDFへの変換にはどのようなレンダリングエンジンが使用されますか?

IronPDFはHTMLからPDFへの変換にChromeレンダリングエンジンを使用し、ピクセルパーフェクトなレンダリングと最新のウェブ標準との互換性を保証します。このエンジンは変換されたXMLデータから適切にフォーマットされたPDFドキュメントを作成するための複雑な処理をすべて行います。

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

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

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

レビュー済み
Jeff Fritz
Jeffrey T. Fritz
プリンシパルプログラムマネージャー - .NETコミュニティチーム
Jeffはまた、.NETとVisual Studioチームのプリンシパルプログラムマネージャーです。彼は.NET Conf仮想会議シリーズのエグゼクティブプロデューサーであり、週に二回放送される開発者向けライブストリーム『Fritz and Friends』のホストを務め、テクノロジーについて話すことや視聴者と一緒にコードを書くことをしています。Jeffはワークショップ、プレゼンテーション、およびMicrosoft Build、Microsoft Ignite、.NET Conf、Microsoft MVPサミットを含む最大のMicrosoft開発者イベントのコンテンツを企画しています。
準備はできましたか?
Nuget ダウンロード 17,012,929 | バージョン: 2025.12 リリース