C#에서 PDF를 MemoryStream으로 변환하는 방법
IronPDF의 Stream 속성 또는 BinaryData 속성을 사용하여 C# .NET 에서 PDF를 MemoryStream으로 변환하면 웹 애플리케이션 및 데이터 처리에서 파일 시스템 접근 없이 메모리 내에서 PDF를 조작할 수 있습니다.
C# .NET 에서는 파일 시스템을 건드리지 않고 PDF 파일을 MemoryStream으로 내보낼 수 있습니다. 이것은 MemoryStream 객체가 System.IO .NET 네임스페이스 내에 존재함으로써 가능합니다. 이 접근 방식은 클라우드 기반 애플리케이션을 개발하거나 Azure Blob Storage를 사용 하거나 성능 최적화를 위해 메모리에서 PDF를 처리해야 할 때 특히 유용합니다.
메모리 스트림에서 PDF를 처리하는 기능은 최신 웹 애플리케이션에 필수적이며, 특히 파일 시스템 액세스가 제한될 수 있는 Azure 또는 기타 클라우드 플랫폼에 배포하거나 디스크 I/O 작업의 오버헤드를 피하려는 경우에 더욱 중요합니다. IronPDF 스트림 조작을 위한 내장 메서드를 통해 이 프로세스를 간소화합니다.
빠른 시작: IronPDF로 PDF 변환 — PDF를 MemoryStream으로 변환
IronPDF API를 사용하여 PDF 파일을 MemoryStream으로 변환하세요. 이 가이드는 개발자가 PDF 파일을 불러와 .NET 애플리케이션에 통합하기 위해 MemoryStream으로 내보내는 방법을 안내합니다. 이 예제를 따라 C#에서 PDF 처리 기능을 구현해 보세요.
최소 워크플로우(5단계)
- MemoryStream을 PDF로 변환하려면 IronPDF C# 라이브러리를 다운로드하세요.
- 기존 PDF 파일을 **`PdfDocument`** 객체로 불러오기
- URL 또는 HTML 문자열/파일에서 새 PDF를 렌더링합니다.
- `Stream` 메서드와 **`BinaryData`** 속성을 사용하여 PDF를 스트림으로 변환합니다.
- MemoryStream을 MVC 및 ASP.NET을 포함한 웹 환경에 제공합니다.
PDF 파일을 메모리에 저장하는 방법은 무엇인가요?
IronPdf.PdfDocument 은(는) 두 가지 방법 중 하나로 메모리에 직접 저장될 수 있습니다:
IronPdf.PdfDocument.Stream은(는) PDF를System.IO.MemoryStream으로 내보냅니다IronPdf.PdfDocument.BinaryData은(는) PDF를 바이트 배열(byte[])로 내보냅니다
Stream과 BinaryData 중 어떤 것을 사용할지는 특정 사용 사례에 따라 달라집니다. MemoryStream은 스트림 기반 API를 사용해야 하거나 다른 .NET 스트림 작업과의 호환성을 유지하려는 경우에 이상적입니다. 바이트 배열 형태의 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를 불러 와야 할 때, IronPDF 이미 메모리에 있는 PDF를 편리하게 처리할 수 있는 방법을 제공합니다.
using IronPdf;
using System.IO;
// Load PDF from byte array
byte[] pdfBytes = File.ReadAllBytes("existing.pdf");
PdfDocument pdfFromBytes = PdfDocument.FromFile(new MemoryStream(pdfBytes));
// Or directly from a MemoryStream
MemoryStream memoryStream = new MemoryStream(pdfBytes);
PdfDocument pdfFromStream = PdfDocument.FromFile(memoryStream);
// Modify the PDF (add watermark, headers, etc.)
// Then export back to memory
byte[] modifiedPdfBytes = pdfFromStream.BinaryData;
using IronPdf;
using System.IO;
// Load PDF from byte array
byte[] pdfBytes = File.ReadAllBytes("existing.pdf");
PdfDocument pdfFromBytes = PdfDocument.FromFile(new MemoryStream(pdfBytes));
// Or directly from a MemoryStream
MemoryStream memoryStream = new MemoryStream(pdfBytes);
PdfDocument pdfFromStream = PdfDocument.FromFile(memoryStream);
// Modify the PDF (add watermark, headers, etc.)
// Then export back to memory
byte[] modifiedPdfBytes = pdfFromStream.BinaryData;
Imports IronPdf
Imports System.IO
' Load PDF from byte array
Dim pdfBytes As Byte() = File.ReadAllBytes("existing.pdf")
Dim pdfFromBytes As PdfDocument = PdfDocument.FromFile(New MemoryStream(pdfBytes))
' Or directly from a MemoryStream
Dim memoryStream As New MemoryStream(pdfBytes)
Dim pdfFromStream As PdfDocument = PdfDocument.FromFile(memoryStream)
' Modify the PDF (add watermark, headers, etc.)
' Then export back to memory
Dim modifiedPdfBytes As Byte() = pdfFromStream.BinaryData
고급 메모리 스트림 연산
HTML 문자열에서 PDF를 생성 하거나 여러 이미지를 PDF로 변환하는 것과 같은 더 복잡한 시나리오의 경우, 모든 작업을 메모리에 유지하면서 여러 작업을 결합할 수 있습니다.
using IronPdf;
using System.IO;
using System.Collections.Generic;
// Create multiple PDFs in memory
var renderer = new ChromePdfRenderer();
List<MemoryStream> pdfStreams = new List<MemoryStream>();
// Generate multiple PDFs from HTML
string[] htmlTemplates = {
"<h1>Report 1</h1><p>Content...</p>",
"<h1>Report 2</h1><p>Content...</p>"
};
foreach (var html in htmlTemplates)
{
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdfStreams.Add(pdf.Stream);
}
// Merge all PDFs in memory
PdfDocument mergedPdf = PdfDocument.Merge(pdfStreams.Select(s =>
PdfDocument.FromFile(s)).ToList());
// Get the final merged PDF as a stream
MemoryStream finalStream = mergedPdf.Stream;
using IronPdf;
using System.IO;
using System.Collections.Generic;
// Create multiple PDFs in memory
var renderer = new ChromePdfRenderer();
List<MemoryStream> pdfStreams = new List<MemoryStream>();
// Generate multiple PDFs from HTML
string[] htmlTemplates = {
"<h1>Report 1</h1><p>Content...</p>",
"<h1>Report 2</h1><p>Content...</p>"
};
foreach (var html in htmlTemplates)
{
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdfStreams.Add(pdf.Stream);
}
// Merge all PDFs in memory
PdfDocument mergedPdf = PdfDocument.Merge(pdfStreams.Select(s =>
PdfDocument.FromFile(s)).ToList());
// Get the final merged PDF as a stream
MemoryStream finalStream = mergedPdf.Stream;
Imports IronPdf
Imports System.IO
Imports System.Collections.Generic
Imports System.Linq
' Create multiple PDFs in memory
Dim renderer As New ChromePdfRenderer()
Dim pdfStreams As New List(Of MemoryStream)()
' Generate multiple PDFs from HTML
Dim htmlTemplates As String() = {
"<h1>Report 1</h1><p>Content...</p>",
"<h1>Report 2</h1><p>Content...</p>"
}
For Each html As String In htmlTemplates
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdfStreams.Add(pdf.Stream)
Next
' Merge all PDFs in memory
Dim mergedPdf As PdfDocument = PdfDocument.Merge(pdfStreams.Select(Function(s) PdfDocument.FromFile(s)).ToList())
' Get the final merged PDF as a stream
Dim finalStream As MemoryStream = mergedPdf.Stream
메모리에서 PDF 파일을 웹에 제공하려면 어떻게 해야 하나요?
웹에서 PDF를 제공하거나 내보내려면 PDF 파일을 HTML 형식이 아닌 바이너리 데이터로 전송해야 합니다. C#에서 PDF 문서를 내보내고 저장하는 방법에 대한 자세한 내용은 이 가이드를 참조하십시오. 웹 애플리케이션, 특히ASP.NET MVC 환경 에서 작업할 때 메모리 스트림을 통해 PDF를 제공하면 성능 향상 및 서버 디스크 사용량 감소를 포함한 여러 가지 이점이 있습니다.
MVC와 ASP.NET 사용한 간단한 예시를 보여드리겠습니다.
MVC를 사용하여 PDF로 내보내는 방법은 무엇인가요?
아래 코드 조각의 스트림은 IronPDF 에서 가져온 바이너리 데이터입니다. 응답의 MIME 유형은 'application/pdf'이며 파일 이름은 'download.pdf'로 지정되어 있습니다. 이 접근 방식은 최신 MVC 애플리케이션과 완벽하게 호환되며 기존 컨트롤러에 통합할 수 있습니다.
using System.Web.Mvc;
using System.IO;
public ActionResult ExportPdf()
{
// Assume pdfAsStream is a MemoryStream containing PDF data
MemoryStream pdfAsStream = new MemoryStream();
return new FileStreamResult(pdfAsStream, "application/pdf")
{
FileDownloadName = "download.pdf"
};
}
using System.Web.Mvc;
using System.IO;
public ActionResult ExportPdf()
{
// Assume pdfAsStream is a MemoryStream containing PDF data
MemoryStream pdfAsStream = new MemoryStream();
return new FileStreamResult(pdfAsStream, "application/pdf")
{
FileDownloadName = "download.pdf"
};
}
Imports System.Web.Mvc
Imports System.IO
Public Function ExportPdf() As ActionResult
' Assume pdfAsStream is a MemoryStream containing PDF data
Dim pdfAsStream As New MemoryStream()
Return New FileStreamResult(pdfAsStream, "application/pdf") With {.FileDownloadName = "download.pdf"}
End Function
Razor Pages를 사용 하거나 사용자 지정 헤더를 구현해야 하는 경우와 같은 고급 시나리오의 경우:
using System.Web.Mvc;
using IronPdf;
public ActionResult GenerateReport(string reportType)
{
var renderer = new ChromePdfRenderer();
// Configure rendering options for better output
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
// Generate PDF based on report type
string htmlContent = GetReportHtml(reportType);
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Add metadata
pdf.MetaData.Author = "Your Application";
pdf.MetaData.Title = $"{reportType} Report";
// Return as downloadable file
return File(pdf.Stream, "application/pdf",
$"{reportType}_Report_{DateTime.Now:yyyyMMdd}.pdf");
}
using System.Web.Mvc;
using IronPdf;
public ActionResult GenerateReport(string reportType)
{
var renderer = new ChromePdfRenderer();
// Configure rendering options for better output
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
// Generate PDF based on report type
string htmlContent = GetReportHtml(reportType);
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Add metadata
pdf.MetaData.Author = "Your Application";
pdf.MetaData.Title = $"{reportType} Report";
// Return as downloadable file
return File(pdf.Stream, "application/pdf",
$"{reportType}_Report_{DateTime.Now:yyyyMMdd}.pdf");
}
Imports System.Web.Mvc
Imports IronPdf
Public Function GenerateReport(reportType As String) As ActionResult
Dim renderer As New ChromePdfRenderer()
' Configure rendering options for better output
renderer.RenderingOptions.MarginTop = 50
renderer.RenderingOptions.MarginBottom = 50
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
' Generate PDF based on report type
Dim htmlContent As String = GetReportHtml(reportType)
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
' Add metadata
pdf.MetaData.Author = "Your Application"
pdf.MetaData.Title = $"{reportType} Report"
' Return as downloadable file
Return File(pdf.Stream, "application/pdf", $"{reportType}_Report_{DateTime.Now:yyyyMMdd}.pdf")
End Function
ASP.NET 사용하여 PDF로 내보내는 방법은 무엇인가요?
위의 예시와 마찬가지로, 스트림은 IronPDF 에서 가져온 바이너리 데이터입니다. 그런 다음 응답이 구성되고 전송되어 클라이언트로 전달되도록 합니다. 이 방법은 특히 ASP.NET 웹 폼 애플리케이션 이나 HTTP 응답에 대한 더 많은 제어가 필요한 경우에 유용합니다.
using System.IO;
using System.Web;
public class PdfHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
// Assume pdfAsStream is a MemoryStream containing PDF data
MemoryStream pdfAsStream = new MemoryStream();
context.Response.Clear();
context.Response.ContentType = "application/octet-stream";
context.Response.OutputStream.Write(pdfAsStream.ToArray(), 0, (int)pdfAsStream.Length);
context.Response.Flush();
}
public bool IsReusable => false;
}
using System.IO;
using System.Web;
public class PdfHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
// Assume pdfAsStream is a MemoryStream containing PDF data
MemoryStream pdfAsStream = new MemoryStream();
context.Response.Clear();
context.Response.ContentType = "application/octet-stream";
context.Response.OutputStream.Write(pdfAsStream.ToArray(), 0, (int)pdfAsStream.Length);
context.Response.Flush();
}
public bool IsReusable => false;
}
Imports System.IO
Imports System.Web
Public Class PdfHandler
Implements IHttpHandler
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
' Assume pdfAsStream is a MemoryStream containing PDF data
Dim pdfAsStream As New MemoryStream()
context.Response.Clear()
context.Response.ContentType = "application/octet-stream"
context.Response.OutputStream.Write(pdfAsStream.ToArray(), 0, CInt(pdfAsStream.Length))
context.Response.Flush()
End Sub
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
최신 ASP.NET Core 애플리케이션의 경우, 이 과정은 훨씬 더 간소화되었습니다.
using Microsoft.AspNetCore.Mvc;
using IronPdf;
using System.Threading.Tasks;
[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
[HttpGet("generate")]
public async Task<IActionResult> GeneratePdf()
{
var renderer = new ChromePdfRenderer();
// Render HTML to PDF asynchronously for better performance
PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Dynamic PDF</h1>");
// Return PDF as file stream
return File(pdf.Stream, "application/pdf", "generated.pdf");
}
[HttpPost("convert")]
public async Task<IActionResult> ConvertHtmlToPdf([FromBody] string htmlContent)
{
var renderer = new ChromePdfRenderer();
// Apply custom styling and rendering options
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync(htmlContent);
// Stream directly to response without saving to disk
return File(pdf.Stream, "application/pdf");
}
}
using Microsoft.AspNetCore.Mvc;
using IronPdf;
using System.Threading.Tasks;
[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
[HttpGet("generate")]
public async Task<IActionResult> GeneratePdf()
{
var renderer = new ChromePdfRenderer();
// Render HTML to PDF asynchronously for better performance
PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Dynamic PDF</h1>");
// Return PDF as file stream
return File(pdf.Stream, "application/pdf", "generated.pdf");
}
[HttpPost("convert")]
public async Task<IActionResult> ConvertHtmlToPdf([FromBody] string htmlContent)
{
var renderer = new ChromePdfRenderer();
// Apply custom styling and rendering options
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync(htmlContent);
// Stream directly to response without saving to disk
return File(pdf.Stream, "application/pdf");
}
}
Imports Microsoft.AspNetCore.Mvc
Imports IronPdf
Imports System.Threading.Tasks
<ApiController>
<Route("api/[controller]")>
Public Class PdfController
Inherits ControllerBase
<HttpGet("generate")>
Public Async Function GeneratePdf() As Task(Of IActionResult)
Dim renderer As New ChromePdfRenderer()
' Render HTML to PDF asynchronously for better performance
Dim pdf As PdfDocument = Await renderer.RenderHtmlAsPdfAsync("<h1>Dynamic PDF</h1>")
' Return PDF as file stream
Return File(pdf.Stream, "application/pdf", "generated.pdf")
End Function
<HttpPost("convert")>
Public Async Function ConvertHtmlToPdf(<FromBody> htmlContent As String) As Task(Of IActionResult)
Dim renderer As New ChromePdfRenderer()
' Apply custom styling and rendering options
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
renderer.RenderingOptions.PrintHtmlBackgrounds = True
Dim pdf As PdfDocument = Await renderer.RenderHtmlAsPdfAsync(htmlContent)
' Stream directly to response without saving to disk
Return File(pdf.Stream, "application/pdf")
End Function
End Class
메모리 스트림 관리 모범 사례
웹 애플리케이션에서 PDF 메모리 스트림을 사용할 때는 다음과 같은 모범 사례를 고려하십시오.
-
리소스를 적절히 처분하기: 항상
using문장을 사용하거나MemoryStream객체를 명시적으로 폐기하여 메모리 누수를 방지하세요. -
비동기 작업 : 확장성을 높이려면, 특히 비동기 작업을 처리할 때, 가능한 경우 비동기 메서드를 사용하십시오.
-
스트림 크기 고려 사항 : 대용량 PDF의 경우, 전체 PDF를 한 번에 메모리에 로드하는 것을 방지하기 위해 스트리밍 응답을 구현하는 것을 고려하십시오.
- 캐싱 : 자주 액세스하는 PDF의 경우, 성능 향상을 위해 바이트 배열을 메모리에 캐싱하거나 분산 캐시를 사용하는 것을 고려해 보세요.
// Example of proper resource management with caching
public class PdfService
{
private readonly IMemoryCache _cache;
private readonly ChromePdfRenderer _renderer;
public PdfService(IMemoryCache cache)
{
_cache = cache;
_renderer = new ChromePdfRenderer();
}
public async Task<byte[]> GetCachedPdfAsync(string cacheKey, string htmlContent)
{
// Try to get from cache first
if (_cache.TryGetValue(cacheKey, out byte[] cachedPdf))
{
return cachedPdf;
}
// Generate PDF if not in cache
using (var pdf = await _renderer.RenderHtmlAsPdfAsync(htmlContent))
{
byte[] pdfBytes = pdf.BinaryData;
// Cache for 10 minutes
_cache.Set(cacheKey, pdfBytes, TimeSpan.FromMinutes(10));
return pdfBytes;
}
}
}
// Example of proper resource management with caching
public class PdfService
{
private readonly IMemoryCache _cache;
private readonly ChromePdfRenderer _renderer;
public PdfService(IMemoryCache cache)
{
_cache = cache;
_renderer = new ChromePdfRenderer();
}
public async Task<byte[]> GetCachedPdfAsync(string cacheKey, string htmlContent)
{
// Try to get from cache first
if (_cache.TryGetValue(cacheKey, out byte[] cachedPdf))
{
return cachedPdf;
}
// Generate PDF if not in cache
using (var pdf = await _renderer.RenderHtmlAsPdfAsync(htmlContent))
{
byte[] pdfBytes = pdf.BinaryData;
// Cache for 10 minutes
_cache.Set(cacheKey, pdfBytes, TimeSpan.FromMinutes(10));
return pdfBytes;
}
}
}
Imports System
Imports System.Threading.Tasks
' Example of proper resource management with caching
Public Class PdfService
Private ReadOnly _cache As IMemoryCache
Private ReadOnly _renderer As ChromePdfRenderer
Public Sub New(cache As IMemoryCache)
_cache = cache
_renderer = New ChromePdfRenderer()
End Sub
Public Async Function GetCachedPdfAsync(cacheKey As String, htmlContent As String) As Task(Of Byte())
' Try to get from cache first
Dim cachedPdf As Byte() = Nothing
If _cache.TryGetValue(cacheKey, cachedPdf) Then
Return cachedPdf
End If
' Generate PDF if not in cache
Using pdf = Await _renderer.RenderHtmlAsPdfAsync(htmlContent)
Dim pdfBytes As Byte() = pdf.BinaryData
' Cache for 10 minutes
_cache.Set(cacheKey, pdfBytes, TimeSpan.FromMinutes(10))
Return pdfBytes
End Using
End Function
End Class
이러한 패턴을 따르고 IronPDF의 메모리 스트림 기능을 활용하면 파일 시스템 작업에 의존하지 않고 PDF 생성 및 전송을 처리하는 효율적이고 확장 가능한 웹 애플리케이션을 구축할 수 있습니다. 이 접근 방식은 AWS와 같은 클라우드 플랫폼에 배포 하거나 컨테이너 환경에서 작업할 때 특히 유용합니다.
자주 묻는 질문
C#에서 PDF를 MemoryStream으로 변환하려면 어떻게 해야 하나요?
IronPDF는 PDF를 메모리로 변환하는 두 가지 주요 방법을 제공합니다. Stream 속성을 사용하여 System.IO.MemoryStream으로 내보내거나, BinaryData 속성을 사용하여 바이트 배열로 내보낼 수 있습니다. PdfDocument 객체를 생성하거나 불러온 후 이러한 속성에 접근하면 파일 시스템에 접근하지 않고 메모리에서 PDF를 사용할 수 있습니다.
PDF 파일을 사용하는 대신 메모리에서 작업할 때의 이점은 무엇인가요?
IronPDF를 사용하여 메모리에서 PDF를 처리하면 다음과 같은 여러 가지 이점이 있습니다. 디스크 I/O 작업을 방지하여 성능이 향상되고, 파일 시스템 액세스가 제한될 수 있는 Azure와 같은 클라우드 플랫폼과의 호환성이 향상되며, 민감한 PDF를 디스크에 저장하지 않아 보안이 강화되고, 웹 애플리케이션 및 API와 원활하게 통합됩니다.
기존 PDF 파일을 메모리 스트림에서 불러올 수 있나요?
네, IronPDF는 MemoryStream 입력의 경우 PdfDocument.FromStream() 메서드를, 바이트 배열 입력의 경우 PdfDocument.FromBytes() 메서드를 사용하여 메모리에서 PDF를 로드할 수 있도록 지원합니다. 이를 통해 웹 요청, 데이터베이스 또는 기타 메모리 기반 소스에서 수신한 PDF를 디스크에 저장하지 않고도 작업할 수 있습니다.
ASP.NET 또는 MVC 애플리케이션에서 메모리에 저장된 PDF 파일을 어떻게 제공할 수 있나요?
IronPDF를 사용하면 웹 애플리케이션에서 메모리에서 직접 PDF를 쉽게 제공할 수 있습니다. Stream 속성 또는 BinaryData 속성을 사용하여 PDF 콘텐츠를 가져와 컨트롤러 액션에서 FileResult 또는 FileContentResult로 반환할 수 있습니다. ASP.NET Core 또는 MVC 애플리케이션에서 PDF를 즉시 생성하고 제공하는 데 매우 유용합니다.
HTML을 메모리에서 직접 PDF로 렌더링하는 것이 가능할까요?
네, IronPDF의 ChromePdfRenderer는 임시 파일을 생성하지 않고 HTML 콘텐츠를 MemoryStream에 직접 렌더링할 수 있습니다. RenderHtmlAsPdf() 메서드를 사용하면 Stream 속성에 즉시 접근하여 PDF를 MemoryStream 형태로 가져올 수 있으므로 클라우드 기반 애플리케이션 및 고성능 환경에 이상적입니다.

