Comment convertir des fichiers DOCX en PDF en utilisant C#

Comment convertir Microsoft Word en PDF en C#;

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

IronPDF permet aux développeurs C# de convertir des fichiers DOCX au format PDF à l'aide de la classe DocxToPdfRenderer par un simple appel de méthode en une ligne, en préservant tout le formatage et en prenant en charge la fonctionnalité Mail Merge pour la génération de documents par lots.

Un fichier DOCX est un document créé dans Microsoft Word, un programme de traitement de texte de la suite Microsoft Office fournie par Microsoft. Il utilise le standard Office Open XML (OOXML), ce qui le rend efficace et compatible avec divers logiciels. C'est le format par défaut des documents Word depuis Word 2007, remplaçant l'ancien format DOC lors de sa publication initiale. Le format DOCX offre plusieurs avantages, notamment la réduction de la taille des fichiers grâce à la compression ZIP, de meilleures capacités de récupération des données et une meilleure compatibilité entre les différentes plateformes.

IronPDF permet de convertir instantanément des documents Word en fichiers PDF et offre une fonction de publipostage permettant de générer des lots de documents personnalisés pour des destinataires individuels. La conversion de DOCX à PDF assure une compatibilité universelle, préserve la mise en forme et ajoute une couche de sécurité. Cette fonctionnalité est particulièrement utile lorsque vous devez distribuer des documents qui doivent conserver leur apparence exacte sur différents appareils et systèmes d'exploitation, à l'instar de la création de PDF à partir de HTML ou de la conversion d'images en PDF.

Démarrage rapide : Convertir DOCX en PDF avec IronPDF

Convertissez facilement des fichiers DOCX en PDF en C# avec IronPDF. Ce guide rapide démontre comment utiliser la classe DocxToPdfRenderer et la méthode RenderDocxAsPdf pour une conversion fluide avec une seule ligne de code. Parfait pour les développeurs cherchant à simplifier le traitement des documents, en s'assurant que le PDF résultant conserve toute la mise en forme originale et la compatibilité.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronPDF avec le gestionnaire de packages NuGet

    PM > Install-Package IronPdf

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

    new IronPdf.DocxToPdfRenderer()
        .RenderDocxAsPdf("document.docx")
        .SaveAs("output.pdf");
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronPDF dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer


Comment convertir un fichier DOCX en PDF?

IronPDF permet aux développeurs de convertir des documents Word en PDF de manière programmatique, en rationalisant l'efficacité et en leur permettant de s'intégrer dans des applications .NET existantes ou dans toute application multiplateforme du cadre .NET qu'ils pourraient avoir. La bibliothèque prend en charge diverses méthodes d'installation, notamment les packages NuGet, et peut être déployée sur plusieurs plateformes, dont Windows , Linux et macOS .

Le processus de conversion d'un fichier Microsoft Word en format PDF est simple. Nous commençons par instancier la classe DocxToPdfRenderer. Utilisez la méthode RenderDocxAsPdf de l'objet DocxToPdfRenderer en fournissant le chemin d'accès au fichier DOCX. Cette méthode renvoie un objet PdfDocument, ce qui vous permet de personnaliser davantage le PDF, notamment en ajoutant des en-têtes et pieds de page, en appliquant des marques d'eau ou en définissant des options de sécurité. Vous pouvez télécharger le fichier exemple de curriculum vitae chronologique moderne DOCX.

À quoi ressemble le document original?

Microsoft Word affichant un CV de pharmacien moderne avec des accents rouges dans un format chronologique

Comment écrire le code C#35?

De plus, la méthode RenderDocxAsPdf accepte également les données DOCX sous forme de bytes et de flux. Cette flexibilité vous permet de travailler avec des documents provenant de différentes sources, qu'ils soient stockés sur disque, en mémoire ou extraits d'une base de données. La méthode gère en interne toute la logique de conversion complexe, en veillant à ce que les polices, les images, les tableaux et le formatage soient préservés avec précision.

:path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-from-file.cs
using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
$vbLabelText   $csharpLabel

Pour des scénarios plus avancés, vous pouvez également convertir des tableaux d'octets ou des flux :

// Convert from byte array
byte[] docxBytes = File.ReadAllBytes("document.docx");
PdfDocument pdfFromBytes = renderer.RenderDocxAsPdf(docxBytes);

// Convert from stream
using (FileStream stream = new FileStream("document.docx", FileMode.Open))
{
    PdfDocument pdfFromStream = renderer.RenderDocxAsPdf(stream);
}
// Convert from byte array
byte[] docxBytes = File.ReadAllBytes("document.docx");
PdfDocument pdfFromBytes = renderer.RenderDocxAsPdf(docxBytes);

// Convert from stream
using (FileStream stream = new FileStream("document.docx", FileMode.Open))
{
    PdfDocument pdfFromStream = renderer.RenderDocxAsPdf(stream);
}
$vbLabelText   $csharpLabel

À quoi ressemblera le PDF converti?

Le PDF résultant conserve tout le formatage d'origine, y compris les polices, les couleurs, la mise en page et les images intégrées. IronPDF est donc idéal pour générer des documents professionnels qui doivent être partagés ou archivés dans un format accessible à tous.


Comment utiliser Mail Merge pour générer des PDF par lots?

<TODO : Ajouter une image ici -->

Le publipostage, situé dans l'onglet "Publipostage" dans Microsoft Word, vous permet de créer un lot de documents avec des informations personnalisées pour chaque destinataire ou entrée de données. Il est souvent utilisé pour générer des lettres personnalisées, des enveloppes, des étiquettes ou des messages électroniques, tels que des invitations, des bulletins d'information, ou des lettres types, où une grande partie du contenu est identique, mais certains détails varient pour chaque destinataire. Cette fonctionnalité est particulièrement puissante lorsqu'elle est associée à la capacité d'IronPDF à fusionner plusieurs PDF ou à générer des documents avec métadonnées personnalisées.

Quel modèle de données dois-je créer ?

Tout d'abord, créons un modèle pour stocker les informations qui seront fusionnées dans son espace réservé correspondant. Les noms des propriétés de votre modèle de données doivent correspondre exactement aux noms des champs de fusion de votre modèle Word (en respectant la casse).

:path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-mail-merge-model.cs
internal class RecipientsDataModel
{
    public string Date { get; set; }
    public string Location{ get; set; }
    public string Recipients_Name { get; set; }
    public string Contact_Us { get; set; }
}
internal class RecipientsDataModel
{
    public string Date { get; set; }
    public string Location{ get; set; }
    public string Recipients_Name { get; set; }
    public string Contact_Us { get; set; }
}
internal class RecipientsDataModel
{
    public string Date { get; set; }
    public string Location{ get; set; }
    public string Recipients_Name { get; set; }
    public string Contact_Us { get; set; }
}
$vbLabelText   $csharpLabel

J'ai modifié un modèle fourni par Microsoft Word pour nos besoins. Veuillez télécharger le fichier exemple d'invitation à une fête DOTX. Pour notre cas d'utilisation, définissons la propriété MailMergePrintAllInOnePdfDocument sur true, ce qui combine les PDF en un seul objet PdfDocument. Les champs de fusion que nous allons utiliser sont Date, Lieu, Nom du destinataire et Contactez-nous.

À quoi ressemble le modèle de publipostage ?

Modèle d'invitation à une fête avec publipostage Word affichant les champs de fusion et l'onglet Publipostage avec les outils de publipostage

Comment implémenter le code de publipostage?

La fonctionnalité Mail Merge d'IronPdf prend en charge diverses options de rendu qui peuvent être configurées par le biais de la classe DocxPdfRenderOptions. Cela vous permet de contrôler des aspects tels que l'orientation des pages, les marges, et de combiner tous les documents fusionnés en un seul PDF ou de générer des fichiers séparés.

:path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-mail-merge.cs
using IronPdf;
using System.Collections.Generic;
using System.Linq;

var recipients = new List<RecipientsDataModel>()
    {
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Olivia Smith",
            Contact_Us = "support@ironsoftware.com"
        },
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Ethan Davis",
            Contact_Us = "support@ironsoftware.com"
        },
    };

DocxToPdfRenderer docxToPdfRenderer = new DocxToPdfRenderer();

// Apply render options
DocxPdfRenderOptions options = new DocxPdfRenderOptions();

// Configure the output PDF to be combined into a single PDF document
options.MailMergePrintAllInOnePdfDocument = true;

// Convert DOTX to PDF
var pdfs = docxToPdfRenderer.RenderDocxMailMergeAsPdf<RecipientsDataModel>(
     recipients,
     "Party-invitation.dotx",
     options);

pdfs.First().SaveAs("mailMerge.pdf");
using IronPdf;
using System.Collections.Generic;
using System.Linq;

var recipients = new List<RecipientsDataModel>()
    {
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Olivia Smith",
            Contact_Us = "support@ironsoftware.com"
        },
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Ethan Davis",
            Contact_Us = "support@ironsoftware.com"
        },
    };

DocxToPdfRenderer docxToPdfRenderer = new DocxToPdfRenderer();

// Apply render options
DocxPdfRenderOptions options = new DocxPdfRenderOptions();

// Configure the output PDF to be combined into a single PDF document
options.MailMergePrintAllInOnePdfDocument = true;

// Convert DOTX to PDF
var pdfs = docxToPdfRenderer.RenderDocxMailMergeAsPdf<RecipientsDataModel>(
     recipients,
     "Party-invitation.dotx",
     options);

pdfs.First().SaveAs("mailMerge.pdf");
using IronPdf;
using System.Collections.Generic;
using System.Linq;

var recipients = new List<RecipientsDataModel>()
    {
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Olivia Smith",
            Contact_Us = "support@ironsoftware.com"
        },
        new RecipientsDataModel()
        {
            Date ="Saturday, October 15th, 2023",
            Location="Iron Software Cafe, Chiang Mai",
            Recipients_Name="Ethan Davis",
            Contact_Us = "support@ironsoftware.com"
        },
    };

DocxToPdfRenderer docxToPdfRenderer = new DocxToPdfRenderer();

// Apply render options
DocxPdfRenderOptions options = new DocxPdfRenderOptions();

// Configure the output PDF to be combined into a single PDF document
options.MailMergePrintAllInOnePdfDocument = true;

// Convert DOTX to PDF
var pdfs = docxToPdfRenderer.RenderDocxMailMergeAsPdf<RecipientsDataModel>(
     recipients,
     "Party-invitation.dotx",
     options);

pdfs.First().SaveAs("mailMerge.pdf");
$vbLabelText   $csharpLabel

À quoi ressemble le PDF fusionné final?

Une fois le document PDF créé, vous avez la flexibilité pour effectuer des changements supplémentaires. Il s'agit notamment de l'exporter en tant que PDF/A ou PDF/UA pour l'archivage et la conformité en matière d'accessibilité, ainsi que d'ajouter un certificat numérique pour l'authentification du document. Vous pouvez également manipuler des pages individuelles en fusionnant ou divisant des PDF, rotation de pages, et vous avez la possibilité d'appliquer des annotations et des marques-pages pour une meilleure navigation dans le document.

En dehors de ces fonctionnalités, IronPDF supporte également la conversion vers d'autres formats de documents. Par exemple, vous pouvez convertir Markdown en PDF, convertir RTF en PDF, ou même exporter des PDF en HTML. Pour de plus amples informations concernant les autres fonctionnalités offertes par IronPdf, veuillez consulter le tutoriel complet HTML to PDF.

Questions Fréquemment Posées

Comment convertir un fichier DOCX en PDF en C#?

Avec IronPDF, vous pouvez convertir DOCX en PDF en une seule ligne de code à l'aide de la classe DocxToPdfRenderer. Il vous suffit d'instancier DocxToPdfRenderer, d'appeler la méthode RenderDocxAsPdf avec le chemin d'accès de votre fichier DOCX et d'enregistrer le résultat à l'aide de la méthode SaveAs.

Qu'est-ce que la classe DocxToPdfRenderer ?

DocxToPdfRenderer est la classe d'IronPDF spécialisée dans la conversion de documents Microsoft Word au format PDF. Elle fournit une API simple qui permet aux développeurs de convertir des fichiers DOCX tout en préservant l'ensemble du formatage, de la mise en page et des propriétés du document d'origine.

La conversion de Word en PDF préserve-t-elle le formatage ?

Oui, DocxToPdfRenderer d'IronPDF préserve tout le formatage du document Word original, y compris les polices, les styles, les images, les tableaux et les mises en page, garantissant ainsi que la sortie PDF correspond exactement au fichier DOCX original.

Puis-je effectuer une fusion de courrier lors de la conversion de DOCX en PDF ?

Oui, IronPDF prend en charge la fonctionnalité de publipostage, ce qui vous permet de générer des lots personnalisés de documents PDF à partir d'un seul modèle DOCX. Cette fonctionnalité est particulièrement utile pour créer des documents personnalisés pour des destinataires individuels tout en conservant un formatage cohérent.

Quelles sont les principales étapes de la conversion de DOCX en PDF ?

Le processus se déroule en 5 étapes simples avec IronPDF : 1) Télécharger la bibliothèque C#, 2) Préparer votre fichier DOCX, 3) Instancier la classe DocxToPdfRenderer, 4) Utiliser la méthode RenderDocxAsPdf avec votre chemin d'accès au fichier, et 5) Utiliser éventuellement Mail Merge pour le traitement par lots.

Pourquoi devrais-je convertir des documents Word au format PDF ?

La conversion en PDF à l'aide d'IronPDF garantit une compatibilité universelle sur tous les appareils et plateformes, préserve le formatage et la mise en page exacts, ajoute des fonctions de sécurité des documents et empêche toute modification indésirable. Les PDF conservent leur apparence quel que soit le logiciel de visualisation ou le système d'exploitation.

La conversion de DOCX en PDF est-elle compatible avec différentes plateformes ?

Oui, IronPdf prend en charge le déploiement multiplateforme et peut être utilisé sur Windows, Linux et macOS. La bibliothèque fonctionne avec diverses applications .NET framework et propose plusieurs méthodes d'installation, notamment les packages NuGet.

Quels types de documents Word peuvent être convertis ?

IronPDF peut convertir des fichiers DOCX créés dans Microsoft Word 2007 ou une version ultérieure qui utilisent la norme Office Open XML (OOXML). Cela inclut les documents avec un formatage complexe, des images, des tableaux et d'autres fonctionnalités avancées de Word.

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 ...

Lire la suite
Revu par
Jeff Fritz
Jeffrey T. Fritz
Responsable principal du programme - Équipe de la communauté .NET
Jeff est également responsable principal du programme pour les équipes .NET et Visual Studio. Il est le producteur exécutif de la série de conférences virtuelles .NET Conf et anime 'Fritz and Friends', une diffusion en direct pour développeurs qui est diffusée deux fois par semaine où il parle de technologie et écrit du code avec les téléspectateurs. Jeff écrit des ateliers, des présentations et prévoit du contenu pour les plus grands événements de développement Microsoft, y compris Microsoft Build, Microsoft Ignite, .NET Conf et le sommet Microsoft MVP
Prêt à commencer?
Nuget Téléchargements 17,012,929 | Version : 2025.12 vient de sortir