MemoryStream to PDF C#

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

我們可以在 C# .NET 中加載、創建和導出 MemoryStream 為 PDF 檔案,而不需要接觸檔案系統。這通過 .NET 命名空間 System.IO 中的 MemoryStream 物件實現。請按照以下教程了解如何在您的 C# 專案中導出 HTML 為 PDF。


C# NuGet 程式庫用于 PDF

安裝與 NuGet

Install-Package IronPdf
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

C# NuGet 程式庫用于 PDF

安裝與 NuGet

Install-Package IronPdf
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

立即開始在您的專案中使用IronPDF,並享受免費試用。

第一步:
green arrow pointer

查看 IronPDFNuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變PDF。

C# NuGet 程式庫用于 PDF nuget.org/packages/IronPdf/
Install-Package IronPdf

請考慮安裝 IronPDF DLL 直接下載並手動安裝到您的專案或GAC表單: IronPdf.zip

手動安裝到您的項目中

下載DLL

從記憶體加載 PDF

可以在任何這些 .NET 記憶體內部物件中初始化一個新的 IronPdf.PdfDocument 實例:

  • MemoryStream
  • FileStream
  • 作為位元組數組的二進位資料 (位元組 [])

以下是一個將 URL 直接讀入流,然後使用 C# 將 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#