PDF到MemoryStream C

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

我们可以在 C# .NET 中导出 PDF 到 MemoryStream,而无需接触文件系统。 这是通过存在于 System.IO .NET 命名空间中的 MemoryStream 对象实现的。

开始使用IronPDF

立即在您的项目中开始使用IronPDF,并享受免费试用。

第一步:
green arrow pointer



将 PDF 保存到内存中

可以通过两种方式之一直接将IronPdf.PdfDocument保存到内存中:

: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
VB   C#

将PDF从内存中提供到网页上

要在网上提供或导出 PDF,您需要将 PDF 文件作为二进制数据发送,而不是 HTML。 您可以在此了解更多信息用 C# 导出和保存 PDF 文档指南.

以下是一个关于MVC和ASP.NET的快速示例:

使用MVC导出PDF

以下代码片段中的流是从IronPDF检索到的二进制数据。 响应的MIME类型是'application/pdf',指定文件名为'download.pdf'。

return new FileStreamResult(pdfAsStream, "application/pdf")
{
    FileDownloadName = "download.pdf"
};
return new FileStreamResult(pdfAsStream, "application/pdf")
{
    FileDownloadName = "download.pdf"
};
Return New FileStreamResult(pdfAsStream, "application/pdf") With {.FileDownloadName = "download.pdf"}
VB   C#

使用ASP.NET导出PDF

与上面的示例类似,该流是从IronPDF检索到的二进制数据。 响应随后被配置并清空,以确保其被发送到客户端。

Response.Clear();

Response.ContentType = "application/octet-stream";

Context.Response.OutputStream.Write(pdfAsStream, 0, stream.Length);

Response.Flush();
Response.Clear();

Response.ContentType = "application/octet-stream";

Context.Response.OutputStream.Write(pdfAsStream, 0, stream.Length);

Response.Flush();
Response.Clear()

Response.ContentType = "application/octet-stream"

Context.Response.OutputStream.Write(pdfAsStream, 0, stream.Length)

Response.Flush()
VB   C#