C#에서 PDF로 내보내는 방법 | IronPDF

IronPDF C#에서 PDF를 내보내고 저장하는 방법

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

IronPDF는 랜더된 PdfDocument를 C#에서 SaveAs를 통해 디스크로, StreamBinaryData 속성을 통해 메모리로, SaveAsPdfA, SaveAsPdfUASaveAsRevision을 통해 아카이브용, 접근 가능 및 버전 관리된 출력으로 내보냅니다. 각 메서드는 이미 렌더된 문서를 사용하여 파일 경로, 메모리 내 버퍼 또는 HTTP 응답 등 필요한 대상에 씁니다.

이 가이드는 한 줄 파일 저장에서 브라우저에 직접 PDF 제공에 이르기까지 모든 내보내기 대상을 다루고, 준수 태그가 붙은 출력을 생성하는 메서드를 설명합니다.

빠른 시작: C#에서 HTML을 PDF로 내보내기

단일 문장으로 HTML을 렌더링하고 결과를 디스크에 씁니다. RenderHtmlAsPdf 호출은 PdfDocument을 반환하고, SaveAs는 이를 유지합니다.

  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronPdf 설치하기

    PM > Install-Package IronPdf
  2. 다음 코드 조각을 복사하여 실행하세요.

    new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>HelloPDF</h1>").SaveAs("myExportedFile.pdf");
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronPDF 사용 시작하기

    arrow pointer


PDF를 저장할 옵션은 무엇입니까?

IronPDF는 네 가지 종류의 대상 파일을 저장합니다: 디스크의 파일, 메모리의 MemoryStream, 원시 byte[], 아카이빙, 접근성 또는 점진적 수정을 위한 적합성 태그가 있는 파일. 아래 섹션에서는 테스트된 예제를 사용하여 각 대상을 다룹니다. 가장 간단한 파일 저장부터 시작하여, 전문 내보내기 메서드로 끝납니다.

디스크에 PDF 저장하는 방법

PdfDocument를 파일 경로에 쓰기 위해 SaveAs 메서드를 사용하세요. 이 방법은 PDF를 파일 시스템에 유지하는 데스크톱 앱이나 서버 프로세스에 직접적입니다.

:path=/static-assets/pdf/content-code-examples/how-to/export-save-pdf-csharp-2.cs
// Complete example for saving PDF to disk
using IronPdf;

// Initialize the Chrome PDF renderer
var renderer = new ChromePdfRenderer();

// Create HTML content with styling
string htmlContent = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #333; }
        .content { line-height: 1.6; }
    </style>
</head>
<body>
    <h1>Invoice #12345</h1>
    <div class='content'>
        <p>Date: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
        <p>Thank you for your business!</p>
    </div>
</body>
</html>";

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Save to disk with standard method
pdf.SaveAs("invoice_12345.pdf");

// Save with password protection for sensitive documents
pdf.Password = "secure123";
pdf.SaveAs("protected_invoice_12345.pdf");
Imports IronPdf

' Initialize the Chrome PDF renderer
Dim renderer As New ChromePdfRenderer()

' Create HTML content with styling
Dim htmlContent As String = "
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #333; }
        .content { line-height: 1.6; }
    </style>
</head>
<body>
    <h1>Invoice #12345</h1>
    <div class='content'>
        <p>Date: " & DateTime.Now.ToString("yyyy-MM-dd") & "</p>
        <p>Thank you for your business!</p>
    </div>
</body>
</html>"

' Render HTML to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)

' Save to disk with standard method
pdf.SaveAs("invoice_12345.pdf")

' Save with password protection for sensitive documents
pdf.Password = "secure123"
pdf.SaveAs("protected_invoice_12345.pdf")
$vbLabelText   $csharpLabel

동일한 예제는 또한 두 번째 저장 전에 Password 속성을 설정하여 해당 암호 없이는 파일을 열지 못하도록 파일을 암호화합니다. 수신자가 파일로 할 수 있는 일을 더 세밀하게 제어하려면 PDF 권한 및 비밀번호 가이드를 참조하십시오.

산출

MemoryStream에 PDF 저장하는 방법

Stream 속성은 문서를 System.IO.MemoryStream로 반환합니다. PDF를 다른 메서드에 전달하거나 업로드하거나 임시 파일을 먼저 작성하지 않고 이메일로 보낼 때 사용하십시오. PDF 메모리 스트림 작업에 대해 더 읽어보십시오.

:path=/static-assets/pdf/content-code-examples/how-to/export-save-pdf-csharp-3.cs
// Example: Save PDF to MemoryStream
using IronPdf;
using System.IO;

var renderer = new ChromePdfRenderer();

// Render HTML content
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Monthly Report</h1><p>Sales figures...</p>");

// Get the PDF as a MemoryStream
MemoryStream stream = pdf.Stream;

// Example: Upload to cloud storage or database
// UploadToCloudStorage(stream);

// Example: Email as attachment without saving to disk
// EmailService.SendWithAttachment(stream, "report.pdf");

// Remember to dispose of the stream when done
stream.Dispose();
Imports IronPdf
Imports System.IO

' Example: Save PDF to MemoryStream
Dim renderer As New ChromePdfRenderer()

' Render HTML content
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Monthly Report</h1><p>Sales figures...</p>")

' Get the PDF as a MemoryStream
Dim stream As MemoryStream = pdf.Stream

' Example: Upload to cloud storage or database
' UploadToCloudStorage(stream)

' Example: Email as attachment without saving to disk
' EmailService.SendWithAttachment(stream, "report.pdf")

' Remember to dispose of the stream when done
stream.Dispose()
$vbLabelText   $csharpLabel

산출

바이너리 데이터로 저장하는 방법

BinaryData 속성은 문서를 byte[]로 반환합니다. 바이트 배열은 데이터베이스 열, 캐시 항목 및 스트림 대신 원시 바이트를 수락하는 API에 적합합니다.

:path=/static-assets/pdf/content-code-examples/how-to/export-save-pdf-csharp-4.cs
// Example: Convert PDF to binary data
using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure rendering options for better quality
renderer.RenderingOptions = new ChromePdfRenderOptions()
{
    MarginTop = 20,
    MarginBottom = 20,
    MarginLeft = 10,
    MarginRight = 10,
    PaperSize = IronPdf.Rendering.PdfPaperSize.A4
};

// Render content to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Contract Document</h1>");

// Get binary data
byte[] binaryData = pdf.BinaryData;

// Example: Store in database
// database.StorePdfDocument(documentId, binaryData);

// Example: Send via API
// apiClient.UploadDocument(binaryData);
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Configure rendering options for better quality
renderer.RenderingOptions = New ChromePdfRenderOptions() With {
    .MarginTop = 20,
    .MarginBottom = 20,
    .MarginLeft = 10,
    .MarginRight = 10,
    .PaperSize = IronPdf.Rendering.PdfPaperSize.A4
}

' Render content to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Contract Document</h1>")

' Get binary data
Dim binaryData As Byte() = pdf.BinaryData

' Example: Store in database
' database.StorePdfDocument(documentId, binaryData)

' Example: Send via API
' apiClient.UploadDocument(binaryData)
$vbLabelText   $csharpLabel

바이트를 편집 가능한 문서로 다시 로드해야 할 때는 PDF를 MemoryStream로 변환하는 가이드를 참고하십시오.

산출

웹 서버에서 브라우저로 PDF를 어떻게 제공합니까?

HTTP를 통해 PDF를 반환하려면 바이트를 HTML이 아닌 파일 응답으로 보냅니다. StreamBinaryData 모두 ASP.NET에서 제공하는 파일 결과 유형에 바로 플러그되어 컨트롤러가 문서를 렌더링하고 디스크에 접근하지 않고 반환합니다.

MVC에서 PDF를 어떻게 내보내나요?

ASP.NET Core MVC에서는 다운로드 프롬프트를 실행하기 위해 StreamFileStreamResult에 래핑하거나, PDF를 인라인으로 표시하기 위해 BinaryDataFile에 전달합니다. 아래 두 가지 액션은 둘 다 보여줍니다. 이는 CSHTML 뷰를 PDF로 렌더링와 자연스럽게 연결됩니다.

// MVC controller methods for PDF export
public IActionResult DownloadInvoice(int invoiceId)
{
    // Generate your HTML content
    string htmlContent = GenerateInvoiceHtml(invoiceId);

    // Render the PDF with IronPDF
    var renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

    // Take the PDF stream and rewind it
    MemoryStream stream = pdf.Stream;
    stream.Position = 0;

    // Returning a FileStreamResult prompts a download in the browser
    return new FileStreamResult(stream, "application/pdf")
    {
        FileDownloadName = $"invoice_{invoiceId}.pdf"
    };
}

public IActionResult ViewInvoice(int invoiceId)
{
    var renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf(GenerateInvoiceHtml(invoiceId));

    // Returning BinaryData with no filename displays the PDF inline
    return File(pdf.BinaryData, "application/pdf");
}
// MVC controller methods for PDF export
public IActionResult DownloadInvoice(int invoiceId)
{
    // Generate your HTML content
    string htmlContent = GenerateInvoiceHtml(invoiceId);

    // Render the PDF with IronPDF
    var renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

    // Take the PDF stream and rewind it
    MemoryStream stream = pdf.Stream;
    stream.Position = 0;

    // Returning a FileStreamResult prompts a download in the browser
    return new FileStreamResult(stream, "application/pdf")
    {
        FileDownloadName = $"invoice_{invoiceId}.pdf"
    };
}

public IActionResult ViewInvoice(int invoiceId)
{
    var renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf(GenerateInvoiceHtml(invoiceId));

    // Returning BinaryData with no filename displays the PDF inline
    return File(pdf.BinaryData, "application/pdf");
}
Imports System.IO
Imports Microsoft.AspNetCore.Mvc

' MVC controller methods for PDF export
Public Class InvoiceController
    Inherits Controller

    Public Function DownloadInvoice(invoiceId As Integer) As IActionResult
        ' Generate your HTML content
        Dim htmlContent As String = GenerateInvoiceHtml(invoiceId)

        ' Render the PDF with IronPDF
        Dim renderer As New ChromePdfRenderer()
        Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)

        ' Take the PDF stream and rewind it
        Dim stream As MemoryStream = pdf.Stream
        stream.Position = 0

        ' Returning a FileStreamResult prompts a download in the browser
        Return New FileStreamResult(stream, "application/pdf") With {
            .FileDownloadName = $"invoice_{invoiceId}.pdf"
        }
    End Function

    Public Function ViewInvoice(invoiceId As Integer) As IActionResult
        Dim renderer As New ChromePdfRenderer()
        Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(GenerateInvoiceHtml(invoiceId))

        ' Returning BinaryData with no filename displays the PDF inline
        Return File(pdf.BinaryData, "application/pdf")
    End Function

    Private Function GenerateInvoiceHtml(invoiceId As Integer) As String
        ' Placeholder for the method that generates HTML content
        Return String.Empty
    End Function
End Class
$vbLabelText   $csharpLabel

ASP.NET WebForms에서 PDF를 어떻게 내보내나요?

전통적인 ASP.NET WebForms 애플리케이션은 대신 Response 객체를 통해 바이트를 작성합니다. 렌더링 옵션을 한 번 구성하고, BinaryData을 끌어와 클라이언트로 스트리밍합니다.

// ASP.NET WebForms PDF export
protected void ExportButton_Click(object sender, EventArgs e)
{
    var renderer = new ChromePdfRenderer();

    // Configure rendering options
    renderer.RenderingOptions = new ChromePdfRenderOptions()
    {
        PaperSize = IronPdf.Rendering.PdfPaperSize.Letter,
        PrintHtmlBackgrounds = true,
        CreatePdfFormsFromHtml = true
    };

    // Render from custom HTML
    PdfDocument MyPdfDocument = renderer.RenderHtmlAsPdf(GetReportHtml());

    // Retrieve the PDF bytes
    byte[] Binary = MyPdfDocument.BinaryData;

    // Write the bytes to the response as a download
    Response.Clear();
    Response.ContentType = "application/octet-stream";
    Response.AddHeader("Content-Disposition",
        "attachment; filename=report_" + DateTime.Now.ToString("yyyyMMdd") + ".pdf");
    Context.Response.OutputStream.Write(Binary, 0, Binary.Length);
    Response.Flush();
    Response.End();
}
// ASP.NET WebForms PDF export
protected void ExportButton_Click(object sender, EventArgs e)
{
    var renderer = new ChromePdfRenderer();

    // Configure rendering options
    renderer.RenderingOptions = new ChromePdfRenderOptions()
    {
        PaperSize = IronPdf.Rendering.PdfPaperSize.Letter,
        PrintHtmlBackgrounds = true,
        CreatePdfFormsFromHtml = true
    };

    // Render from custom HTML
    PdfDocument MyPdfDocument = renderer.RenderHtmlAsPdf(GetReportHtml());

    // Retrieve the PDF bytes
    byte[] Binary = MyPdfDocument.BinaryData;

    // Write the bytes to the response as a download
    Response.Clear();
    Response.ContentType = "application/octet-stream";
    Response.AddHeader("Content-Disposition",
        "attachment; filename=report_" + DateTime.Now.ToString("yyyyMMdd") + ".pdf");
    Context.Response.OutputStream.Write(Binary, 0, Binary.Length);
    Response.Flush();
    Response.End();
}
' ASP.NET WebForms PDF export
Protected Sub ExportButton_Click(sender As Object, e As EventArgs)
    Dim renderer As New ChromePdfRenderer()

    ' Configure rendering options
    renderer.RenderingOptions = New ChromePdfRenderOptions() With {
        .PaperSize = IronPdf.Rendering.PdfPaperSize.Letter,
        .PrintHtmlBackgrounds = True,
        .CreatePdfFormsFromHtml = True
    }

    ' Render from custom HTML
    Dim MyPdfDocument As PdfDocument = renderer.RenderHtmlAsPdf(GetReportHtml())

    ' Retrieve the PDF bytes
    Dim Binary As Byte() = MyPdfDocument.BinaryData

    ' Write the bytes to the response as a download
    Response.Clear()
    Response.ContentType = "application/octet-stream"
    Response.AddHeader("Content-Disposition", "attachment; filename=report_" & DateTime.Now.ToString("yyyyMMdd") & ".pdf")
    Context.Response.OutputStream.Write(Binary, 0, Binary.Length)
    Response.Flush()
    Response.End()
End Sub
$vbLabelText   $csharpLabel
Icon Quote related to ASP.NET WebForms에서 PDF를 어떻게 내보내나요?

이 종류의 라이브러리 중 가장 좋아하는 것은 IronPDF입니다. PDF 파일을 빠르고 효율적으로 조작할 수 있습니다. 또한 PDF/A 형식으로 내보내기 및 PDF 문서의 디지털 서명과 같은 많은 유용한 기능을 가지고 있습니다.

Milan Jovanovic related to ASP.NET WebForms에서 PDF를 어떻게 내보내나요?

Milan Jovanovic

마이크로소프트 MVP

사례 연구 보기
Icon Quote related to ASP.NET WebForms에서 PDF를 어떻게 내보내나요?

IronOCR 덕분에 연간 $40,000를 수동 프로세싱에서 절약하고 생산성을 높이며 고부가가치 작업에 자원을 활용할 수 있습니다. 강력히 추천합니다.

Brent Matzelle related to ASP.NET WebForms에서 PDF를 어떻게 내보내나요?

브렌트 마첼

최고 기술 책임자, OPYN

사례 연구 보기
Icon Quote related to ASP.NET WebForms에서 PDF를 어떻게 내보내나요?

IronSuite는 우리의 운영에서 중요한 역할을 합니다. 이것들은 사업 전반에 걸쳐 효율성을 높이는 도구로, 평면도 생성 및 재고 관리 개선을 포함합니다.

David Jones related to ASP.NET WebForms에서 PDF를 어떻게 내보내나요?

데이비드 존스

리드 소프트웨어 엔지니어, Agorus Build

사례 연구 보기

PDF/A, PDF/UA 및 수정을 어떻게 내보내나요?

일반 저장 대상 외에도 IronPDF는 세 가지 준수 특정 형식을 작성합니다. SaveAsPdfA는 아카이브 파일을 생성하고, SaveAsPdfUA는 태그가 있는 접근 가능 파일을 생성하며, SaveAsRevision는 기존 문서에 점진적 수정을 추가합니다.

PDF/A 아카이브를 저장하는 방법

SaveAsPdfA는 ISO PDF/A 표준을 충족하는 자체 포함 파일을 작성하여 장기 보관을 위한 폰트와 색상 데이터를 포함시켜 잠재적인 독자들이 오랫동안 요구할 수 있도록 합니다. PdfAVersions 인수는 PdfA3b 같은 적합성 수준을 선택합니다.

:path=/static-assets/pdf/content-code-examples/how-to/export-save-pdf-csharp-pdfa.cs
using IronPdf;

var renderer = new ChromePdfRenderer();

// Render the document you want to archive
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Archived Document</h1>");

// Save as a PDF/A-3b file for long-term archiving.
// PdfAVersions controls the conformance level (PdfA1b, PdfA2b, PdfA3b, PdfA4, and others).
pdf.SaveAsPdfA("archive-pdfa.pdf", IronPdf.PdfAVersions.PdfA3b);
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Render the document you want to archive
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Archived Document</h1>")

' Save as a PDF/A-3b file for long-term archiving.
' PdfAVersions controls the conformance level (PdfA1b, PdfA2b, PdfA3b, PdfA4, and others).
pdf.SaveAsPdfA("archive-pdfa.pdf", IronPdf.PdfAVersions.PdfA3b)
$vbLabelText   $csharpLabel

산출

접근 가능한 PDF/UA 파일을 저장하는 방법

SaveAsPdfUA는 PDF/UA 접근성 표준을 충족하는 태그가 있는 PDF를 작성하여, 화면 리더가 문서를 탐색하는 데 의존합니다. 세 번째 인수는 보조 기술이 올바른 목소리로 읽을 수 있도록 문서 언어를 설정합니다.

:path=/static-assets/pdf/content-code-examples/how-to/export-save-pdf-csharp-pdfua.cs
using IronPdf;

var renderer = new ChromePdfRenderer();

// Render content that should be tagged for assistive technology
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Accessible Document</h1><p>Tagged for screen readers.</p>");

// Save as a PDF/UA-1 file. The last argument sets the document's primary
// language, which screen readers use to choose the correct voice.
pdf.SaveAsPdfUA("accessible-pdfua.pdf", IronPdf.PdfUAVersions.PdfUA1, IronPdf.NaturalLanguages.English_UnitedKingdom);
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Render content that should be tagged for assistive technology
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Accessible Document</h1><p>Tagged for screen readers.</p>")

' Save as a PDF/UA-1 file. The last argument sets the document's primary
' language, which screen readers use to choose the correct voice.
pdf.SaveAsPdfUA("accessible-pdfua.pdf", IronPdf.PdfUAVersions.PdfUA1, IronPdf.NaturalLanguages.English_UnitedKingdom)
$vbLabelText   $csharpLabel

산출

증분 수정을 저장하는 방법

SaveAsRevision는 파일을 다시 쓰는 대신 변경 사항을 추가하므로, 이전 수정 사항, 포함된 디지털 서명 등을 유지합니다. 문서는 점진적 저장을 위해 ChangeTrackingModes.EnableChangeTracking로 열려야 합니다.

:path=/static-assets/pdf/content-code-examples/how-to/export-save-pdf-csharp-revision.cs
using IronPdf;
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Create and save the original revision of the document
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Versioned Document</h1>");
pdf.SaveAs("revision-base.pdf");

// Re-open with change tracking enabled so the next save appends a revision
// instead of rewriting the file. This preserves earlier signed revisions.
PdfDocument loaded = PdfDocument.FromFile("revision-base.pdf", null, null, ChangeTrackingModes.EnableChangeTracking);

// Write an incremental revision on top of the existing bytes
loaded.SaveAsRevision("revision-v2.pdf");
Imports IronPdf
Imports IronPdf.Rendering

Dim renderer As New ChromePdfRenderer()

' Create and save the original revision of the document
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Versioned Document</h1>")
pdf.SaveAs("revision-base.pdf")

' Re-open with change tracking enabled so the next save appends a revision
' instead of rewriting the file. This preserves earlier signed revisions.
Dim loaded As PdfDocument = PdfDocument.FromFile("revision-base.pdf", Nothing, Nothing, ChangeTrackingModes.EnableChangeTracking)

' Write an incremental revision on top of the existing bytes
loaded.SaveAsRevision("revision-v2.pdf")
$vbLabelText   $csharpLabel

산출

비동기식으로 PDF를 어떻게 내보내나요?

렌더링은 Chromium 엔진이 완료될 때까지 호출 스레드를 차단합니다. 웹 요청이나 데스크톱 UI에서는 대신 RenderHtmlAsPdfAsync를 호출하여 대기한 후 동일한 SaveAs 메서드로 반환된 문서를 저장하세요. 이렇게 하면 렌더링이 실행되는 동안 스레드가 항상 사용 가능합니다.

:path=/static-assets/pdf/content-code-examples/how-to/export-save-pdf-csharp-async.cs
using IronPdf;
using System.Threading.Tasks;

var renderer = new ChromePdfRenderer();

// Render off the calling thread so a web request or UI stays responsive
PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Async Generated PDF</h1>");

// SaveAs writes the finished document to disk once the render completes
pdf.SaveAs("async-render.pdf");
Imports IronPdf
Imports System.Threading.Tasks

Dim renderer As New ChromePdfRenderer()

' Render off the calling thread so a web request or UI stays responsive
Dim pdf As PdfDocument = Await renderer.RenderHtmlAsPdfAsync("<h1>Async Generated PDF</h1>")

' SaveAs writes the finished document to disk once the render completes
pdf.SaveAs("async-render.pdf")
$vbLabelText   $csharpLabel

산출

결론

IronPDF는 이미 빌드된 문서를 통해 단일 메서드로 디스크, 메모리, HTTP 응답 또는 적합성 태그가 있는 파일에 랜더된 PdfDocument를 내보냅니다. 바이트가 필요한 위치에 대응하는 대상을 선택하고, 아카이브, 접근성, 또는 버전 관리를 충족해야 할 때 SaveAsPdfA, SaveAsPdfUA, 또는 SaveAsRevision을 적용하세요.

여기에서 PDF 메모리 스트림 워크플로를 사용하여 바이트를 디스크에 전혀 저장하지 않거나, PDF 권한 및 비밀번호를 사용하여 저장된 파일을 잠급니다.

자주 묻는 질문

C#에서 HTML 콘텐츠를 PDF로 내보내는 방법은 무엇인가요?

IronPDF의 ChromePdfRenderer 클래스를 사용하면 C#에서 HTML을 PDF로 내보낼 수 있습니다. 렌더러 인스턴스를 생성하고 RenderHtmlAsPdf() 메서드를 사용하여 HTML 콘텐츠를 변환한 다음 SaveAs() 메서드를 사용하여 저장하면 됩니다. IronPDF를 사용하면 HTML 문자열, 파일 또는 URL을 PDF 문서로 간편하게 변환할 수 있습니다.

C#을 사용하여 PDF를 저장하는 다양한 방법에는 무엇이 있습니까?

IronPDF는 PDF를 저장하는 여러 가지 방법을 제공합니다. SaveAs()는 디스크에 저장하는 방식이고, Stream은 임시 파일을 생성하지 않고 웹 애플리케이션에서 PDF를 제공하는 방식이며, BinaryData는 PDF를 바이트 배열로 가져오는 방식입니다. IronPDF의 각 방법은 단순 파일 저장부터 동적 웹 전송에 이르기까지 다양한 사용 사례에 적합합니다.

PDF 파일을 디스크 대신 메모리에 저장할 수 있나요?

네, IronPDF는 System.IO.MemoryStream을 사용하여 PDF를 메모리에 저장할 수 있도록 지원합니다. 이는 서버에 임시 파일을 생성하지 않고 웹 애플리케이션에서 사용자에게 PDF를 직접 제공하려는 경우에 유용합니다. Stream 속성을 사용하거나 PDF를 바이너리 데이터로 변환하여 저장할 수 있습니다.

PDF 파일을 저장할 때 암호로 보호하려면 어떻게 해야 하나요?

IronPDF는 저장하기 전에 PdfDocument 객체의 Password 속성을 설정하여 암호 보호 기능을 활성화합니다. pdf.Password에 암호 문자열을 할당한 다음 SaveAs()를 사용하여 암호를 입력해야만 열 수 있는 보호된 PDF 파일을 생성하면 됩니다.

PDF 파일을 디스크에 저장하지 않고 웹 브라우저에 바로 제공할 수 있나요?

네, IronPDF를 사용하면 PDF 파일을 바이너리 데이터 형태로 웹 브라우저에 직접 제공할 수 있습니다. BinaryData 속성을 이용하면 PDF 파일을 바이트 배열로 가져와 웹 애플리케이션의 응답 스트림을 통해 제공할 수 있으므로 임시 파일 저장소가 필요하지 않습니다.

HTML을 PDF로 변환하여 한 줄로 저장하는 가장 간단한 방법은 무엇일까요?

IronPDF는 다음과 같은 한 줄짜리 해결책을 제공합니다. `new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("Your HTML").SaveAs("output.pdf")`. 이 코드는 렌더러를 생성하고, HTML을 PDF로 변환하고, 디스크에 저장하는 작업을 단 한 번의 명령으로 수행합니다.

Curtis Chau
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

검토자:
제프 프리츠
제프리 T. 프리츠
.NET 커뮤니티 팀의 수석 프로그램 관리자
제프는 .NET 및 Visual Studio 팀의 수석 프로그램 관리자이기도 합니다. 그는 .NET Conf 가상 컨퍼런스 시리즈의 총괄 프로듀서이며, 개발자를 위한 라이브 스트림 'Fritz and Friends'를 주 2회 진행하며 시청자들과 함께 기술에 대해 이야기하고 코드를 작성합니다. 제프는 Microsoft Build, Microsoft Ignite, .NET Conf, Microsoft MVP Summit 등 주요 Microsoft 개발자 행사를 위한 워크숍, 프레젠테이션 및 콘텐츠 기획을 담당합니다.
시작할 준비 되셨나요?
Nuget 다운로드 19,936,792 | 버전: 2026.7 방금 출시
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronPdf
샘플을 실행하세요 HTML이 PDF로 변환되는 것을 지켜보세요.