IRONSOFTWAREHOME

.NET 용 Iron Suite

10개의 .NET 라이브러리. 완전한 문서 슈트

IRON SUITE 사용하기

HTML 파일에서 C#으로 PDF 생성

Curtis Chau
Curtis Chau
Updated: 2026년 6월 15일

IronPDF는 HTML을 프로그래밍 방식으로 PDF 문서로 변환합니다.

C#에서 PDF를 생성하는 방법 - HTML을 PDF로 변환하는 예제

이 전체 기사의 소스 코드는 C#으로 C# HTML에서 PDF 프로젝트 소스 코드 다운로드로 제공됩니다.

다음 튜토리얼은 C# PDF 생성기로 IronPDF를 사용하는 과정을 안내합니다. 기본적인 내용뿐만 아니라 많은 고급 C# PDF 주제를 다룹니다.

HTML에서 PDF로 워크스루

이 데모는 IronPDF를 사용하는 방법에 대한 예제를 안내합니다. Iron Software로부터 추가 사용 사례 데모 요청.

데모는 Hello World, RenderHtmlAsPdfRenderUrlAsPdf 예제로 구성되어 있습니다. 모든 예제는 IronPDF Demo 솔루션의 해당 프로젝트 아래에서 찾을 수 있습니다.

1단계: 설치

IronPDF를 NuGet을 통해 설치할 수 있습니다. 패키지 이름은 IronPDF NuGet Package입니다.

또는 직접 라이브러리 다운로드를 사용할 수 있습니다.

2단계: Hello World

IronPDF를 설치하고 프로젝트에 참조한 후에는 몇 가지 문자열을 입력하여 바로 사용할 수 있습니다:

// Create a new instance of ChromePdfRenderer
var chromePdfRenderer = new ChromePdfRenderer();

그리고 HTML을 PDF로 변환해야 하는 경우:

// Define HTML content to turn into PDF
var html = @"<h1>Hello World!</h1><br><p>This is IronPdf.</p>";

// Render the HTML string as a PDF
using var pdf = chromePdfRenderer.RenderHtmlAsPdf(html);

// Save the resulting PDF to a file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRenderer.Pdf"));

또는 웹 페이지를 PDF 파일로 변환하려는 경우:

// URI of the page to turn into PDF
var uri = new Uri("http://www.google.com/ncr");

// Render the webpage as a PDF
using var pdf = chromePdfRenderer.RenderUrlAsPdf(uri);

// Save the resulting PDF to a file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));

그게 전부입니다! 해당 결과는 다음과 같습니다:

HTML 파일에서 C#로 PDF 생성, 그림 1: HTML을 PDF로 변환한 결과 HTML을 PDF로 변환한 결과

HTML 파일에서 C#로 PDF 생성, 그림 2: 웹 페이지를 PDF로 변환한 결과 웹 페이지를 PDF로 변환한 결과

IronPDFDemo.HelloWorld 프로젝트에서 코드 샘플을 찾으십시오.

3단계: RenderHtmlAsPdf

예제 1

더 실용적인 예제를 평가하기 위해, PDF로 전환해야 하는 HTML 인보이스를 상상해보세요. 이렇게 하는 방법에 대한 코드입니다.

참고: 인보이스 HTML은 IronPDFDemo.DemoWebSite 프로젝트(~/Static/TestInvoice1.html)에서 찾을 수 있습니다. 인보이스에는 '인쇄' 미디어 타입에 대한 사용자 정의 CSS가 있다는 점을 유의하십시오.

원본 인보이스는 브라우저에서 이렇게 보입니다:

HTML 파일에서 C#로 PDF 생성, 그림 4:


이를 PDF 파일로 변환하기 위해, 위의 HelloWorld 예제와 유사한 코드가 사용되며, 차이점은 원본 HTML 파일입니다.

// Read HTML from file
var html = File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "TestInvoice1.html"));
var chromePdfRenderer = new ChromePdfRenderer();
using var pdf = chromePdfRenderer.RenderHtmlAsPdf(html);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRendererExample1.Pdf"));

결과는 다음과 같습니다:

HTML 파일에서 C#로 PDF 생성, 그림 5: HTML에서 PDF 파일 생성 HTML에서 PDF 파일 생성

훌륭하게 보입니다! IronPDFDemo.RenderHtmlAdPdfDemo 프로젝트에서 코드 샘플을 찾으십시오.

IronPDF에서 Byte Arrays와 HTML 문서 또는 문자열 사용하는 방법 이 질문도 보십시오.

예제 2

이 섹션은 예제 1에서 생성된 PDF를 사용자 정의하는 데 도움이 됩니다. 예를 들어, 사용자 정의 마진, 문서 제목이 있는 헤더, 생성 날짜 및 페이지 번호가 있는 푸터, 표준 인보이스에 있는 '인쇄' 미디어 타입에 대한 사용자 정의 CSS를 추가합니다. 이를 위해 ChromePdfRenderOptions의 인스턴스가 초기화되어 ChromePdfRenderer 생성자로 전달됩니다.

// Configure rendering options with margins, headers, and footers
var pdfRenderingOptions = new ChromePdfRenderOptions()
{
    MarginTop = 50,
    MarginBottom = 50,
    TextHeader = new TextHeaderFooter()
    {
        CenterText = "{pdf-title}",
        DrawDividerLine = true,
        FontSize = 16
    },
    TextFooter = new TextHeaderFooter()
    {
        LeftText = "{date} {time}",
        RightText = "Page {page} of {total-pages}",
        DrawDividerLine = true,
        FontSize = 14
    },
    CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
};

var chromePdfRenderer = new ChromePdfRenderer(pdfRenderingOptions);

팁: 생성자에 옵션을 매개변수로 전달하는 대신, ChromePdfRenderer 인스턴스에 해당 필드를 설정할 수 있습니다:

var chromePdfRenderer = new ChromePdfRenderer();
chromePdfRenderer.RenderingOptions = pdfRenderingOptions;

참고: 머리글과 바닥글 기능은 병합 기능을 제공합니다. 즉, 모든 병합 필드 ({page}, {total-pages}, {url}, {date}, {time}, {html-title}, {pdf-title})는 해당 데이터로 채울 수 있습니다.

나머지 코드는 예제 1과 동일합니다. 결과는:

HTML 파일에서 C#로 PDF 생성, 그림 6: 머리글과 바닥글이 포함된 인보이스 생성 헤더와 푸터로 인보이스 생성

사용자 정의 마진, 헤더, 푸터 및 '인쇄' 미디어 타입을 위한 CSS가 이제 설정되었습니다. IronPDFDemo.RenderHtmlAdPdfDemo 프로젝트에서 코드 샘플을 찾으십시오. IronPDF API 참조 에서 더 많은 설정을 찾을 수 있습니다.

4단계: RenderUrlAsPdf

설정

이 섹션의 샘플을 실행하려면 IronPDFDemo.DemoWebSite를 로컬에서 호스트해야 합니다. IIS Express에서 그렇게 하려면:

  1. DemoWebSite로 이동합니다
  2. 오른쪽 클릭 > 시작 프로젝트로 설정
  3. 디버그 없이 시작 (Ctrl+F5)
  4. 작동 중인지 확인하기 위해 {baseurl}/Static/TestInvoice1.html으로 이동하십시오. 이것은 URL http://localhost:51169/Static/TestInvoice1.html입니다 (해당 프로젝트 설정을 변경하지 않으면 동일하게 유지됩니다).

예제 1

이 섹션에서는 호스팅된 DemoWebSite 인보이스가 HelloWorld 예제와 동일한 코드로 PDF로 변환됩니다. 차이점은 호스트된 URL에 있습니다:

// URL of the hosted invoice webpage
var uri = new Uri("http://localhost:51169/Static/TestInvoice1.html");
var urlToPdf = new ChromePdfRenderer();
using var pdf = urlToPdf.RenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample1.Pdf"));

결과는 다음과 같습니다:

HTML 파일에서 C#로 PDF 생성, 그림 7: 호스팅된 웹사이트를 PDF로 생성 호스팅된 웹사이트를 PDF로 생성

훌륭하며 기대한 대로 보입니다. IronPDFDemo.RenderUrlAsPdfDemo 프로젝트 내에서 코드 샘플을 찾으십시오.

예제 2

많은 웹사이트는 종종 인증 방법으로 보호됩니다. 이 섹션에서는 PDF 파일을 렌더링하는 과정에서 제공된 사용자 이름과 비밀번호를 사용하여 일부 사용자 정의 작업: 사용자 정의 마진, 문서 제목이 있는 헤더, 생성 날짜 및 페이지가 있는 푸터, '인쇄' 미디어 타입을 위한 사용자 정의 CSS를 수행합니다. 인보이스의 URL은 http://localhost:51169/Invoice에 있습니다.

http://localhost:51169/Invoice에 접근하면 '인증 필요' 양식이 표시됩니다:

HTML 파일에서 C#로 PDF 생성, 그림 8: 인증 필요 양식 인증이 필요한 양식

참고: 자격 증명은 "testUser"/"testPassword"입니다.

그렇다면 인증을 우회하는 방법은 무엇입니까? HttpLoginCredentials 설정하기:

// URL of the protected invoice webpage
var uri = new Uri("http://localhost:51169/Invoice");

// Configure renderer with login credentials to bypass authentication
var urlToPdf = new ChromePdfRenderer
{
    RenderingOptions = new ChromePdfRenderOptions()
    {
        MarginTop = 50,
        MarginBottom = 50,
        TextHeader = new TextHeaderFooter()
        {
            CenterText = "{pdf-title}",
            DrawDividerLine = true,
            FontSize = 16
        },
        TextFooter = new TextHeaderFooter()
        {
            LeftText = "{date} {time}",
            RightText = "Page {page} of {total-pages}",
            DrawDividerLine = true,
            FontSize = 14
        },
        CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
    },

    // Set login credentials to bypass basic authentication
    LoginCredentials = new HttpLoginCredentials()
    {
        NetworkUsername = "testUser",
        NetworkPassword = "testPassword"
    }
};

using var pdf = urlToPdf.RenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample2.Pdf"));

참고: ChromePdfRenderer Example2와 동일한 맞춤 설정이 사용됩니다.

결과는 다음과 같습니다:

HTML 파일에서 C#로 PDF 생성, 그림 9: 자격증명을 포함하여 HTML 사이트를 PDF 파일로 생성 자격 증명이 포함된 HTML 사이트를 PDF 파일로 생성

모든 것이 준비되었습니다. IronPDFDemo.RenderUrlAsPdfDemo 프로젝트에서 코드 샘플을 찾아보세요. HttpLoginCredentials 없이 결과가 어떻게 보일지 궁금하시다면, 여기 있습니다:

HTML 파일에서 C#로 PDF 생성, 그림 10: 자격증명 없이 빈 PDF 파일 생성 자격 증명 없이 비어 있는 PDF 파일 생성

또한 Jean의 .NET HTML to PDF 튜토리얼을 참조하세요

또한, IronPDF는 PDF와 상호 작용할 수 있는 다양한 방법을 제공합니다:

Key in blue circle

무료 30일 체험 키를 즉시 받으세요.

Your trial license will be sent to your email address

제한 없음. 100% 무제한 이용. 신용카드 불필요.

OR
bullet_checked신용카드나 계정 생성은 필요하지 않습니다.제한 없음. 100% 무제한 이용. 신용카드 불필요.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.