MemoryStream to PDF C#
我们可以在 C# .NET 中加载、创建和导出 MemoryStream 到 PDF 文件,甚至无需接触文件系统。这是通过 System.IO .NET 命名空间中的 MemoryStream 对象实现的。请按照下面的教程了解如何在 C# 项目中将 HTML 导出为 PDF。
如何用 C# 将 PDF 转换为 Memory流
开始在您的项目中使用IronPDF,并立即获取免费试用。
查看 IronPDF 上 Nuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变PDF。
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
将 PDF 保存到内存
IronPdf.PdfDocument 可以通过两种方式之一直接保存到内存中:
- IronPdf.PdfDocument.Stream 以 System.IO.MemoryStream 格式导出 PDF
- IronPdf.PdfDocument.BinaryData 将 PDF 输出为字节数组 (字节 [])
从内存向网络提供 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"}
使用 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()