IRONSOFTWAREHOME
IRONPDF 사용하기

IronPDF를 사용하여 .NET에서 PDF를 동적으로 생성하는 방법

Curtis Chau
Curtis Chau
Updated: 2026년 4월 21일

IronPDF .NET Core PDF API 개요로 코드 편집기에서 HTML을 PDF로 변환하고 결과 문서를 나란히 보여줍니다

IronPDF는 C# 코드를 통해 PDF 문서를 생성, 변환 및 편집하는 .NET Core 및 .NET 10용 PDF API 입니다. NuGet 패키지를 설치하고, ChromePdfRenderer 인스턴스를 생성하여 몇 줄의 코드로 HTML 문자열, 실시간 URL, 기존 파일에서 PDF를 생성합니다.

PDF 생성은 .NET Core 애플리케이션에서 송장, 보고서, 계약서 및 준수 문서의 표준 요구 사항입니다. 도전 과제는 HTML을 정확하게 렌더링하고, ASP.NET Core 및 Blazor와 깔끔하게 통합되며, Windows, Linux 및 macOS에서 일관된 출력을 생성하고, 별도의 도구 없이 디지털 서명 및 비밀번호 보호와 같은 고급 작업을 처리할 수 있는 라이브러리를 찾는 것입니다. 이 가이드는 IronPDF의 .NET Core PDF API를 설치에서 가장 일반적인 문서 작업까지 안내하며, 각각의 작업에는 작업 중인 C# 코드 예제가 포함되어 있습니다.

IronPDF를 .NET Core에서 시작하는 방법은 무엇입니까?

NuGet에서 패키지 관리자 콘솔 또는 .NET CLI를 사용하여 IronPDF를 설치합니다:

# Package Manager Console
Install-Package IronPdf

# .NET CLI
dotnet add package IronPdf
SHELL

설치 후 애플리케이션 시작 시 Program.cs에 라이선스 키를 추가하세요:

using IronPdf;

// Configure your license key before any IronPDF operations
License.LicenseKey = "YOUR-LICENSE-KEY";

무료 체험판은 평가를 위해 신용카드 없이 사용할 수 있습니다. IronPDF는 .NET 10, .NET 9, .NET 8, .NET Framework 4.6.2+ 및 모든 주요 .NET Core 버전을 지원합니다. 라이브러리는 추가 런타임 종속성 없이 Windows, macOS 및 Linux에서 실행되며, 컨테이너화된 배포 및 Azure, Docker 및 AWS를 포함한 클라우드 환경에 적합합니다.

ASP.NET Core 프로젝트의 경우, 앱을 빌드하기 전에 Program.cs에서 IronPDF 서비스를 등록한 후 표준 종속성 주입 컨테이너를 통해 ChromePdfRenderer을(를) 주입하세요. IronPDF는 Web API, MVC, Razor Pages 및 Blazor Server를 포함한 ASP.NET Core 프로젝트 유형과 통합됩니다. NuGet 패키지는 기본 런타임 라이브러리나 외부 실행 파일을 요구하지 않고 단일 종속성으로 설치되어, CI 파이프라인 및 컨테이너 이미지를 간단하게 유지합니다. 표준 .NET SDK를 제외하고는 Linux 또는 macOS 배포를 위한 추가 구성은 필요하지 않습니다.

ChromePdfRenderer는 스레드 안전성이 있으므로, 이를 싱글톤으로 등록하고 요청 핸들러 간에 공유할 수 있습니다. 고성능 시나리오에서는 렌더러 인스턴스의 풀을 생성하거나 PDF 생성이 실행되는 동안 요청 스레드가 차단되지 않도록 비동기 렌더 메서드 (RenderHtmlAsPdfAsync, RenderUrlAsPdfAsync)을 사용하세요. IronPDF의 라이선싱 페이지는 프로덕션 환경에 대한 배포 시트 및 동시 스레드 제한을 다룹니다.

C#에서 HTML로부터 어떻게 PDF를 생성할까요?

HTML-to-PDF 변환은 .NET PDF API의 가장 일반적인 사용 사례입니다. IronPDF의 ChromePdfRenderer는 HTML 문자열, 로컬 파일 또는 실시간 URL을 변환하며, CSS 스타일, 폰트, JavaScript 출력 및 이미지를 Chrome에서 렌더링된 그대로 유지합니다.

using IronPdf;

// Create the renderer and define HTML content with full CSS support
var renderer = new ChromePdfRenderer();
var html = @"<html>
<head>
    <style>
        body { font-family: Arial; font-size: 14px; margin: 40px; }
        h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
        table { border-collapse: collapse; width: 100%; margin-top: 16px; }
        td, th { border: 1px solid #ddd; padding: 10px; text-align: left; }
        th { background: #3498db; color: white; }
    </style>
</head>
<body>
    <h1>Sales Report - Q4 2025</h1>
    <p>Generated on: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
    <table>
        <tr><th>Product</th><th>Units Sold</th><th>Revenue</th></tr>
        <tr><td>Widget A</td><td>1,200</td><td>$24,000</td></tr>
        <tr><td>Widget B</td><td>850</td><td>$17,000</td></tr>
    </table>
</body>
</html>";

var document = renderer.RenderHtmlAsPdf(html);
document.SaveAs("sales-report.pdf");

PDF 문서 출력

IronPDF의 HTML을 PDF로 변환하는 Visual Studio 프로젝트가 스타일이 적용된 데이터 테이블이 있는 포맷된 판매 보고서를 생성합니다

ChromePdfRenderer은/는 PdfDocument 객체를 반환하며 이를 파일 경로에 저장하거나 HTTP 응답을 위한 byte[]으로 내보내거나 인메모리 처리용 MemoryStream에 쓸 수 있습니다. 렌더러는 사용자 정의 글꼴, 플렉스 박스, 그리드 레이아웃, 미디어 쿼리 및 여백 및 페이지 크기 제어를 위한 @page 규칙을 포함한 모든 CSS 속성을 존중합니다. 디스크에 저장된 HTML 템플릿과 CSS 및 이미지 자산의 경우 파일 경로를 일대일 문자열로 전달하는 대신 RenderHtmlFileAsPdf을 호출하세요. IronPDF는 파일의 디렉토리에 대해 상대 자산 경로를 해결하므로, 연결된 스타일 시트 및 로컬 이미지는 추가 구성 없이 출력에 나타납니다.

실시간 웹 페이지를 캡처해야 하는 애플리케이션의 경우 RenderUrlAsPdfAsync을(를) 사용하여 JavaScript를 실행하면서 모든 URL의 스크린샷을 찍으세요:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Render a live URL including all JavaScript-rendered content
var document = await renderer.RenderUrlAsPdfAsync("https://example.com/monthly-report");
document.SaveAs("monthly-report.pdf");

// Return PDF bytes in an ASP.NET Core controller
byte[] pdfBytes = document.BinaryData;
return File(pdfBytes, "application/pdf", "report.pdf");

URL 렌더링은 JavaScript가 완전히 실행될 때까지 대기하여, 동적으로 로드된 차트, 테이블 및 데이터 시각화가 출력 PDF에 올바르게 나타나도록 합니다. 렌더링 옵션을 설정하여 페이지 여백, 용지 크기, 방향 및 JavaScript 실행 제한 시간을 설정할 수 있습니다. 인증 쿠키와 사용자 정의 HTTP 헤더도 렌더링 전에 요청에 주입될 수 있으며, 이는 로그인된 세션이 필요한 페이지를 캡처하는 것을 지원합니다.

PDF 페이지 레이아웃 및 렌더링 옵션을 설정하려면 어떻게 해야 하나요?

RenderingOptions 속성은 ChromePdfRenderer에서 모든 렌더링 호출이 실행되기 전에 페이지 크기, 여백, 방향 및 JavaScript 대기 동작을 제어합니다. 렌더러 인스턴스에서 이러한 속성을 한 번 설정하면 렌더링하는 모든 문서에 적용됩니다.

using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure page layout before rendering
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginTop = 15;
renderer.RenderingOptions.MarginBottom = 15;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Wait for dynamic JavaScript content before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(500);

var document = renderer.RenderHtmlAsPdf("<h1>Landscape Report</h1><p>Body content here.</p>");
document.SaveAs("landscape-report.pdf");

용지 크기 값은 A4, A3, 레터, 법적 문서, 밀리미터로 지정된 사용자 정의 크기를 포함한 표준 형식을 다룹니다. 여백 속성은 밀리미터로 값을 받아들이며 각각의 가장자리에 독립적으로 적용됩니다. WaitFor API는 JavaScript 실행 타이밍을 제어하며, 이는 차트 렌더링 또는 계산 테이블 값 이전에 HTML이 비동기적으로 데이터를 로드할 때 유용합니다. CSS @page 규칙을 사용하는 페이지의 경우 IronPDF는 해당 선언을 존중하고 직접 적용합니다. 렌더링 옵션 참조에서 줌 팩터, 배경색 및 PDF 버전 선택을 포함한 전체 속성 목록을 참조하십시오.

DOCX 파일 및 이미지를 PDF로 변환하는 방법은?

HTML 외에도 IronPDF는 DOCX 문서, 일반 이미지 형식 및 Markdown 파일을 PDF로 변환합니다. 이는 여러 입력 유형을 수용하는 처리 파이프라인을 지원합니다.

using IronPdf;

// Convert a Word document to PDF while preserving its formatting
var docxPdf = new DocxToPdfRenderer().RenderDocxAsPdf("contract.docx");
docxPdf.SaveAs("contract.pdf");

// Combine multiple images into a single multi-page PDF
var images = new[] { "page1.png", "page2.png", "page3.png" };
var imagePdf = ImageToPdfConverter.ImageToPdf(images);
imagePdf.SaveAs("scanned-document.pdf");

예제 입력 DOCX과 출력 PDF

IronPDF로 변환된 PDF 출력과 원본 Word 문서의 나란히 비교, 보존된 표 형식 및 스타일을 보여줍니다

DOCX에서 PDF로의 변환 기능은 소스 Word 문서의 단락 스타일, 테이블, 헤더, 푸터, 매입 이미지 및 리스트를 보존합니다. 이미지를 PDF로 변환하는 도구는 JPEG, PNG, TIFF, BMP, GIF를 수용하고 출력 파일 크기를 자동으로 최적화하며 여러 이미지를 단일 페이지 문서로 결합하는 것을 지원합니다. 두 변환기는 표준 PdfDocument 인스턴스를 반환하므로 병합, 서명 또는 워터마킹과 같은 편집 작업과 연결할 수 있습니다. Microsoft Word에서 생성된 DOCX 파일의 경우, 변환기는 복잡한 테이블 구조 및 매입 이미지를 다루면서 원래의 단락 및 머리글 계층 구조를 유지합니다.

디지털 서명 및 양식 필드를 어떻게 추가합니까?

프로덕션 문서 워크플로는 종종 진위성을 위한 암호화 서명과 데이터 수집을 위한 대화형 양식 필드를 요구합니다. IronPDF는 동일한 API를 통해 디지털 서명PDF 양식 지원을 제공합니다.

using IronPdf;
using IronPdf.Signing;

// Load an existing PDF and apply a digital signature using an X.509 certificate
var pdf = PdfDocument.FromFile("agreement.pdf");
var signature = new PdfSignature("certificate.pfx", "pfx-password");
pdf.Sign(signature);

// Populate named form fields with dynamic application data
pdf.Form.FindFormField("CustomerName").Value = "Acme Corporation";
pdf.Form.FindFormField("ContractDate").Value = DateTime.Now.ToString("yyyy-MM-dd");
pdf.Form.FindFormField("Amount").Value = "$12,500.00";

pdf.SaveAs("signed-agreement.pdf");

검증된 서명 예

Adobe Acrobat에서 IronPDF의 PdfSignature API로 서명된 PDF의 검증된 디지털 서명 패널을 보여줍니다

디지털 서명은 PFX 형식의 X.509 인증서를 사용하며 Adobe Acrobat 및 기타 PDF 뷰어에서 인정하는 PDF 서명 표준을 준수합니다. Acrobat의 서명 패널은 인증서 발급자, 서명 시간 및 무결성 상태를 확인합니다. PDF 양식 API는 텍스트 필드, 체크박스, 라디오 버튼, 드롭다운 메뉴를 지원합니다. 양식 템플릿을 프로그래밍 방식으로 생성하고, 런타임 시 데이터를 입력하며, 작성된 문서에서 제출된 필드 값을 읽을 수 있습니다. 이 패턴은 계약 관리, HR 채용, 자동화된 데이터 수집 파이프라인에 유용하며, 동일한 PDF 템플릿이 다른 필드 값과 함께 여러 거래에 걸쳐 재사용됩니다.

타임스탬프 기반 서명을 위해 PdfSignature 인스턴스를 타임스탬프 서버 URI로 구성하여 서명 시각이 로컬 시스템 시계가 아닌 신뢰할 수 있는 제3자에 의해 인증되도록 전달하세요. 서명 가이드는 가시적 서명 이미지, 다중 순차 서명자, 인증서 유효성 검사 옵션을 다룹니다.

기존 PDF 문서를 어떻게 편집하고 조작합니까?

IronPDF를 사용하면 PDF 파일을 HTML에서 다시 빌드하지 않고 수정할 수 있습니다. 헤더, 바닥글, 워터마크, 주석을 추가하거나 페이지를 프로그래밍 방식으로 병합하고 분할합니다.

using IronPdf;

var document = PdfDocument.FromFile("report.pdf");

// Add a semi-transparent watermark using HTML
document.ApplyWatermark("<h2 style='color:red; opacity:0.4; transform:rotate(-30deg)'>CONFIDENTIAL</h2>",
    rotation: 30, opacity: 50);

// Add a branded header to every page
document.AddHtmlHeaders(new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align:right; font-size:10px; color:#666'>Internal Use Only - Page {page} of {total-pages}</div>"
});

// Append supplementary pages from a second document
var appendix = PdfDocument.FromFile("appendix.pdf");
document.AppendPdf(appendix);

document.SaveAs("final-report.pdf");

// Export to bytes for HTTP streaming
byte[] pdfBytes = document.BinaryData;

출력 예제

IronPDF가 추가한 기밀 워터마크와 브랜딩된 헤더가 페이지 번호와 첨부된 부록 페이지를 보여주는 PDF 문서

HTML 헤더 및 바닥글 API는 동적 콘텐츠를 위한 {page}, {total-pages}, {date}을 포함한 템플릿 변수를 지원합니다. 맞춤 워터마크 메서드는 HTML 조각을 수용하여 모든 페이지에 스타일이 있는 회전된 반투명의 오버레이를 한 번의 호출로 적용할 수 있습니다. 페이지 범위별로 PDF를 분할하거나 여러 문서를 병합하고, 임베디드 이미지 및 텍스트 콘텐츠를 추출할 수도 있습니다. 텍스트 추출은 열 및 표 간 읽기 순서를 유지하며, 이는 검색 색인화, 콘텐츠 마이그레이션 또는 데이터 유효성 검사 작업 흐름의 다운스트림 처리를 간소화합니다.

비밀번호 보호 및 보안 설정을 어떻게 적용합니까?

재무 보고서, 법률 문서 및 HR 기록에 대해 비밀번호 및 권한 플래그로 PDF 문서를 보호하는 것은 표준 요구 사항입니다.

using IronPdf;
using IronPdf.Security;

var pdf = PdfDocument.FromFile("financial-report.pdf");

// Set passwords: UserPassword controls opening, OwnerPassword controls editing
pdf.SecuritySettings.UserPassword = "viewer-password";
pdf.SecuritySettings.OwnerPassword = "admin-password";

// Configure fine-grained permissions
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.PrintLowResolution;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserFormData = false;

pdf.SaveAs("protected-report.pdf");

PDF 보안 설정 API는 128비트 또는 256비트 AES 암호화를 적용합니다. UserPassword을 설정하면 PDF 보기를 열 때 독자가 비밀번호를 입력해야 합니다. OwnerPassword을 설정하면 프로그래매틱한 수정 및 소유자 수준의 작업이 제한됩니다. 권한 플래그는 인쇄 품질, 텍스트 선택, 주석 및 양식 필드 액세스를 독립적으로 제어합니다. 보안 설정을 적용한 후 BinaryData 속성은 저장 또는 HTTP 전송을 위한 암호화된 PDF 바이트를 반환합니다. 이러한 설정은 PDF 사양의 액세스 제어 모델을 준수하므로 보호된 문서는 Adobe Acrobat, 브라우저 기반 PDF 뷰어 및 모바일 읽기 애플리케이션에서 올바르게 열립니다.

소유한 문서의 보호를 제거하려면 소유자 비밀번호를 매개변수로 전달하여 PdfDocument.FromFile으로 파일을 로드한 후 보안 설정을 적용하지 않고 저장하세요. 이는 암호로 보호된 파일이 입력으로 도착하고 재배포 전에 변환되어야 하는 서버 측 워크플로에서 프로그래밍 방식의 문서 처리를 허용합니다.

다음 단계는 무엇입니까?

IronPDF의 .NET Core용 PDF API는 HTML 문자열 및 URL에서 생성하고, DOCX 및 이미지 파일을 변환하며, 페이지 레이아웃 및 렌더링 옵션을 구성하고, 워터마크, 헤더 및 바닥글을 수정하고, 디지털 서명을 적용하며, 문서를 암호화로 보호하는 전체 문서 수명 주기를 C#에서 처리합니다. 모든 작업은 Windows, macOS, Linux에서 .NET 8, .NET 9 및 .NET 10을 가로지르는 일관된 API를 사용합니다.

무료 체험판을 시작하여 자신의 문서로 IronPDF를 평가해 보세요. 추가 사례에 대해서는 HTML을 PDF로 렌더링하는 옵션 가이드, PDF 압축 및 최적화 및 전체 IronPDF 기능 개요를 탐색하세요. 라이선스 옵션을 검토하여 프로덕션 배포에 사용하십시오.

Curtis Chau
기술 문서 작성자

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

...
더 읽어보기

관련 기사

Key in blue circle

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

Your trial license will be sent to your email address

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

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.제한 없음. 100% 무제한 이용. 신용카드 불필요.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
무료 라이브 데모를 예약하세요
Booking Badge

전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.

Iron Software의 고객 로고
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.