IRONSOFTWAREHOME

Comment exporter et enregistrer des PDFs dans IronPDF C#

Curtis Chau
Curtis Chau
Updated: 29 juin 2026

IronPDF exporte un PdfDocument rendu en PDF en C# via SaveAs pour le disque, les propriétés Stream et BinaryData pour la mémoire, et SaveAsPdfA, SaveAsPdfUA et SaveAsRevision pour un fichier d'archivage, accessible et versionné. Chaque méthode prend un document déjà rendu et l'écrit vers la destination dont votre application a besoin, que ce soit un chemin de fichier, un tampon en mémoire ou une réponse HTTP.

Ce guide parcourt chaque cible d'exportation, d'une sauvegarde de fichier en une ligne jusqu'à servir un PDF directement dans un navigateur, et les méthodes qui produisent une sortie étiquetée de conformité.

Démarrage rapide : Exporter du HTML en PDF en C#

Rendre le HTML et écrire le résultat sur le disque en une seule instruction. L'appel RenderHtmlAsPdf retourne un PdfDocument, et SaveAs le sauvegarde.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

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

    new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>HelloPDF</h1>").SaveAs("myExportedFile.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

Quelles sont les options pour enregistrer des PDFs ?

IronPDF sauvegarde un PdfDocument vers quatre types de destination : un fichier sur le disque, un MemoryStream en mémoire, un byte[] brut, et un fichier étiqueté pour l'accessibilité, l'archivage ou la révision incrémentielle. Les sections ci-dessous couvrent chaque cible avec un exemple testé, en commençant par l'enregistrement de fichier le plus simple et en terminant par les méthodes d'exportation spécialisées.

Comment enregistrer un PDF sur le disque

Utilisez la méthode SaveAs pour écrire un PdfDocument vers un chemin de fichier. C'est la route directe pour les applications de bureau ou tout processus serveur qui garde les PDFs sur le système de fichiers.

// Complete example for saving PDF to disk
using IronPdf;

// Initialize the Chrome PDF renderer
var renderer = new ChromePdfRenderer();

// Create HTML content with styling
string htmlContent = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #333; }
        .content { line-height: 1.6; }
    </style>
</head>
<body>
    <h1>Invoice #12345</h1>
    <div class='content'>
        <p>Date: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
        <p>Thank you for your business!</p>
    </div>
</body>
</html>";

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Save to disk with standard method
pdf.SaveAs("invoice_12345.pdf");

// Save with password protection for sensitive documents
pdf.Password = "secure123";
pdf.SaveAs("protected_invoice_12345.pdf");

Le même exemple définit également la propriété Password avant une seconde sauvegarde, ce qui crypte le fichier de sorte qu'il ne peut pas être ouvert sans ce mot de passe. Pour un contrôle plus précis sur ce qu'un destinataire peut faire avec le fichier, consultez le guide sur les permissions et mots de passe PDF.

Sortie

Comment enregistrer un PDF dans un MemoryStream

La propriété Stream renvoie le document en tant que System.IO.MemoryStream. Utilisez-le lorsque vous devez transmettre le PDF à une autre méthode, le télécharger ou l'envoyer par e-mail sans écrire d'abord un fichier temporaire. Lisez plus sur travailler avec les flux de mémoire PDF.

// Example: Save PDF to MemoryStream
using IronPdf;
using System.IO;

var renderer = new ChromePdfRenderer();

// Render HTML content
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Monthly Report</h1><p>Sales figures...</p>");

// Get the PDF as a MemoryStream
MemoryStream stream = pdf.Stream;

// Example: Upload to cloud storage or database
// UploadToCloudStorage(stream);

// Example: Email as attachment without saving to disk
// EmailService.SendWithAttachment(stream, "report.pdf");

// Remember to dispose of the stream when done
stream.Dispose();

Sortie

Comment Enregistrer en Données Binaires

La propriété BinaryData renvoie le document en tant que byte[]. Un tableau d'octets convient aux colonnes de base de données, aux entrées de cache et aux API qui acceptent les octets bruts plutôt qu'un flux.

// Example: Convert PDF to binary data
using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure rendering options for better quality
renderer.RenderingOptions = new ChromePdfRenderOptions()
{
    MarginTop = 20,
    MarginBottom = 20,
    MarginLeft = 10,
    MarginRight = 10,
    PaperSize = IronPdf.Rendering.PdfPaperSize.A4
};

// Render content to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Contract Document</h1>");

// Get binary data
byte[] binaryData = pdf.BinaryData;

// Example: Store in database
// database.StorePdfDocument(documentId, binaryData);

// Example: Send via API
// apiClient.UploadDocument(binaryData);

Lorsque vous avez besoin de la direction inverse, charger des octets dans un fichier modifiable, le guide sur convertir des PDFs en MemoryStream le couvre.

Sortie

Comment servir un PDF depuis un serveur web vers le navigateur ?

Pour retourner un PDF sur HTTP, vous envoyez les octets comme réponse de fichier, pas comme HTML. Les deux Stream et BinaryData se branchent directement dans les types de résultats de fichier qu'ASP.NET fournit, de sorte que le contrôleur rend un document et le renvoie sans jamais toucher le disque.

Comment exporter un PDF en MVC ?

Dans ASP.NET Core MVC, enveloppez le Stream dans un FileStreamResult pour demander un téléchargement, ou passez BinaryData à File pour afficher le PDF en ligne. Les deux actions ci-dessous montrent les deux. Cela s'associe naturellement avec le rendu de vues CSHTML en PDF.

// MVC controller methods for PDF export
public IActionResult DownloadInvoice(int invoiceId)
{
    // Generate your HTML content
    string htmlContent = GenerateInvoiceHtml(invoiceId);

    // Render the PDF with IronPDF
    var renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

    // Take the PDF stream and rewind it
    MemoryStream stream = pdf.Stream;
    stream.Position = 0;

    // Returning a FileStreamResult prompts a download in the browser
    return new FileStreamResult(stream, "application/pdf")
    {
        FileDownloadName = $"invoice_{invoiceId}.pdf"
    };
}

public IActionResult ViewInvoice(int invoiceId)
{
    var renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf(GenerateInvoiceHtml(invoiceId));

    // Returning BinaryData with no filename displays the PDF inline
    return File(pdf.BinaryData, "application/pdf");
}
C#

Comment exporter un PDF en ASP.NET WebForms ?

Les applications WebForms traditionnelles ASP.NET écrivent les octets à travers l'objet Response à la place. Configurez les options de rendu une fois, tirez BinaryData, et diffusez-le au client.

// ASP.NET WebForms PDF export
protected void ExportButton_Click(object sender, EventArgs e)
{
    var renderer = new ChromePdfRenderer();

    // Configure rendering options
    renderer.RenderingOptions = new ChromePdfRenderOptions()
    {
        PaperSize = IronPdf.Rendering.PdfPaperSize.Letter,
        PrintHtmlBackgrounds = true,
        CreatePdfFormsFromHtml = true
    };

    // Render from custom HTML
    PdfDocument MyPdfDocument = renderer.RenderHtmlAsPdf(GetReportHtml());

    // Retrieve the PDF bytes
    byte[] Binary = MyPdfDocument.BinaryData;

    // Write the bytes to the response as a download
    Response.Clear();
    Response.ContentType = "application/octet-stream";
    Response.AddHeader("Content-Disposition",
        "attachment; filename=report_" + DateTime.Now.ToString("yyyyMMdd") + ".pdf");
    Context.Response.OutputStream.Write(Binary, 0, Binary.Length);
    Response.Flush();
    Response.End();
}
C#

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 exporter un PDF/A, PDF/UA, et des révisions ?

Au-delà des cibles de sauvegarde générales, IronPDF écrit trois formats spécifiques à la conformité. SaveAsPdfA produit un fichier d'archivage, SaveAsPdfUA produit un fichier accessible étiqueté, et SaveAsRevision ajoute une révision incrémentielle à un document existant.

Comment enregistrer un PDF/A Archive

SaveAsPdfA écrit un fichier autonome qui respecte la norme ISO PDF/A pour un stockage à long terme, intégrant les polices et les données de couleur nécessaires à un lecteur même des années plus tard. L'argument PdfAVersions sélectionne le niveau de conformité, tel que PdfA3b.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Render the document you want to archive
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Archived Document</h1>");

// Save as a PDF/A-3b file for long-term archiving.
// PdfAVersions controls the conformance level (PdfA1b, PdfA2b, PdfA3b, PdfA4, and others).
pdf.SaveAsPdfA("archive-pdfa.pdf", IronPdf.PdfAVersions.PdfA3b);
C#

Sortie

Comment enregistrer un fichier PDF/UA Accessible

SaveAsPdfUA écrit un PDF étiqueté qui respecte la norme d'accessibilité PDF/UA, sur laquelle les lecteurs d'écran comptent pour naviguer dans le document. Le troisième argument définit la langue du document afin que la technologie d'assistance le lise avec la bonne voix.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Render content that should be tagged for assistive technology
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Accessible Document</h1><p>Tagged for screen readers.</p>");

// Save as a PDF/UA-1 file. The last argument sets the document's primary
// language, which screen readers use to choose the correct voice.
pdf.SaveAsPdfUA("accessible-pdfua.pdf", IronPdf.PdfUAVersions.PdfUA1, IronPdf.NaturalLanguages.English_UnitedKingdom);
C#

Sortie

Comment enregistrer une révision incrémentale

SaveAsRevision ajoute des modifications à un fichier au lieu de le réécrire, de sorte que les révisions antérieures, y compris toutes signatures numériques, restent intactes. Le document doit être ouvert avec ChangeTrackingModes.EnableChangeTracking pour que la sauvegarde incrémentielle fonctionne.

using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Create and save the original revision of the document
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Versioned Document</h1>");
pdf.SaveAs("revision-base.pdf");

// Re-open with change tracking enabled so the next save appends a revision
// instead of rewriting the file. This preserves earlier signed revisions.
PdfDocument loaded = PdfDocument.FromFile("revision-base.pdf", null, null, ChangeTrackingModes.EnableChangeTracking);

// Write an incremental revision on top of the existing bytes
loaded.SaveAsRevision("revision-v2.pdf");
C#

Sortie

Comment exporter un PDF de manière asynchrone ?

Le rendu bloque le thread appelant jusqu'à ce que le moteur Chromium termine. Dans une requête web ou une interface utilisateur de bureau, appelez RenderHtmlAsPdfAsync à la place et attendez-le, puis enregistrez le document retourné avec la même méthode SaveAs. Cela libère le thread pendant que le rendu fonctionne.

using IronPdf;
using System.Threading.Tasks;

var renderer = new ChromePdfRenderer();

// Render off the calling thread so a web request or UI stays responsive
PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Async Generated PDF</h1>");

// SaveAs writes the finished document to disk once the render completes
pdf.SaveAs("async-render.pdf");
C#

Sortie

Conclusion

IronPDF exporte un PdfDocument rendu sur le disque, la mémoire, une réponse HTTP, ou un fichier étiqueté, chacun par une méthode unique sur le document que vous avez déjà construit. Choisissez la cible qui correspond à l'endroit où les octets doivent aller, et appliquez SaveAsPdfA, SaveAsPdfUA, ou SaveAsRevision lorsque le résultat doit respecter une norme d'archivage, d'accessibilité ou de versionnement.

À partir d'ici, gardez les octets hors du disque entièrement avec le flux de travail PDF memory stream, ou verrouillez un fichier enregistré à l'aide de permissions et mots de passe PDF.

Questions Fréquemment Posées

Comment exporter du contenu HTML au format PDF en C# ?

Vous pouvez exporter du HTML au format PDF en C# à l'aide de la classe ChromePdfRenderer d'IronPDF. Il vous suffit de créer une instance de rendu, d'utiliser la méthode RenderHtmlAsPdf() pour convertir votre contenu HTML, puis de l'enregistrer à l'aide de la méthode SaveAs(). IronPDF facilite la conversion de chaînes HTML, de fichiers ou d'URL directement en documents PDF.

Quelles sont les différentes méthodes pour enregistrer un PDF à l'aide de C# ?

IronPDF propose plusieurs méthodes pour enregistrer les PDF : SaveAs() pour l'enregistrement sur disque, Stream pour servir les PDF dans les applications web sans créer de fichiers temporaires, et BinaryData pour obtenir le PDF sous la forme d'un tableau d'octets. Chaque méthode d'IronPDF répond à différents cas d'utilisation, du simple stockage de fichiers à la diffusion dynamique sur le web.

Puis-je enregistrer un PDF sur la mémoire plutôt que sur le disque ?

Oui, IronPDF vous permet d'enregistrer des PDF en mémoire à l'aide de System.IO.MemoryStream. Ceci est utile pour les applications web où vous voulez servir les PDF directement aux utilisateurs sans créer de fichiers temporaires sur le serveur. Vous pouvez utiliser la propriété Stream ou convertir le PDF en données binaires.

Comment ajouter une protection par mot de passe lors de l'enregistrement d'un PDF ?

IronPDF permet la protection par mot de passe en définissant la propriété Password sur l'objet PdfDocument avant l'enregistrement. Il suffit d'attribuer une chaîne de mots de passe à pdf.Password, puis d'utiliser SaveAs() pour créer un fichier PDF protégé dont l'ouverture nécessite le mot de passe.

Puis-je envoyer un PDF directement aux navigateurs web sans l'enregistrer sur le disque ?

Oui, IronPDF vous permet de servir des PDF directement aux navigateurs web en tant que données binaires. Vous pouvez utiliser la propriété BinaryData pour obtenir le PDF sous la forme d'un tableau d'octets et le servir par le biais du flux de réponse de votre application web, ce qui élimine le besoin de stockage de fichiers temporaires.

Quel est le moyen le plus simple de convertir et d'enregistrer HTML en PDF en une seule ligne ?

IronPDF propose une solution en une ligne : new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("Votre HTML").SaveAs("output.pdf"). Cela permet de créer un moteur de rendu, de convertir le HTML en PDF et de l'enregistrer sur le disque en une seule instruction.

Can I password-protect a PDF using IronPDF?

Yes, IronPDF allows you to set a password on a `PdfDocument` via the `Password` property before saving it. This ensures that a PDF cannot be opened without the correct password.

What should I do if I need an accessible PDF conforming to PDF/UA standards?

You can create a PDF that conforms to PDF/UA standards using IronPDF by calling the `SaveAsPdfUA` method. This ensures that the document includes tags to aid navigation by screen readers.

How can I keep different versions of a PDF document?

IronPDF supports incremental saves with the `SaveAsRevision` method, which appends changes to an existing PDF file while preserving previous revisions, ideal for maintaining version history.

Why should I consider exporting PDFs using the PDF/A format?

Exporting PDFs in PDF/A format ensures that the document is self-contained and suitable for long-term archiving, as it includes all necessary components like fonts and color data to ensure fidelity over time.

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 $