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

Convert XML to PDF in C# and VB.NET

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変換の詳細については、マイクロソフト社の記事"Using the XslCompiledTransform Class"をご覧ください。

クイックスタート: IronPDFを使用して XML を PDF に変換する

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

  1. IronPDF をNuGetパッケージマネージャでインストール

    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 データに適用します。 最後に、IronPDF の ChromePdfRenderer を使用して、結果の HTML を 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のような既存のウェブ技術を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,803,474 | バージョン: 2026.3 リリース
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronPdf
サンプルを実行するHTML が PDF に変換されるのを確認します。