MemoryStream to PDF C#

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

我们可以在 C# .NET 中加载、创建和导出 MemoryStream 到 PDF 文件,甚至无需接触文件系统。这是通过 System.IO .NET 命名空间中的 MemoryStream 对象实现的。请按照下面的教程了解如何在 C# 项目中将 HTML 导出为 PDF。


适用于PDF的C# NuGet库

安装使用 NuGet

Install-Package IronPdf
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

适用于PDF的C# NuGet库

安装使用 NuGet

Install-Package IronPdf
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

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

第一步:
green arrow pointer

查看 IronPDFNuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变PDF。

适用于PDF的C# NuGet库 nuget.org/packages/IronPdf/
Install-Package IronPdf

考虑安装 IronPDF DLL 直接。下载并手动安装到您的项目或GAC表单中: IronPdf.zip

手动安装到你的项目中

下载DLL

从内存中加载 PDF 文件

一个新的 "IronPdf.PdfDocument "实例可以在任何这些.NET内存对象中初始化:

  • 内存流
  • 文件流
  • 作为字节数组的二进制数据 (字节 [])

下面是一个使用 C# 将 URL 直接读入流,然后将 PDF 文件保存到磁盘的示例:

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

var renderer = new IronPdf.ChromePdfRenderer();

// Conversion of the URL into PDF
Uri url = new Uri("https://ironpdf.com/how-to/pdf-memory-stream/");

MemoryStream pdfAsStream = renderer.RenderUrlAsPdf(url).Stream; //Read stream
Imports System
Imports System.IO

Private renderer = New IronPdf.ChromePdfRenderer()

' Conversion of the URL into PDF
Private url As New Uri("https://ironpdf.com/how-to/pdf-memory-stream/")

Private pdfAsStream As MemoryStream = renderer.RenderUrlAsPdf(url).Stream 'Read stream
VB   C#

将 PDF 保存到内存

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


从内存向网络提供 PDF 文件

要将 PDF 发送或导出到网络,需要将 PDF 文件作为二进制数据而不是 HTML 发送。您可以在此了解更多有关 用 C# 保存和导出 PDF 文档.

下面是一个 MVC 和 ASP.NET 的快速示例:

用 MVC 导出 PDF

下面代码片段中的数据流是从 IronPDF 获取的二进制数据。响应的 MIME 类型为 "application/pdf",文件名指定为 "downloadedfile.pdf"。

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

使用 ASP.NET 导出 PDF

与上面的示例类似,流是从 IronPDF 获取的二进制数据。然后对 Response 进行配置和刷新,以确保将其发送到客户端。

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#