PDF to MemoryStream C#

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

Nous pouvons exporter un PDF vers MemoryStream en C# .NET sans même toucher au système de fichiers. C'est possible grâce à l'objet MemoryStream présent dans l'espace de noms System.IO de .NET.

Démarrage rapide : Convertir un PDF en MemoryStream

Convertissez sans effort vos fichiers PDF en un MemoryStream en utilisant l'API intuitive de IronPDF. Ce guide aide les développeurs à débuter rapidement avec le chargement d'un PDF et son exportation vers un MemoryStream, parfait pour une intégration sans faille dans les applications .NET. Suivez cet exemple simple pour améliorer vos capacités de gestion des PDF en C#.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    using var stream = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello Stream!</h1>").Stream;
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Flux de travail minimal (5 étapes)

  1. Téléchargez la bibliothèque IronPDF C# pour convertir MemoryStream en PDF
  2. Chargez un PDF existant en tant qu'objet PdfDocument
  3. Rendez un nouveau PDF à partir d'une URL ou d'une chaîne/fichier HTML
  4. Convertissez le PDF en un flux en utilisant la méthode Stream et la propriété BinaryData
  5. Servez le MemoryStream sur le Web, y compris MVC et ASP.NET

Enregistrer un PDF en mémoire

Un IronPdf.PdfDocument peut être enregistré directement en mémoire de deux manières :

:path=/static-assets/pdf/content-code-examples/how-to/pdf-to-memory-stream-to-stream.cs
using IronPdf;
using System.IO;

var renderer = new ChromePdfRenderer();

// Convert the URL into PDF
PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");

// Export PDF as Stream
MemoryStream pdfAsStream = pdf.Stream;

// Export PDF as Byte Array
byte[] pdfAsByte = pdf.BinaryData;
Imports IronPdf
Imports System.IO

Private renderer = New ChromePdfRenderer()

' Convert the URL into PDF
Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://ironpdf.com/")

' Export PDF as Stream
Private pdfAsStream As MemoryStream = pdf.Stream

' Export PDF as Byte Array
Private pdfAsByte() As Byte = pdf.BinaryData
$vbLabelText   $csharpLabel

Servir un PDF sur le Web depuis la mémoire

Pour servir ou exporter un PDF sur le web, vous devez envoyer le fichier PDF sous forme de données binaires au lieu de HTML. Vous pouvez trouver plus d'informations dans ce guide sur l'exportation et l'enregistrement de documents PDF en C#.

Voici un exemple rapide pour MVC et ASP.NET :

Exporter un PDF avec MVC

Le flux dans l'extrait de code ci-dessous est la donnée binaire récupérée depuis IronPDF. Le type MIME de la réponse est 'application/pdf', spécifiant le nom de fichier comme 'download.pdf'.

using System.Web.Mvc;
using System.IO;

public ActionResult ExportPdf()
{
    // Assume pdfAsStream is a MemoryStream containing PDF data
    MemoryStream pdfAsStream = new MemoryStream();

    return new FileStreamResult(pdfAsStream, "application/pdf")
    {
        FileDownloadName = "download.pdf"
    };
}
using System.Web.Mvc;
using System.IO;

public ActionResult ExportPdf()
{
    // Assume pdfAsStream is a MemoryStream containing PDF data
    MemoryStream pdfAsStream = new MemoryStream();

    return new FileStreamResult(pdfAsStream, "application/pdf")
    {
        FileDownloadName = "download.pdf"
    };
}
Imports System.Web.Mvc
Imports System.IO

Public Function ExportPdf() As ActionResult
	' Assume pdfAsStream is a MemoryStream containing PDF data
	Dim pdfAsStream As New MemoryStream()

	Return New FileStreamResult(pdfAsStream, "application/pdf") With {.FileDownloadName = "download.pdf"}
End Function
$vbLabelText   $csharpLabel

Exporter un PDF avec ASP.NET

Similaire à l'exemple ci-dessus, le flux est la donnée binaire récupérée depuis IronPDF. La réponse est ensuite configurée et vidée pour s'assurer qu'elle est envoyée au client.

using System.IO;
using System.Web;

public class PdfHandler : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        // Assume pdfAsStream is a MemoryStream containing PDF data
        MemoryStream pdfAsStream = new MemoryStream();

        context.Response.Clear();
        context.Response.ContentType = "application/octet-stream";
        context.Response.OutputStream.Write(pdfAsStream.ToArray(), 0, (int)pdfAsStream.Length);
        context.Response.Flush();
    }

    public bool IsReusable => false;
}
using System.IO;
using System.Web;

public class PdfHandler : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        // Assume pdfAsStream is a MemoryStream containing PDF data
        MemoryStream pdfAsStream = new MemoryStream();

        context.Response.Clear();
        context.Response.ContentType = "application/octet-stream";
        context.Response.OutputStream.Write(pdfAsStream.ToArray(), 0, (int)pdfAsStream.Length);
        context.Response.Flush();
    }

    public bool IsReusable => false;
}
Imports System.IO
Imports System.Web

Public Class PdfHandler
	Implements IHttpHandler

	Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
		' Assume pdfAsStream is a MemoryStream containing PDF data
		Dim pdfAsStream As New MemoryStream()

		context.Response.Clear()
		context.Response.ContentType = "application/octet-stream"
		context.Response.OutputStream.Write(pdfAsStream.ToArray(), 0, CInt(pdfAsStream.Length))
		context.Response.Flush()
	End Sub

	Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
		Get
			Return False
		End Get
	End Property
End Class
$vbLabelText   $csharpLabel

Questions Fréquemment Posées

Comment puis-je convertir un PDF en MemoryStream en C# ?

Vous pouvez convertir un PDF en MemoryStream en C# en utilisant IronPDF. Chargez votre PDF en tant qu'objet PdfDocument, et utilisez la propriété PdfDocument.Stream pour l'exporter en tant que System.IO.MemoryStream.

Quelles sont les méthodes pour enregistrer un PDF en mémoire en utilisant IronPDF ?

IronPDF fournit deux méthodes pour enregistrer un PDF en mémoire : en utilisant PdfDocument.Stream pour l'exporter comme MemoryStream et PdfDocument.BinaryData pour l'exporter comme tableau d'octets.

Comment puis-je diffuser un PDF en tant que données binaires dans une application ASP.NET ?

Dans une application ASP.NET, vous pouvez diffuser un PDF en tant que données binaires en configurant l'objet Response pour envoyer le MemoryStream avec le type MIME 'application/pdf'.

Est-il possible de créer un PDF à partir de HTML en C# ?

Oui, vous pouvez générer un PDF à partir d'une chaîne ou d'un fichier HTML en utilisant l'objet PdfDocument d'IronPDF, qui peut ensuite être converti en MemoryStream.

Comment manipuler des fichiers PDF en mémoire pour les applications web ?

Vous pouvez manipuler entièrement des fichiers PDF en mémoire pour les applications web en utilisant IronPDF en exportant le PDF dans un MemoryStream et en le servant directement aux clients, évitant ainsi les interactions avec le système de fichiers.

Quels sont les avantages d'utiliser MemoryStream pour les opérations PDF dans .NET ?

Utiliser MemoryStream pour les opérations PDF dans .NET permet une gestion efficace de la mémoire et une sécurité accrue en gardant les données en mémoire et en évitant les écritures sur disque, ce qui est particulièrement utile dans les applications web.

Puis-je convertir un MemoryStream en fichier PDF en C# ?

Oui, un MemoryStream contenant des données PDF peut être enregistré en tant que fichier PDF en utilisant IronPDF en écrivant le contenu du flux dans un fichier.

Comment puis-je exporter un fichier PDF dans une application web MVC ?

Dans une application web MVC, vous pouvez exporter un PDF en utilisant un MemoryStream contenant les données PDF et en le retournant en tant que FileStreamResult, en définissant le type MIME sur 'application/pdf'.

IronPDF est-il entièrement compatible avec .NET 10 pour les opérations sur les flux de mémoire ?

Oui, IronPDF est officiellement compatible avec .NET 10. La bibliothèque prend en charge .NET 10 ainsi que les versions 9, 8, 7, 6, 5 et .NET Standard 2.0 et supérieures. Vous pouvez utiliser PdfDocument.Stream ou PdfDocument.BinaryData dans les projets .NET 10 sans configuration supplémentaire.

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
Prêt à commencer?
Nuget Téléchargements 16,154,058 | Version : 2025.11 vient de sortir