MemoryStream to PDF C#;
我们可以在C# .NET中加载、创建并导出MemoryStream到PDF文件,而无需接触文件系统。 这是通过存在于 System.IO .NET 命名空间中的 MemoryStream 对象实现的。 请按照以下教程,了解如何在您的C#项目中将HTML导出为PDF。
开始使用IronPDF
立即在您的项目中开始使用IronPDF,并享受免费试用。
如何用 C# 将 PDF 转换为 MemoryStream
从内存加载PDF
可以在以下任何一个 .NET 内存对象中初始化 IronPdf.PdfDocument
的新实例:
- 内存流
- 文件流
二进制数据作为字节数组(字节[])
以下是一个示例,展示了如何使用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将 PDF 导出为 System.IO.MemoryStream
- 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.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()