푸터 콘텐츠로 바로가기
IRONPDF 사용하기

.NET 10을 사용하여 C#에서 HTML을 PDF로 변환

IronPDF는 C# 개발자가 Chrome 기반 렌더링 엔진을 사용하여 HTML을 PDF로 변환할 수 있도록 하여 .NET 10 애플리케이션에서 CSS, JavaScript 및 동적 콘텐츠 생성을 몇 줄의 코드로 지원합니다.

C#에서 HTML을 PDF로 변환하는 것은 Enterprise 애플리케이션을 구축하는 .NET 개발자에게 흔히 요구되는 사항입니다. 웹 콘텐츠, HTML 문서, HTML 문자열에서 PDF 파일을 생성하든 간에 HTML을 전문 PDF로 변환하는 기능은 보고서, 청구서 및 기타 인쇄 가능한 자산을 생성하는 데 필수적입니다.

IronPDF 라이브러리는 .NET Framework 애플리케이션 및 최신 .NET 10 프로젝트를 위한 강력한 HTML에서 PDF로 변환기입니다. HTML, CSS 스타일, 심지어 JavaScript 렌더링도 고품질의 PDF 문서로 쉽게 변환할 수 있습니다 - 모든 것이 단 몇 줄의 C# 코드로 가능합니다. Chrome 렌더링 엔진을 통해 픽셀 수준으로 완벽한 변환을 보장합니다.

IronPDF for .NET 홈페이지에 HTML을 PDF로 변환하는 C# 코드 예제와 ChromePdfRenderer 클래스가 표시됩니다

HTML을 PDF로 변환할 때 IronPDF를 사용해야 하는 이유는 무엇입니까?

수동 요소 그리기를 요구하는 오래된 PDF 라이브러리와 달리, IronPDF는 전체 크로미엄 엔진을 사용하여 HTML 콘텐츠를 렌더링합니다. 이는 HTML 파일, CSS, 이미지 파일이 브라우저처럼 정확하게 처리되어 레이아웃, 폰트 및 HTML 요소를 정확하게 유지함을 의미합니다. 다음과 같은 사례에 이상적입니다:

IronPDF는 PDF 문서를 생성하기 위한 전체 변환 라이브러리로 작동하며, .NET 개발자에게 PDF 생성에 대한 간단함과 강력한 제어력을 제공합니다. 이 라이브러리는 국제 언어를 위한 UTF-8 인코딩을 지원하고, 사용자 정의를 위한 포괄적인 렌더링 옵션을 제공합니다.

IronPDF를 .NET 10 프로젝트에 어떻게 설치하나요?

먼저, 새로운 .NET 10 프로젝트를 생성하세요. 상세한 설치 가이드를 위해, IronPDF 설치 개요 또는 NuGet 패키지 문서를 참조하세요.

Visual Studio 프로젝트 설정 창에 'HtmlToPDF'라는 이름의 새 C# 콘솔 앱 프로젝트 설정 및 플랫폼 대상 및 파일 위치 옵션이 표시됩니다.

현재, .NET 10은 미리보기 상태이지만, IronPDF와 완벽하게 호환됩니다. 이 라이브러리는 Windows, Linux, 그리고 macOS를 포함한 여러 플랫폼과의 호환성을 유지합니다.

Visual Studio 프로젝트 생성 대화 상자에 .NET 10.0 프리뷰 프레임워크와 컨테이너 지원 옵션이 선택된 콘솔 앱의 추가 정보 설정이 표시됩니다.

여기서 최신 .NET 기능과 IronPDF의 Chrome 기반 렌더링 엔진과 함께 HTML-to-PDF 변환이 원활하게 작동하는 방식을 시연하겠습니다.

이제 IronPDF를 설치해 봅시다!

솔루션 용 NuGet 패키지 관리자를 통해 IronPDF를 직접 설치할 수 있습니다.

NuGet 패키지 관리자 창에 IronPdf 패키지가 버전 2025.9.4로 Visual Studio에 설치된 것이 표시됩니다

다른 설치 옵션도 있습니다. Solution Explorer에서 터미널 또는 명령줄 인터페이스(CLI)를 열고 실행하세요:

dotnet add package IronPdf
dotnet add package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronPdf
$vbLabelText   $csharpLabel

또는 NuGet 패키지 관리 콘솔을 사용하여:

PM > IronPDF Install-Package

패키지 관리자 콘솔 창에 HtmlToPDF라는 Visual Studio 프로젝트에서 IronPDF NuGet 패키지 버전 2025.9.4가 성공적으로 설치된 것이 표시됩니다.

이제 코딩을 시작할 준비가 되었습니다. 적절한 구성을 위해, 상업용 버전을 사용하는 경우 라이선스 키를 적용했는지 확인하세요.

기본 HTML에서 PDF로 변환을 어떻게 수행하나요?

C#을 사용하여 HTML 콘텐츠를 PDF 파일로 변환하는 HTML에서 PDF로 예제를 시작해 봅시다. 이 기본 접근 방식은 간단한 문서에 잘 작동하며 주요 API를 시연합니다.

using IronPdf;

class Program
{
    public static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string html = "<html><body><h1>HTML to PDF C# Example</h1><p>This demonstrates PDF conversion in .NET 10.</p></body></html>";

        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("basic_output.pdf");
    }
}
using IronPdf;

class Program
{
    public static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string html = "<html><body><h1>HTML to PDF C# Example</h1><p>This demonstrates PDF conversion in .NET 10.</p></body></html>";

        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("basic_output.pdf");
    }
}
Imports IronPdf

Class Program
    Public Shared Sub Main()
        Dim renderer As New ChromePdfRenderer()

        Dim html As String = "<html><body><h1>HTML to PDF C# Example</h1><p>This demonstrates PDF conversion in .NET 10.</p></body></html>"

        Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("basic_output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

설명:

  • ChromePdfRenderer는 Chromium을 사용하는 주요 변환기 클래스입니다.
  • RenderHtmlAsPdf는 HTML 문자열을 PdfDocument 객체로 변환합니다.
  • PDF는 파일로 저장하거나 스트림으로 반환할 수 있습니다

단 몇 줄만으로, 우리는 C#을 사용하여 작동하는 HTML에서 PDF로 변환기를 구축했습니다.

Adobe Acrobat에서 제목이 'HTML to PDF C# 예제'이고 부제목이 '.NET 10에서의 PDF 변환을 보여줍니다.'인 PDF 문서를 표시합니다

HTML 파일 및 URLs을 PDF로 변환하는 방법은 무엇인가요?

로컬 HTML 파일을 언제 변환해야 할까요?

CSS 또는 이미지와 같은 연결된 리소스를 포함한 디스크의 HTML 파일을 변환할 수 있습니다. 이는 템플릿 작업이나 폰트기준 URL을 관리할 때 유용합니다:

var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("template.html");
pdf.SaveAs("file_conversion.pdf");
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("template.html");
pdf.SaveAs("file_conversion.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("template.html")
pdf.SaveAs("file_conversion.pdf")
$vbLabelText   $csharpLabel

이 방법은 로컬 HTML 파일을 읽고 외부 리소스를 자동으로 로드합니다. 복잡한 시나리오에서는 모든 자산을 포함한 HTML ZIP 파일을 변환할 수 있습니다.

PDF 뷰어에서 HTML을 PDF로 변환한 예제로, 테이블에 과일(사과, 바나나, 오렌지)의 수량 및 가격이 포함된 것이 표시됩니다.

URL을 사용하여 웹 페이지를 언제 변환해야 할까요?

입력이 웹 페이지 또는 기존 URL일 경우, 직접 렌더링합니다. 이 접근 방식은 실시간 웹 콘텐츠, 대시보드를 캡처하거나 쿠키HTTP 요청 헤더를 처리합니다:

var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_96___");
pdf.SaveAs("webpage_conversion.pdf");
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_96___");
pdf.SaveAs("webpage_conversion.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("___PROTECTED_URL_96___")
pdf.SaveAs("webpage_conversion.pdf")
$vbLabelText   $csharpLabel

이 코드는 HTML 문서를 전체 JavaScript 및 CSS 지원으로 렌더링하여 URL에서 PDF로 변환을 수행합니다. 인증된 페이지의 경우, TLS 웹사이트 로그인을 설정하세요.

IronPDF for .NET 랜딩 페이지 스크린샷에 C# PDF 라이브러리 기능, HTML을 PDF로 변환할 수 있는 기능 및 크로스플랫폼 지원이 표시됩니다.

스타일링 및 JavaScript와 함께 HTML 콘텐츠를 어떻게 변환하나요?

많은 웹 페이지는 동적 요소, CSS 스타일 및 JavaScript 렌더링(차트 및 대시보드)을 사용합니다. IronPDF는 이를 WaitFor API를 통해 완벽하게 지원합니다:

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // wait for dynamic JS
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

// Custom paper size is also available
renderer.RenderingOptions.SetCustomPaperSize(210, 297); // A4 in mm

PdfDocument pdf = renderer.RenderHtmlFileAsPdf("Reports/sales.html");
pdf.SaveAs("styled_output.pdf");
var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // wait for dynamic JS
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

// Custom paper size is also available
renderer.RenderingOptions.SetCustomPaperSize(210, 297); // A4 in mm

PdfDocument pdf = renderer.RenderHtmlFileAsPdf("Reports/sales.html");
pdf.SaveAs("styled_output.pdf");
Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(2000) ' wait for dynamic JS
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4

' Custom paper size is also available
renderer.RenderingOptions.SetCustomPaperSize(210, 297) ' A4 in mm

Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("Reports/sales.html")
pdf.SaveAs("styled_output.pdf")
$vbLabelText   $csharpLabel

이 기능은 동적 콘텐츠가 로드될 때까지 IronPDF가 기다리도록 하여 정확한 시각적 출력을 제공합니다. 또한 WebGL 사이트를 렌더링하고 복잡한 웹폰트를 처리할 수 있습니다.

PDF 뷰어에서 동적 성과 보고서가 표시되며, 판매(80%), 마케팅(95%), 지원(75%), 인사(90%)에 대한 팀 성과 백분율이 표시된 막대 차트가 나타납니다.

헤더, 푸터 및 페이지 번호를 어떻게 추가하나요?

전문적인 헤더와 푸터를 쉽게 PDF에 추가하세요. IronPDF는 페이지 번호와 함께 텍스트 머리글과 리치 HTML 머리글을 모두 지원합니다:

renderer.RenderingOptions.FirstPageNumber = 1;
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-top:20px;'>Sales Report</div>",
    Height = 30,
    Spacing = 5
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-bottom:20px;'>Page {page} of {total-pages}</div>",
    Height = 30,
    Spacing = 5
};
renderer.RenderingOptions.FirstPageNumber = 1;
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-top:20px;'>Sales Report</div>",
    Height = 30,
    Spacing = 5
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-bottom:20px;'>Page {page} of {total-pages}</div>",
    Height = 30,
    Spacing = 5
};
renderer.RenderingOptions.FirstPageNumber = 1
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div style='text-align:center; font-size:14px; margin-top:20px;'>Sales Report</div>",
    .Height = 30,
    .Spacing = 5
}

renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div style='text-align:center; font-size:14px; margin-bottom:20px;'>Page {page} of {total-pages}</div>",
    .Height = 30,
    .Spacing = 5
}
$vbLabelText   $csharpLabel

IronPDF는 이러한 것을 HTML 요소로 처리하므로 CSS로 스타일을 지정하고 날짜나 회사 이름과 같은 사용자 정의 데이터를 포함할 수 있습니다. 텍스트 머리글 및 바닥글을 사용하여 더 간단한 요구 사항을 충족하세요.

IronPDF와 ApexCharts를 사용하여 생성한 동적 성과 보고서가 표시된 PDF 문서에 판매, 마케팅, 지원, 인사 부서의 팀 성과 백분율을 나타낸 막대 차트가 표시됩니다.

여러 HTML 조각에서 PDF를 어떻게 생성하나요?

HTML 조각을 결합하여 PDF를 생성하려면 병합할 수 있습니다. 이렇게 하면 여러 섹션의 보고서를 생성하거나 서로 다른 소스에서 콘텐츠를 결합할 수 있습니다:

var renderer = new ChromePdfRenderer();

PdfDocument part1 = renderer.RenderHtmlAsPdf("<h1>Section 1</h1><p>First section content</p>");
PdfDocument part2 = renderer.RenderHtmlAsPdf("<h1>Section 2</h1><p>Second section content</p>");

var merged = PdfDocument.Merge(part1, part2);
merged.SaveAs("Merged.pdf");

// Alternative approach: copy specific pages
var combinedDoc = new PdfDocument();
combinedDoc.CopyPage(part1, 0); // Copy first page
combinedDoc.CopyPage(part2, 0); // Copy first page
combinedDoc.SaveAs("Combined.pdf");
var renderer = new ChromePdfRenderer();

PdfDocument part1 = renderer.RenderHtmlAsPdf("<h1>Section 1</h1><p>First section content</p>");
PdfDocument part2 = renderer.RenderHtmlAsPdf("<h1>Section 2</h1><p>Second section content</p>");

var merged = PdfDocument.Merge(part1, part2);
merged.SaveAs("Merged.pdf");

// Alternative approach: copy specific pages
var combinedDoc = new PdfDocument();
combinedDoc.CopyPage(part1, 0); // Copy first page
combinedDoc.CopyPage(part2, 0); // Copy first page
combinedDoc.SaveAs("Combined.pdf");
Dim renderer = New ChromePdfRenderer()

Dim part1 As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Section 1</h1><p>First section content</p>")
Dim part2 As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Section 2</h1><p>Second section content</p>")

Dim merged = PdfDocument.Merge(part1, part2)
merged.SaveAs("Merged.pdf")

' Alternative approach: copy specific pages
Dim combinedDoc = New PdfDocument()
combinedDoc.CopyPage(part1, 0) ' Copy first page
combinedDoc.CopyPage(part2, 0) ' Copy first page
combinedDoc.SaveAs("Combined.pdf")
$vbLabelText   $csharpLabel

서로 다른 HTML 조각에서 여러 섹션의 보고서를 생성할 때 유용합니다. 탐색을 개선하기 위해 북마크를 추가할 수 있습니다.

Adobe Acrobat 인터페이스에 '섹션 1' 제목과 섹션 1 및 섹션 2의 썸네일이 표시된 페이지 패널이 있는 PDF 문서가 표시됩니다.

웹 API에서 HTML을 PDF로 어떻게 변환하나요?

ASP.NET Web API에서 MemoryStream을 사용하여 디스크에 저장하지 않고 PDF를 생성하고 반환합니다. 이 패턴은 Blazor 애플리케이션 및 RESTful 서비스에 이상적입니다:

[HttpGet("download")]
public IActionResult GetPdf()
{
    var renderer = new ChromePdfRenderer();
    string html = "<h1>Web Report</h1><p>Generated dynamically.</p>";

    var pdf = renderer.RenderHtmlAsPdf(html);
    var bytes = pdf.BinaryData;

    // Optional: Add metadata
    pdf.MetaData.Author = "API Service";
    pdf.MetaData.CreationDate = DateTime.Now;

    return File(bytes, "application/pdf", "report.pdf");
}
[HttpGet("download")]
public IActionResult GetPdf()
{
    var renderer = new ChromePdfRenderer();
    string html = "<h1>Web Report</h1><p>Generated dynamically.</p>";

    var pdf = renderer.RenderHtmlAsPdf(html);
    var bytes = pdf.BinaryData;

    // Optional: Add metadata
    pdf.MetaData.Author = "API Service";
    pdf.MetaData.CreationDate = DateTime.Now;

    return File(bytes, "application/pdf", "report.pdf");
}
<HttpGet("download")>
Public Function GetPdf() As IActionResult
    Dim renderer = New ChromePdfRenderer()
    Dim html As String = "<h1>Web Report</h1><p>Generated dynamically.</p>"

    Dim pdf = renderer.RenderHtmlAsPdf(html)
    Dim bytes = pdf.BinaryData

    ' Optional: Add metadata
    pdf.MetaData.Author = "API Service"
    pdf.MetaData.CreationDate = DateTime.Now

    Return File(bytes, "application/pdf", "report.pdf")
End Function
$vbLabelText   $csharpLabel

이 패턴은 .NET 10 웹 애플리케이션에서 서버 측 PDF 생성에 매우 적합합니다. MVC 애플리케이션의 CSHTML 뷰와 통합할 수 있습니다.

HTML 렌더링 옵션을 어떻게 사용자 정의하나요?

포괄적인 렌더링 옵션을 사용하여 HTML 요소 및 리소스를 렌더링하는 방법을 제어합니다:

renderer.RenderingOptions.BaseUrl = "___PROTECTED_URL_97___";
renderer.RenderingOptions.CustomHeaders.Add("Authorization", "Bearer token");
renderer.RenderingOptions.WaitFor.NavigationTimeout = 10000;
renderer.RenderingOptions.EnableJavaScript = true;

// Configure paper and margins
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Set viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1920;
renderer.RenderingOptions.ViewPortHeight = 1080;
renderer.RenderingOptions.BaseUrl = "___PROTECTED_URL_97___";
renderer.RenderingOptions.CustomHeaders.Add("Authorization", "Bearer token");
renderer.RenderingOptions.WaitFor.NavigationTimeout = 10000;
renderer.RenderingOptions.EnableJavaScript = true;

// Configure paper and margins
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Set viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1920;
renderer.RenderingOptions.ViewPortHeight = 1080;
renderer.RenderingOptions.BaseUrl = "___PROTECTED_URL_97___"
renderer.RenderingOptions.CustomHeaders.Add("Authorization", "Bearer token")
renderer.RenderingOptions.WaitFor.NavigationTimeout = 10000
renderer.RenderingOptions.EnableJavaScript = True

' Configure paper and margins
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20

' Set viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1920
renderer.RenderingOptions.ViewPortHeight = 1080
$vbLabelText   $csharpLabel

외부 리소스를 사용하여 페이지를 렌더링하거나 웹 스크래핑 후 PDF 변환을 수행할 때 유용합니다. 인쇄 최적화를 위해 CSS 미디어 유형사용자 정의 용지 크기를 구성합니다.

PDF 변환을 위한 명령줄 도구를 어떻게 만드나요?

서버, CI/CD 파이프라인에 유용한 일괄 HTML에서 PDF 변환을 위한 명령줄 도구를 만듭니다:

using IronPdf;
using System;

class Program
{
    public static void Main(string[] args)
    {
        if (args.Length < 2)
        {
            Console.WriteLine("Usage: pdfconvert input.html output.pdf");
            return;
        }

        string inputFile = args[0];
        string outputPath = args[1];

        var renderer = new ChromePdfRenderer();

        // Configure compression for smaller files
        renderer.RenderingOptions.CompressImages = true;

        PdfDocument pdf = renderer.RenderHtmlFileAsPdf(inputFile);
        pdf.SaveAs(outputPath);

        Console.WriteLine("PDF generated successfully!");
    }
}
using IronPdf;
using System;

class Program
{
    public static void Main(string[] args)
    {
        if (args.Length < 2)
        {
            Console.WriteLine("Usage: pdfconvert input.html output.pdf");
            return;
        }

        string inputFile = args[0];
        string outputPath = args[1];

        var renderer = new ChromePdfRenderer();

        // Configure compression for smaller files
        renderer.RenderingOptions.CompressImages = true;

        PdfDocument pdf = renderer.RenderHtmlFileAsPdf(inputFile);
        pdf.SaveAs(outputPath);

        Console.WriteLine("PDF generated successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Public Shared Sub Main(args As String())
        If args.Length < 2 Then
            Console.WriteLine("Usage: pdfconvert input.html output.pdf")
            Return
        End If

        Dim inputFile As String = args(0)
        Dim outputPath As String = args(1)

        Dim renderer As New ChromePdfRenderer()

        ' Configure compression for smaller files
        renderer.RenderingOptions.CompressImages = True

        Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf(inputFile)
        pdf.SaveAs(outputPath)

        Console.WriteLine("PDF generated successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

명령줄 인터페이스(CLI)에서 실행합니다:

dotnet run "input.html" "output.pdf"

PowerShell 터미널에 input.html 및 output.pdf 파라미터를 사용한 dotnet run 명령어와 'PDF가 성공적으로 생성되었습니다!'라는 성공 메시지가 표시됩니다.

.NET 개발자를 위한 간단한 명령줄 PDF 변환기를 빌드했습니다. 프로덕션 사용을 위해 사용자 정의 로깅 및 오류 처리를 추가합니다.

Adobe Acrobat에서 'IronPDF를 사용하여 명령줄에서 변환됨'이라는 텍스트가 페이지 중앙에 있는 PDF 파일이 표시됩니다.

PDF 생성에 Async 패턴을 어떻게 사용하나요?

최신 .NET 10 애플리케이션의 경우 비동기 패턴을 사용합니다. 이 접근 방법은 고성능 환경에서 멀티스레드 생성에 필수적입니다:

public static async Task Main()
{
    var renderer = new ChromePdfRenderer();
    string url = "___PROTECTED_URL_98___";

    // Async rendering with cancellation token support
    using var cts = new CancellationTokenSource(TimeSpan.FromMinutes(2));

    PdfDocument pdf = await renderer.RenderUrlAsPdfAsync(url, cts.Token);
    pdf.SaveAs("async_output.pdf");

    // For parallel processing of multiple documents
    var urls = new[] { "___PROTECTED_URL_99___", "___PROTECTED_URL_100___", "___PROTECTED_URL_101___" };
    var tasks = urls.Select(u => renderer.RenderUrlAsPdfAsync(u)).ToArray();
    var pdfs = await Task.WhenAll(tasks);

    // Merge all PDFs
    var combined = PdfDocument.Merge(pdfs);
    combined.SaveAs("batch_output.pdf");
}
public static async Task Main()
{
    var renderer = new ChromePdfRenderer();
    string url = "___PROTECTED_URL_98___";

    // Async rendering with cancellation token support
    using var cts = new CancellationTokenSource(TimeSpan.FromMinutes(2));

    PdfDocument pdf = await renderer.RenderUrlAsPdfAsync(url, cts.Token);
    pdf.SaveAs("async_output.pdf");

    // For parallel processing of multiple documents
    var urls = new[] { "___PROTECTED_URL_99___", "___PROTECTED_URL_100___", "___PROTECTED_URL_101___" };
    var tasks = urls.Select(u => renderer.RenderUrlAsPdfAsync(u)).ToArray();
    var pdfs = await Task.WhenAll(tasks);

    // Merge all PDFs
    var combined = PdfDocument.Merge(pdfs);
    combined.SaveAs("batch_output.pdf");
}
Imports System
Imports System.Threading
Imports System.Threading.Tasks
Imports System.Linq

Public Module Program
    Public Async Function Main() As Task
        Dim renderer = New ChromePdfRenderer()
        Dim url As String = "___PROTECTED_URL_98___"

        ' Async rendering with cancellation token support
        Using cts As New CancellationTokenSource(TimeSpan.FromMinutes(2))
            Dim pdf As PdfDocument = Await renderer.RenderUrlAsPdfAsync(url, cts.Token)
            pdf.SaveAs("async_output.pdf")
        End Using

        ' For parallel processing of multiple documents
        Dim urls = { "___PROTECTED_URL_99___", "___PROTECTED_URL_100___", "___PROTECTED_URL_101___" }
        Dim tasks = urls.Select(Function(u) renderer.RenderUrlAsPdfAsync(u)).ToArray()
        Dim pdfs = Await Task.WhenAll(tasks)

        ' Merge all PDFs
        Dim combined = PdfDocument.Merge(pdfs)
        combined.SaveAs("batch_output.pdf")
    End Function
End Module
$vbLabelText   $csharpLabel

확장 가능한 시스템 또는 대량의 PDF 생성을 처리하는 클라우드 API에 매우 적합합니다. 더 나은 성능을 위해 병렬 PDF 생성을 고려하세요.

대규모 PDF 생성의 모범 사례는 무엇입니까?

  • 오버헤드를 줄이기 위해 ChromePdfRenderer 인스턴스를 재사용하십시오.
  • 빠른 SSD 스토리지에 임시 파일을 저장하거나 메모리 스트림을 사용합니다.
  • 적절한 취소 토큰 지원이 있는 비동기 작업을 사용합니다.
  • 렌더 지연 시간 설정으로 과도한 JavaScript 렌더링을 방지합니다.
  • 변환 오류를 방지하기 위해 HTML 입력을 검증합니다.
  • 작은 파일을 위해 PDF 압축을 구현합니다.
  • 웹 보기용으로 PDF를 선형화를 고려하세요.

배포를 위해 IronPDF는 Azure, AWS LambdaDocker 컨테이너를 지원합니다. 라이브러리는 광범위한 성능 최적화 지침을 제공합니다.

Enterprise 애플리케이션을 위한 고급 기능

IronPDF는 Enterprise 시나리오를 위해 고급 기능을 제공합니다:

결론

IronPDF 및 .NET 10을 사용하면 HTML 문자열, 로컬 파일 또는 URL을 관계없이 HTML 콘텐츠를 전문적인 PDF로 변환하는 것이 간단합니다. 라이브러리의 Chrome 기반 렌더링 엔진은 CSS3 및 JavaScript를 포함한 최신 웹 표준과의 완벽한 호환성을 보장합니다.

간단한 코드 조각에서 대규모 생성에 이르기까지 IronPDF는 JavaScript, CSS, 사용자 정의 헤더 및 연결된 리소스를 지원하는 HTML에서 PDF로의 완전한 변환기를 제공합니다. 포괄적인 API는 기본 변환부터 디지털 서명PDF 구성과 같은 복잡한 Enterprise 요구 사항까지 모든 것을 처리합니다.

몇 줄의 코드만으로 PDF를 생성하거나, 보고서 생성을 자동화하거나, .NET 애플리케이션에 PDF 변환기를 직접 임베드할 수 있습니다. 라이브러리의 광범위한 문서코드 예시는 시작하기 쉽게 만듭니다.

IronPDF 무료 체험판을 사용하여 오늘 HTML-to-PDF 프로젝트를 실험해보세요. 지금 다운로드하여 HTML 콘텐츠에서 고품질 PDF를 생성하는 것이 얼마나 쉬운지 경험해보세요. 대안과의 상세한 비교를 확인하려면 IronPDF가 iText, Aspose, 및 기타 PDF 라이브러리들과 어떻게 비교되는지 확인하십시오.

자주 묻는 질문

C#에서 HTML을 PDF로 변환하는 주요 목적은 무엇입니까?

C#에서 HTML을 PDF로 변환하는 주요 목적은 웹 콘텐츠, HTML 문서 또는 HTML 문자열에서 전문가 수준의 PDF 파일을 생성하는 것입니다. 이는 기업 또는 SaaS 애플리케이션에서 보고서, 인보이스 및 기타 인쇄 가능한 자산을 생성하는 데 필수적입니다.

.NET 개발자에게 HTML을 PDF로 변환하는 것이 중요한 이유는 무엇입니까?

HTML을 PDF로 변환하는 것은 .NET 개발자에게 중요합니다. 이는 보고서 및 인보이스와 같이 고품질의 공유 가능하고 인쇄 가능한 문서를 생성하는 데 필요한 문서 생성 기능을 애플리케이션에 통합할 수 있기 때문입니다.

IronPDF가 대규모 HTML 문서의 PDF 변환을 처리할 수 있습니까?

네, IronPDF는 대규모 HTML 문서를 효율적으로 처리하고 성능이나 품질을 저하시키지 않고 PDF로 변환할 수 있습니다.

IronPDF가 HTML 문자열을 PDF로 변환하는 것을 지원합니까?

IronPDF는 HTML 문자열을 PDF로 변환하는 것을 지원하여 개발자가 HTML 콘텐츠에서 직접 동적으로 PDF 문서를 생성할 수 있습니다.

어떤 유형의 애플리케이션이 IronPDF를 사용하여 HTML을 PDF로 변환하는 데 이점을 얻습니까?

기업 및 SaaS 애플리케이션은 IronPDF를 사용하여 HTML을 PDF로 변환함으로써 큰 이점을 얻습니다. 이를 통해 보고서 및 인보이스와 같은 전문적인 문서 생성을 자동화할 수 있습니다.

IronPDF는 HTML의 고품질 PDF 출력을 어떻게 보장합니까?

IronPDF는 HTML, CSS 및 JavaScript를 정확하게 변환하여 전문적으로 보이는 PDF를 만들기 위해 고급 렌더링 기술을 사용하여 고품질 PDF 출력을 보장합니다.

IronPDF를 사용하여 HTML에서 생성된 PDF의 외관을 사용자 정의할 수 있습니까?

네, IronPDF는 레이아웃, 폰트 및 스타일을 포함하여 특정 디자인 요구사항에 맞추어 HTML에서 생성된 PDF의 외관을 광범위하게 사용자 정의할 수 있습니다.

IronPDF가 웹 페이지를 직접 PDF로 변환할 수 있습니까?

IronPDF는 웹 페이지를 직접 PDF로 변환할 수 있어 개발자가 실시간 웹 콘텐츠를 쉽게 정적이고 공유 가능한 PDF 문서로 변환할 수 있습니다.

IronPDF가 PDF 문서에 그래픽 및 이미지를 통합하는 것을 지원합니까?

IronPDF는 그래픽 및 이미지 통합을 지원하여 변환된 PDF 문서가 원본 HTML 콘텐츠의 시각적 요소를 유지하도록 보장합니다.

커티스 차우
기술 문서 작성자

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

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

아이언 서포트 팀

저희는 주 5일, 24시간 온라인으로 운영합니다.
채팅
이메일
전화해