PDF 到 MemoryStream C#
我們可以在 C# .NET 中將 PDF 匯出到 MemoryStream,而無需觸及檔案系統。 這可以透過位於 System.IO .NET 命名空間內的 MemoryStream 物件來實現。
開始使用 IronPDF
立即在您的專案中使用IronPDF,並享受免費試用。
如何在 C# 中將 MemoryStream 轉換為 PDF
- 下載 IronPDF C# 庫以將 MemoryStream 轉換為 PDF
- 加載現有的 PDF 為 PdfDocument 對象
- 從 URL 或 HTML 字串/檔案生成新的 PDF
- 使用以下方式將 PDF 轉換為 Stream
資料流
方法 和 二進位資料 屬性 - 將 MemoryStream 提供給 Web,包括 MVC 和 ASP.NET。
將PDF保存到內存
IronPdf.PdfDocument 可以通過兩種方式之一直接保存到內存中:
-IronPdf.PdfDocument.Stream將 PDF 輸出為 System.IO.MemoryStream
-IronPdf.PdfDocument.BinaryData將 PDF 匯出為位元組陣列(位元組[])
: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
將 PDF 從內存中提供給網絡
要在網絡上提供或匯出 PDF,您需要以二進制數據而非 HTML 發送 PDF 文件。 您可以在此查看更多信息在 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"}
使用 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()