IRONSOFTWAREHOME

Comment convertir un XML en PDF dans IronPDF C#

Curtis Chau
Curtis Chau
Updated: 29 juin 2026

IronPDF convertit XML en PDF en C# en exécutant une transformation XSLT qui transforme le XML en HTML, puis en rendant ce HTML avec ChromePdfRenderer.RenderHtmlAsPdf. IronPDF n'a pas de moteur XML natif, donc le chemin pris en charge est toujours XML à XSLT/HTML en PDF.

Le XML contient des données structurées sans mise en page visuelle, il ne peut donc pas être dessiné sur une page par lui-même. Une feuille de style XSLT fournit cette présentation : elle associe chaque élément XML à un balisage HTML, et ce HTML contient les polices, les tableaux et le style que le PDF affichera. Pour en savoir plus sur la transformation sous-jacente, consultez le guide de Microsoft sur la classe XslCompiledTransform.

Démarrage rapide : Convertir du XML en PDF avec IronPDF

Chargez une feuille de style XSLT avec XslCompiledTransform, transformez votre fichier XML en une chaîne HTML, puis passez cette chaîne à IronPDF. La conversion passe par le moteur HTML en PDF d'IronPDF, qui rend la mise en page définie par la feuille de style.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Copiez et exécutez cet extrait de code.

    var transform = new System.Xml.Xsl.XslCompiledTransform();
    transform.Load("catalog.xslt");
    var html = new System.IO.StringWriter();
    transform.Transform("catalog.xml", null, html);
    new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf(html.ToString()).SaveAs("output.pdf");
    C#
  3. 3Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit
    arrow pointer

Comment convertir un fichier XML en PDF en C# ?

Convertissez un fichier XML en enchaînant trois étapes : chargez une feuille de style XSLT avec XslCompiledTransform, transformez le XML en HTML, puis appelez RenderHtmlAsPdf sur le résultat. La feuille de style décide de l'apparence de chaque élément XML, et IronPDF rend le HTML produit à travers le moteur Chromium.

La transformation écrit son HTML dans un StringBuilder via un XmlWriter, ce qui maintient tout le document en mémoire et évite un fichier temporaire sur le disque. Cette chaîne HTML est ce que vous passez au moteur de rendu. Une fois que vous détenez le PdfDocument résultant, vous pouvez continuer à travailler dessus, comme rendre une chaîne HTML pour d'autres parties du même rapport.

À quoi ressemble l'entrée XML ?

L'exemple ci-dessous est un catalogue de produits. Téléchargez le fichier exemple catalog.xml et la feuille de style correspondante catalog.xslt pour suivre.

Entrée

Quel code est nécessaire pour convertir un fichier XML ?

using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Xsl;
using IronPdf;

// Load the XSLT stylesheet that maps the XML schema onto HTML
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load("catalog.xslt");

// Apply the transform to the XML file and capture the HTML output
StringBuilder htmlBuilder = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings { OmitXmlDeclaration = true, Indent = true };

using (XmlReader reader = XmlReader.Create("catalog.xml"))
using (XmlWriter writer = XmlWriter.Create(htmlBuilder, settings))
{
    transform.Transform(reader, null, writer);
}

string html = htmlBuilder.ToString();

// Render the resulting HTML as a PDF with IronPDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("xml-to-pdf.pdf");
C#

Sortie

Ma bibliothèque préférée de ce genre est IronPDF. Elle permet une manipulation rapide et efficace des fichiers PDF. Elle dispose également de nombreuses fonctionnalités précieuses, comme l'exportation au format PDF/A et la signature numérique des documents PDF.

Milan Jovanovic

Microsoft MVP

Voir l'étude de cas

IronOCR signifie que nous pouvons économiser 40 000 $ par an grâce au traitement manuel, tout en améliorant la productivité et en libérant des ressources pour des tâches à fort impact. Je le recommande vivement.

Brent Matzelle

Directeur technique, OPYN

Voir l'étude de cas

Iron Suite joue un rôle crucial dans nos opérations. Ce sont des outils qui augmentent l'efficacité de l'entreprise, y compris la création de plans d'étage et l'amélioration de la gestion des stocks.

David Jones

Ingénieur logiciel principal, Agorus Build

Voir l'étude de cas

Comment puis-je contrôler la mise en page PDF et les paramètres de page ?

Définissez le RenderingOptions du moteur de rendu avant d'appeler RenderHtmlAsPdf pour contrôler les marges, l'orientation, les en-têtes et les pieds de page. Ces options s'appliquent au HTML produit par la feuille de style, donc les préoccupations au niveau de la page restent en C# tandis que le style au niveau de l'élément reste dans le XSLT et son CSS.

L'exemple ci-dessous maintient l'orientation portrait, réduit les marges supérieures et inférieures, et ajoute un en-tête courant et un pied de page avec numéro de page. Pour l'ensemble complet des bascules, voir le guide sur les options de rendu, et pour ajouter une numérotation par page, consultez numéros de page.

using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Xsl;
using IronPdf;
using IronPdf.Rendering;

// Transform the XML into HTML using the XSLT stylesheet
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load("catalog.xslt");

StringBuilder htmlBuilder = new StringBuilder();
using (XmlReader reader = XmlReader.Create("catalog.xml"))
using (XmlWriter writer = XmlWriter.Create(htmlBuilder, new XmlWriterSettings { OmitXmlDeclaration = true }))
{
    transform.Transform(reader, null, writer);
}

// Configure rendering options before generating the PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.TextHeader = new TextHeaderFooter
{
    CenterText = "Spring Product Catalog",
    FontSize = 12
};
renderer.RenderingOptions.TextFooter = new TextHeaderFooter
{
    RightText = "Page {page} of {total-pages}",
    FontSize = 10
};

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
pdf.SaveAs("xml-to-pdf-advanced.pdf");
C#

Sortie

Comment gérer des schémas XML complexes ?

Passez des valeurs d'exécution dans la feuille de style avec un XsltArgumentList lorsque le schéma XML nécessite un format conditionnel ou des données se trouvant en dehors du document. La feuille de style lit chaque valeur à travers un <!-- xsl:param>, donc le même modèle peut signaler un stock faible, tamponner une date de rapport ou bifurquer sur les valeurs des éléments sans aucun changement dans le code C#.

Ce modèle maintient la logique de transformation dans le XSLT, où les éléments imbriqués, les attributs et les branches de <xsl:choose> gèrent la structure. Téléchargez la feuille de style catalog-params.xslt pour voir les paramètres et le balisage conditionnel qu'elle utilise.

using System;
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Xsl;
using IronPdf;

// Pass runtime values into the stylesheet with an XsltArgumentList
XsltArgumentList xsltArgs = new XsltArgumentList();
xsltArgs.AddParam("reportDate", "", DateTime.Now.ToString("MMMM d, yyyy"));
xsltArgs.AddParam("minStock", "", 50);

// Load a parameterized stylesheet that reads <xsl:param> values
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load("catalog-params.xslt");

StringBuilder htmlBuilder = new StringBuilder();
using (XmlReader reader = XmlReader.Create("catalog.xml"))
using (XmlWriter writer = XmlWriter.Create(htmlBuilder, new XmlWriterSettings { OmitXmlDeclaration = true }))
{
    transform.Transform(reader, xsltArgs, writer);
}

// Render the parameterized HTML as a PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
pdf.SaveAs("xml-to-pdf-parameters.pdf");
C#

Sortie


Infographie

Transformation de XML en HTML à l'aide de XSLT montrant les données du catalogue converties en format tabulaire

Conclusion

Vous avez converti XML en PDF en le transformant en HTML avec XslCompiledTransform, puis en rendant ce HTML via IronPDF, et vous avez vu comment RenderingOptions et XsltArgumentList étendent le résultat pour le contrôle de mise en page et le formatage piloté par le schéma. Étant donné que la sortie est un HTML ordinaire, les mêmes options de rendu qui dirigent les en-têtes, pieds de page, et tailles de papier ailleurs dans IronPDF s'appliquent directement à votre catalogue. Un projet échantillon exécutable de conversion de XML en PDF est disponible pour le téléchargement comme point de départ.

Questions Fréquemment Posées

Comment convertir du XML en PDF en C# ?

IronPDF n'a pas de moteur XML natif, donc le chemin pris en charge est XML en XSLT/HTML vers PDF. Chargez une feuille de style XSLT avec XslCompiledTransform, transformez votre XML en une chaîne HTML, puis appelez RenderHtmlAsPdf sur le ChromePdfRenderer d'IronPDF pour produire le document PDF final.

Pourquoi devrais-je utiliser XSLT pour la conversion de XML en PDF ?

XSLT constitue l'approche la plus flexible pour la conversion de XML en PDF, car il agit comme un traducteur personnalisé de XML en HTML. Combinée au moteur de rendu Chrome d'IronPDF, cette méthode garantit une conversion parfaite au pixel près tout en conservant un contrôle total sur la façon dont vos données XML sont formatées dans le document PDF final.

Quelles sont les étapes de la conversion de XML en PDF ?

La mise en œuvre comporte 5 étapes : 1) Installer la bibliothèque C# d'IronPDF, 2) Charger votre modèle XSLT à l'aide de la méthode Load, 3) Transformer le XML en HTML à l'aide de la méthode Transform, 4) Rendre le HTML en PDF à l'aide des options de rendu personnalisées d'IronPDF, et 5) Exporter le document PDF à l'emplacement de votre choix.

Puis-je appliquer un style personnalisé à ma conversion XML en PDF ?

Oui, vous pouvez appliquer un style CSS personnalisé pour améliorer la présentation visuelle de votre fichier PDF. IronPDF prend en charge le style CSS réactif, ce qui vous permet de créer des PDF formatés de manière professionnelle à partir de vos données XML, avec un contrôle total sur les polices, les mises en page et les éléments visuels.

Est-il possible de convertir du XML en PDF en une seule ligne de code ?

Oui, IronPDF permet la conversion XML vers PDF en une seule ligne en enchaînant les méthodes : new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf(XslCompiledTransform.Load("template.xslt").Transform(XmlReader.Create("data.xml"), new StringWriter()).ToString()).SaveAs("output.pdf") ;

Quel est le moteur de rendu utilisé pour la conversion de XML en PDF ?

IronPDF rend le HTML produit par votre transformation XSLT en utilisant un moteur de rendu Chromium, offrant une sortie pixel-parfaite et une compatibilité avec les standards web modernes. XML lui-même n'est jamais rendu directement ; c'est le HTML transformé qui devient le PDF.

Is a sample project available to understand XML to PDF conversion using IronPDF?

Yes, a runnable sample project for converting XML to PDF is available for download, providing a starting point for implementing this functionality in your own applications.

What are some common use cases for converting XML to PDF with IronPDF?

Common use cases include generating reports, invoices, catalogs, or any document where structured data needs to be presented in a professional and easily distributable format.

How is the HTML output managed during the XML transformation process?

During the transformation process, HTML output is typically managed using a `StringWriter` and an `XmlWriter`, which convert the XML based on the XSLT rules into an in-memory HTML string for further PDF conversion.

Can IronPDF handle pagination features for the generated PDFs?

Yes, IronPDF supports pagination features such as adding page numbers and footers through its rendering options, providing flexibility in creating structured, multi-page PDF documents.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Prêt à commencer ?

Nuget Downloads 21,105,021Version :2026.9vient de sortir

Obtenez votre GRATUIT

Clé d'essai de 30 jours instantanément.

bullet_checkedAucune carte de crédit ou création de compte requise
bullet_testTester en production
sans filigranes
bullet_calendarProduit entièrement fonctionnel
pendant 30 jours
bullet_supportSupport technique 24/5
pendant l'essai
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $

Vous avez une question ? Contactez notre équipe de développement.

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

OR
bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $