.NET에서 C#을 사용하여 HTML을 PDF로 변환하는 방법
현대 웹 애플리케이션에서는 HTML 콘텐츠에서 문서를 생성하는 것이 일반적인 요구 사항입니다. 청구서, 보고서 또는 기타 문서를 생성해야 하는 경우, IronPDF 라이브러리를 사용하여 ASP.NET에서 C#으로 HTML을 PDF로 변환할 수 있습니다.
오늘은 IronPDF를 설정하고 이를 사용하여 HTML 콘텐츠를 PDF 문서로 변환하는 방법을 탐구할 것입니다.
IronPDF를 사용하여 ASP.NET에서 HTML을 PDF로 변환하는 방법
- Visual Studio 또는 선호하는 IDE를 사용하여 ASP.NET 프로젝트를 만듭니다.
- IronPDF를 설치하고 라이선스 키를 설정합니다.
- PDF 변환을 처리하려는 새 컨트롤러 또는 페이지를 만듭니다.
- 컨트롤러 내에 변환 로직을 작성합니다.
- PDF 생성 액션에 접근할 수 있도록 라우팅을 구성합니다.
IronPDF 개요
IronPDF는 개발자가 PDF 문서를 읽고 생성하고 조작할 수 있게 해주는 강력한 PDF 라이브러리입니다. 풍부한 기능 세트와 빠르고 간단한 설치 과정을 통해 IronPDF 덕분에 PDF 프로젝트를 빠르게 다음 단계로 이끌 수 있습니다. 직관적인 API는 배우기 쉬워, 동적 PDF 문서 생성, PDF 보안 작업 수행, PDF 주석 추가 등을 웹 애플리케이션에서 직접 수행하려는 경우 이상적인 선택입니다.
특징
- PDF 변환: IronPDF는 최신 웹 표준에 완전히 지원되며 HTML 파일을 PDF로 변환할 수 있습니다. IronPDF는 HTML 페이지에서 항상 픽셀 완벽한 PDF를 반환할 것임을 보장합니다. IronPDF는 또한 DOCX, 이미지, RTF 등 다른 형식의 PDF 파일을 변환할 수 있습니다.
- PDF 생성: IronPDF를 사용하면 웹 페이지, ASPX 파일, HTML 문자열 등에서 PDF를 생성할 수 있습니다.
- 보안 기능: IronPDF는 보안 기능 덕분에 모든 민감한 PDF 파일이 안전하다는 확신을 드립니다. IronPDF를 사용하여 PDF 파일을 암호화하고, 비밀번호를 설정하며, PDF 파일에 대한 권한을 설정하십시오.
- PDF 편집 기능: IronPDF를 사용하면 기존 PDF 문서를 처리하고, 편집하고, PDF 파일을 쉽게 읽을 수 있습니다. IronPDF는 PDF 페이지에 헤더와 푸터 추가, 텍스트 및 이미지를 PDF 페이지에 스탬핑, 사용자 정의 워터마크 추가, PDF 폼 작업, PDF 파일 분할 또는 병합 등의 편집 기능을 제공합니다.
필수 조건
시작하기 전에 다음을 확인하세요:
- Visual Studio 또는 다른 C# 개발 환경을 설정합니다.
- IronPDF 라이브러리를 설치합니다. NuGet 또는 IronPDF 웹사이트에서 받을 수 있습니다.
새로운 ASP.NET 프로젝트 생성
Visual Studio를 실행하고 필요에 가장 적합한 ASP.NET 프로젝트 유형을 선택하십시오. 오늘 예시에서는 ASP.NET Core Web App (모델-뷰-컨트롤러)을 생성할 것입니다.

그런 다음, 프로젝트의 이름을 입력하고 프로젝트를 둘 위치를 선택하세요.

마지막으로, 프로젝트에 사용할 .NET Framework를 선택하고 인증 유형, 컨테이너 지원 및 Docker를 활성화하는 것과 같은 추가 설정을 변경합니다.

컨트롤러 생성
HTML을 PDF로 변환할 코드를 포함할 새로운 컨트롤러를 만들기 위해 솔루션 탐색기의 "Controllers" 폴더를 오른쪽 클릭하고 "Add -> Controller"를 선택합니다.

그러면 어떤 형태의 컨트롤러를 프로젝트에 추가할지 선택할 수 있는 새로운 창이 열립니다. 우리는 빈 MVC 컨트롤러를 선택했습니다.

마지막으로, 새로운 컨트롤러에 이름을 주고 "Add"를 클릭하여 프로젝트에 추가합니다.

HTML에서 PDF로 변환 코드 추가
이제 ASP.NET 프로젝트를 생성했으므로 HTML 파일 콘텐츠를 PDF로 변환하는 코드를 작성할 수 있습니다. 먼저 HTML 문자열을 PDF로 변환하는 간단한 예제를 시작한 후에 HTML 콘텐츠를 커스터마이징하여 변환하는 방법을 살펴보겠습니다.
using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
public class PdfController : Controller
{
// Action method to generate a PDF from HTML content
public IActionResult GeneratePdf()
{
// String of HTML code to be converted to PDF
string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
// Creating a renderer to convert the HTML string to PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Convert HTML string to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Return the generated PDF file
return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
}
}
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
public class PdfController : Controller
{
// Action method to generate a PDF from HTML content
public IActionResult GeneratePdf()
{
// String of HTML code to be converted to PDF
string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
// Creating a renderer to convert the HTML string to PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Convert HTML string to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Return the generated PDF file
return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
}
}
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Namespace IronPdfTest.Controllers
Public Class PdfController
Inherits Controller
' Action method to generate a PDF from HTML content
Public Function GeneratePdf() As IActionResult
' String of HTML code to be converted to PDF
Dim htmlContent As String = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>"
' Creating a renderer to convert the HTML string to PDF
Dim renderer As New ChromePdfRenderer()
' Convert HTML string to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
' Return the generated PDF file
Return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf")
End Function
End Class
End Namespace

ASP.NET MVC는 사용자 요청을 처리하기 위해 컨트롤러를 사용합니다. 사용자가 특정 URL로 이동할 때, ASP.NET은 해당 경로와 연관된 컨트롤러의 메소드를 호출합니다.
- PdfController는 컨트롤러에서 상속받은 클래스로, 웹 요청을 처리하고 응답을 보낼 수 있습니다.
- 이 컨트롤러 내의 GeneratePdf 메소드는 HTML을 PDF로 변환하고 결과를 반환하는 요청을 처리합니다.
사용자가 GeneratePdf 액션과 연결된 URL을 방문하면, 메소드가 실행됩니다.
-
IActionResult: 이 타입은 웹 애플리케이션이 사용자에게 되돌려줄 응답을 나타냅니다. 뷰(HTML 페이지)일 수도 있고, 파일 다운로드 일 수도 있습니다. 이 경우에는 PDF 파일입니다.
-
GeneratePdf() 메소드:
-
메서드 내부에서 PDF로 변환하고자 하는 HTML을 포함하는 문자열 htmlContent를 정의합니다. For example,
"<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>". -
HTML을 PDF로 변환하는 ChromePdfRenderer의 새 인스턴스를 생성합니다.
- 메서드 RenderHtmlAsPdf()는 HTML 문자열을 받아 PDF 객체를 반환합니다.
-
라우팅 설정
ASP.NET MVC 애플리케이션에서 URL을 컨트롤러 메서드(액션)로 매핑하는 루트를 정의합니다. 예를 들어, 브라우저에서 /Pdf/GeneratePdf로 이동하면 ASP.NET은 PdfController를 찾고 그 GeneratePdf 메서드를 호출합니다. 라우팅 설정이 GeneratePdf 액션에 대한 접근을 허용하는지 확인하세요. ASP.NET Core MVC를 사용 중이라면 주로 자동으로 설정됩니다. 웹 API를 사용하는 경우, 루트가 제대로 설정되어 있는지 확인하세요.
맞춤형 PDF 출력
기본 사항을 숙지했으니, 이제 출력 PDF에 맞춤형 설정을 적용해 HTML 콘텐츠로부터 PDF 파일을 생성하는 방법을 살펴보겠습니다. IronPDF는 여백, 헤더/푸터, 맞춤형 PDF 크기 등 강력한 PDF 커스터마이제이션 도구를 제공합니다.
using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
// Controller for our PDF converter
public class PdfController : Controller
{
// Action method to generate a customized PDF from HTML content
public IActionResult GeneratePdf()
{
// String of HTML code to be converted to PDF
string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
// Creating a renderer to convert the URL to PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Creating the cover page
PdfDocument cover = renderer.RenderHtmlAsPdf("<h1>Cover Page</h1>");
// Adding custom options for our final PDF
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A3;
renderer.RenderingOptions.TextHeader.CenterText = "IronPDF";
renderer.RenderingOptions.TextHeader.FontSize = 12;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.FirstPageNumber = 2;
// Creating our main PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Appending the cover to the main PDF
pdf.InsertPdf(cover, 0);
// Return the customized generated PDF file
return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
}
}
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
// Controller for our PDF converter
public class PdfController : Controller
{
// Action method to generate a customized PDF from HTML content
public IActionResult GeneratePdf()
{
// String of HTML code to be converted to PDF
string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
// Creating a renderer to convert the URL to PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Creating the cover page
PdfDocument cover = renderer.RenderHtmlAsPdf("<h1>Cover Page</h1>");
// Adding custom options for our final PDF
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A3;
renderer.RenderingOptions.TextHeader.CenterText = "IronPDF";
renderer.RenderingOptions.TextHeader.FontSize = 12;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.FirstPageNumber = 2;
// Creating our main PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Appending the cover to the main PDF
pdf.InsertPdf(cover, 0);
// Return the customized generated PDF file
return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
}
}
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Namespace IronPdfTest.Controllers
' Controller for our PDF converter
Public Class PdfController
Inherits Controller
' Action method to generate a customized PDF from HTML content
Public Function GeneratePdf() As IActionResult
' String of HTML code to be converted to PDF
Dim htmlContent As String = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>"
' Creating a renderer to convert the URL to PDF
Dim renderer As New ChromePdfRenderer()
' Creating the cover page
Dim cover As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Cover Page</h1>")
' Adding custom options for our final PDF
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A3
renderer.RenderingOptions.TextHeader.CenterText = "IronPDF"
renderer.RenderingOptions.TextHeader.FontSize = 12
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.FirstPageNumber = 2
' Creating our main PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
' Appending the cover to the main PDF
pdf.InsertPdf(cover, 0)
' Return the customized generated PDF file
Return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf")
End Function
End Class
End Namespace

결론
오늘 우리는 HTML에서 PDF로의 변환이 ASP.NET과 함께 어떻게 사용될 수 있는지 자세히 살펴보았고, ASP.NET 프로젝트 내에서 HTML로부터 PDF 파일을 생성하는 과정을 탐색했습니다. 위에 설명된 단계를 따르면, 웹 애플리케이션에 PDF 생성을 쉽게 통합하여 HTML 콘텐츠로부터 고품질, 인쇄 가능한 문서를 생성할 수 있습니다.
IronPDF는 고품질의 PDF 문서를 생성하기 위해 활용할 수 있는 다양한 기능을 자랑합니다. 더욱 고급 기능과 세부적인 커스터마이제이션을 위해 IronPDF 문서를 참조하세요. 빠른 설치로, 프로젝트 내에서 IronPDF를 신속하게 설정할 수 있습니다.
자주 묻는 질문
ASP.NET에서 C#을 사용하여 HTML 콘텐츠를 PDF로 변환할 수 있는 방법은 무엇인가요?
ASP.NET에서 C#을 사용하여 HTML 콘텐츠를 PDF로 변환하려면 IronPDF 라이브러리를 사용할 수 있습니다. 먼저 Visual Studio에서 ASP.NET 프로젝트를 설정하고 NuGet을 통해 IronPDF를 설치하며 라이선스 키를 설정합니다. 그 후, IronPDF의 ChromePdfRenderer 클래스를 사용하여 HTML 콘텐츠를 PDF 문서로 렌더링하는 컨트롤러를 생성하세요.
ASP.NET 프로젝트에서 IronPDF를 설정하는 데 필요한 단계는 무엇인가요?
ASP.NET 프로젝트에서 IronPDF를 설정하는 것은 Visual Studio에서 새 ASP.NET 프로젝트를 생성하고 NuGet 패키지 관리자를 통해 IronPDF를 설치하며 라이선스 키를 입력하는 것을 포함합니다. 설정이 완료되면 IronPDF의 기능을 활용하여 HTML을 PDF로 변환할 수 있습니다.
ASP.NET 컨트롤러에서 PDF 변환 로직을 어떻게 처리하나요?
ASP.NET 컨트롤러에서는 IronPDF의 ChromePdfRenderer를 사용하여 PDF 변환 로직을 처리할 수 있습니다. HTML 콘텐츠를 수신하고 RenderHtmlAsPdf 메서드를 적용하여 PDF를 생성하는 작업 메서드를 만들고 이를 클라이언트에게 반환할 수 있습니다.
IronPDF에서 PDF 출력을 사용자 정의할 수 있는 옵션은 무엇인가요?
IronPDF는 용지 크기, 방향, 여백, 헤더 및 푸터 추가와 같은 옵션을 사용하여 PDF 출력을 사용자 정의할 수 있습니다. 이러한 설정은 PDF 문서를 구성할 때 RenderingOptions 속성을 통해 조정할 수 있습니다.
IronPDF를 사용하여 HTML에서 고품질 PDF 출력을 보장하는 방법은 무엇인가요?
IronPDF는 현대 웹 표준을 지원하여 HTML에서 고품질의 PDF 출력을 보장합니다. ChromePdfRenderer를 사용하여 일관성 있는 서식과 스타일을 유지할 수 있으며, 이를 통해 전문가 수준의 PDF 문서를 제작할 수 있습니다.
IronPDF를 기존 ASP.NET 웹 애플리케이션에 통합할 수 있습니까?
예, IronPDF는 기존 ASP.NET 웹 애플리케이션에 쉽게 통합할 수 있습니다. NuGet을 통해 라이브러리를 설치하고 라이선스를 구성한 후, HTML 콘텐츠를 PDF로 변환하여 애플리케이션의 문서 생성 기능을 향상시킬 수 있습니다.
ASP.NET 프로젝트에서 IronPDF를 사용할 때의 문제 해결 팁은 무엇입니까?
ASP.NET 프로젝트에서 IronPDF와 관련된 문제가 발생하면 NuGet을 통해 라이브러리가 올바르게 설치되었는지 확인하고, 라이선스 키가 유효한지 확인하며, 컨트롤러의 변환 논리를 검토하여 HTML 렌더링 또는 PDF 생성에 오류가 있는지 확인해야 합니다.
IronPDF를 사용하여 HTML을 PDF로 변환하는 추가 리소스를 어디에서 찾을 수 있습니까?
IronPDF를 사용하는 방법에 대한 추가 리소스와 문서는 IronPDF 공식 웹사이트에서 찾을 수 있습니다. 여기에서는 가이드, API 문서 및 예제를 제공하여 ASP.NET에서 HTML을 PDF로 변환하는 데 효과적으로 라이브러리를 사용할 수 있도록 도움을 받을 수 있습니다.
IronPDF가 새로 출시된 .NET 10과 호환되며, .NET 10이 HTML을 PDF로 변환하는 데 어떤 이점을 제공합니까?
예 — IronPDF는 .NET 10과 완전히 호환됩니다. .NET 10의 지원 기능을 즉시 활용할 수 있으며, 크로스 플랫폼 배포, 힙 할당 감소, 메모리 사용 개선, 최신 C# 기능에 대한 더 나은 호환성과 같은 새로운 런타임 성능 개선을 제공합니다. 이러한 개선사항으로 인해 IronPDF를 활용한 HTML에서 PDF 변환이 .NET 10에서 더욱 빠르고 효율적이며 유지보수하기 쉬워집니다.


