IronPDF 방법 CSHTML을 PDF로 변환(헤드리스 방식) How to Convert Razor Views to PDFs Headlessly in C# 커티스 차우 업데이트됨:1월 10, 2026 다운로드 IronPDF NuGet 다운로드 DLL 다운로드 윈도우 설치 프로그램 무료 체험 시작하기 LLM용 사본 LLM용 사본 LLM용 마크다운 형식으로 페이지를 복사하세요 ChatGPT에서 열기 ChatGPT에 이 페이지에 대해 문의하세요 제미니에서 열기 제미니에게 이 페이지에 대해 문의하세요 Grok에서 열기 Grok에게 이 페이지에 대해 문의하세요 혼란 속에서 열기 Perplexity에게 이 페이지에 대해 문의하세요 공유하다 페이스북에 공유하기 트위터에 공유하기 LinkedIn에 공유하기 URL 복사 이메일로 기사 보내기 This article was translated from English: Does it need improvement? Translated View the article in English C#에서 Razor 뷰를 PDF로 변환하려면 Razor.Templating.Core를 사용하여 cshtml 파일을 HTML로 변환한 다음 IronPDF의 RenderHtmlAsPdf 메서드를 사용하여 GUI나 브라우저 창 없이 PDF 문서를 생성합니다. 헤드리스 렌더링은 그래픽 사용자 인터페이스 없이 웹 콘텐츠를 처리합니다. IronPdf.Extensions.Razor 는 유용하지만 헤드리스 렌더링 기능이 부족합니다. 이 가이드는 그러한 공백을 메웁니다. Razor.Templating.Core를 사용하여 cshtml을 HTML로 변환한 다음 IronPDF를 사용하여 PDF를 생성합니다. 빠른 시작: Razor 뷰를 몇 초 만에 PDF로 변환 IronPDF의 헤드리스 변환 기능을 사용하여 Razor 뷰를 PDF로 변환하세요. Razor 뷰의 HTML을 PDF로 렌더링하려면 IronPdf.HtmlToPdf.StaticRender.RenderHtmlAsPdf를 사용하세요. 이 접근 방식은 ASP.NET Core 환경에서 완벽하게 작동합니다. 지금 바로 NuGet을 사용하여 PDF 만들기를 시작하세요. NuGet 패키지 관리자를 사용하여 IronPDF를 설치하세요. PM > Install-Package IronPdf 다음 코드 조각을 복사하여 실행하세요. var html = await RazorTemplateEngine.RenderAsync("Views/Template.cshtml", model); new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf(html).SaveAs("output.pdf"); 실제 운영 환경에서 테스트할 수 있도록 배포하세요. 지금 바로 무료 체험판을 통해 프로젝트에서 IronPDF를 사용해 보세요. 30일 무료 체험 ### 최소 워크플로우(5단계) ASP.NET Core 웹 앱에서 Razor 뷰를 PDF로 변환하는 C# 라이브러리를 다운로드하세요. 새로운 Razor 뷰를 생성하고 파일을 편집하여 데이터를 표시하세요. `RenderAsync` 메서드를 사용하여 Razor View를 HTML로 변환합니다. `RenderHtmlAsPdf` 메서드를 사용하여 HTML을 PDF로 변환합니다. 빠른 시작을 위해 샘플 프로젝트를 다운로드하세요. ASP.NET Core 웹 앱에서 Razor 뷰를 HTML로 변환하려면 Razor.Templating.Core 를 설치하세요. # Install the Razor.Templating.Core package using NuGet Package Manager Install-Package Razor.Templating.Core # Install the Razor.Templating.Core package using NuGet Package Manager Install-Package Razor.Templating.Core SHELL ASP.NET Core 프로젝트에서 Razor를 사용하여 PDF로 변환하려면 어떻게 설정해야 하나요? 뷰를 PDF로 변환하려면 ASP.NET Core 웹 앱(모델-뷰-컨트롤러) 프로젝트가 필요합니다. 설정 과정에는 Visual Studio에서 프로젝트를 생성하고, NuGet 패키지를 설치하고, 프로젝트 구조를 구성하는 작업이 포함됩니다. 유사한 기법에 대해서는 MVC Core에서 CSHTML을 PDF로 변환 하거나 Razor Pages를 사용하여 CSHTML을 PDF로 변환하는 방법을 참조하세요. IronPdf.Extensions.Razor 대신 Razor.Templating.Core가 필요한 이유는 무엇인가요? Razor.Templating.Core는 웹 컨텍스트나 브라우저 창 없이 Razor 뷰를 HTML로 변환하는 진정한 헤드리스 렌더링을 제공합니다. 이는 백그라운드 서비스, 콘솔 애플리케이션 또는 사용자 인터페이스가 없는 환경에 적합합니다. IronPdf.Extensions.Razor는 작동하려면 웹 컨텍스트가 필요합니다. 헤드리스 PDF 생성에 가장 적합한 프로젝트 유형은 무엇인가요? ASP.NET Core 웹 앱(모델-뷰-컨트롤러) 프로젝트는 유연한 배포 옵션과 함께 필요한 Razor 뷰 인프라를 제공합니다. 이 접근 방식을 백그라운드 서비스, Azure Functions 또는 콘솔 애플리케이션에서 사용하세요. 클라우드 기반 생성을 위해 IronPDF를 Azure에 배포하는 방법을 참조하세요. 필요한 NuGet 패키지를 어떻게 설치하나요? NuGet 패키지 관리자를 사용하여 패키지를 설치하세요. IronPDF와 Razor.Templating.Core가 필요합니다. // Install via Package Manager Console Install-Package IronPdf Install-Package Razor.Templating.Core // Or add to your .csproj file // <PackageReference Include="IronPdf" Version="2024.x.x" /> // <PackageReference Include="Razor.Templating.Core" Version="1.x.x" /> // Install via Package Manager Console Install-Package IronPdf Install-Package Razor.Templating.Core // Or add to your .csproj file // <PackageReference Include="IronPdf" Version="2024.x.x" /> // <PackageReference Include="Razor.Templating.Core" Version="1.x.x" /> $vbLabelText $csharpLabel PDF 생성을 위한 Razor 뷰를 만들고 구성하는 방법은 무엇인가요? "홈" 폴더를 마우스 오른쪽 버튼으로 클릭합니다. "추가"를 선택한 다음 "뷰 추가"를 선택하세요. "Data.cshtml"이라는 이름의 빈 Razor 뷰를 생성합니다. Razor 뷰에 어떤 HTML 콘텐츠를 추가해야 할까요? PDF로 렌더링할 HTML 코드를 추가하세요: <table class="table"> <tr> <th>Name</th> <th>Title</th> <th>Description</th> </tr> <tr> <td>John Doe</td> <td>Software Engineer</td> <td>Experienced software engineer specializing in web development.</td> </tr> <tr> <td>Alice Smith</td> <td>Project Manager</td> <td>Seasoned project manager with expertise in agile methodologies.</td> </tr> <tr> <td>Michael Johnson</td> <td>Data Analyst</td> <td>Skilled data analyst proficient in statistical analysis and data visualization.</td> </tr> </table> <table class="table"> <tr> <th>Name</th> <th>Title</th> <th>Description</th> </tr> <tr> <td>John Doe</td> <td>Software Engineer</td> <td>Experienced software engineer specializing in web development.</td> </tr> <tr> <td>Alice Smith</td> <td>Project Manager</td> <td>Seasoned project manager with expertise in agile methodologies.</td> </tr> <tr> <td>Michael Johnson</td> <td>Data Analyst</td> <td>Skilled data analyst proficient in statistical analysis and data visualization.</td> </tr> </table> HTML 복잡한 레이아웃의 경우, CSS와 인쇄 스타일을 사용하여 완벽한 PDF 렌더링을 보장하십시오. IronPDF는 정교한 문서 레이아웃을 위한 최신 CSS3 기능을 지원합니다. PDF 데이터 표시에 표를 사용하는 이유는 무엇일까요? 표는 구조화되고 정리된 정보를 제공하여 인쇄물에 적용하기에 적합합니다. 이 파일들은 플랫폼 전반에 걸쳐 일관된 형식을 유지하며 PDF 형식으로 읽을 수 있습니다. IronPDF의 렌더링 엔진은 테두리, 간격 및 정렬을 유지하여 표 레이아웃을 잘 처리합니다. 고급 서식 지정을 위해서는 사용자 지정 여백을 활용하여 레이아웃을 최적화하세요. PDF 출력 시 일반적인 스타일링 고려 사항은 무엇입니까? PDF 출력 시에는 인쇄 전용 CSS 미디어 쿼리, 상대 단위 대신 고정 픽셀 값, 그리고 내장 글꼴을 사용하여 일관된 렌더링을 구현하십시오. IronPDF는 브랜드 일관성을 위해 웹 폰트와 아이콘 폰트를 지원합니다. 여러 페이지로 구성된 문서의 경우 페이지 나누기를 고려하고, 전문적인 외관을 위해 적절한 여백을 설정하십시오. 헤드리스 PDF 렌더링을 위해 Program.cs를 어떻게 구성해야 하나요? "Program.cs" 파일에 다음 코드를 추가하세요. 이 메서드는 Razor.Templating.Core의 RenderAsync를 사용하여 Razor 뷰를 HTML로 변환한 다음 ChromePdfRenderer를 인스턴스화하고 해당 HTML을 RenderHtmlAsPdf에 전달합니다. 사용자 지정 텍스트, 머리글, 바닥글, 여백 및 페이지 번호를 사용하려면 RenderingOptions를 사용하십시오. app.MapGet("/PrintPdf", async () => { // Set your IronPDF license key IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"; // Enable detailed logging for troubleshooting IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All; // Render the Razor view to an HTML string string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml"); // Create a new instance of ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Configure rendering options for professional output renderer.RenderingOptions.PaperSize = IronPdf.PdfPaperSize.A4; renderer.RenderingOptions.MarginTop = 25; renderer.RenderingOptions.MarginBottom = 25; renderer.RenderingOptions.MarginLeft = 20; renderer.RenderingOptions.MarginRight = 20; // Render the HTML string as a PDF document PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot"); // Return the PDF file as a response return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf"); }); app.MapGet("/PrintPdf", async () => { // Set your IronPDF license key IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"; // Enable detailed logging for troubleshooting IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All; // Render the Razor view to an HTML string string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml"); // Create a new instance of ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Configure rendering options for professional output renderer.RenderingOptions.PaperSize = IronPdf.PdfPaperSize.A4; renderer.RenderingOptions.MarginTop = 25; renderer.RenderingOptions.MarginBottom = 25; renderer.RenderingOptions.MarginLeft = 20; renderer.RenderingOptions.MarginRight = 20; // Render the HTML string as a PDF document PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot"); // Return the PDF file as a response return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf"); }); $vbLabelText $csharpLabel PDF에 적용할 수 있는 렌더링 옵션은 무엇인가요? IronPDF는 다양한 렌더링 옵션을 제공합니다. 머리글과 바닥글을 추가하고, 사용자 지정 용지 크기를 설정하고, 페이지 방향을 제어하고, 워터마크를 추가할 수 있습니다. ChromePdfRenderer는 PDF 생성을 사용자 지정할 수 있는 50개 이상의 속성을 제공합니다. PDF 생성 중 발생하는 오류는 어떻게 처리해야 하나요? 안정적인 PDF 생성을 위해 오류 처리를 구현하십시오. try { var html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml"); var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot"); return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf"); } catch (Exception ex) { // Log the error details IronPdf.Logging.Logger.Log($"PDF generation failed: {ex.Message}"); return Results.Problem("Failed to generate PDF", statusCode: 500); } try { var html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml"); var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot"); return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf"); } catch (Exception ex) { // Log the error details IronPdf.Logging.Logger.Log($"PDF generation failed: {ex.Message}"); return Results.Problem("Failed to generate PDF", statusCode: 500); } $vbLabelText $csharpLabel 상세 로깅은 언제 활성화해야 할까요? 개발 및 문제 해결 중에 상세 로깅을 활성화하십시오. IronPDF의 로깅은 렌더링에 대한 통찰력을 제공하여 HTML 구문 분석, 자산 로딩 또는 구성 문제를 식별하는 데 도움이 됩니다. 실제 운영 환경에서는 애플리케이션의 로깅 인프라와 통합하기 위해 사용자 지정 로깅을 사용하십시오. 에셋 링크 경로를 수정해야 하는 이유는 무엇인가요? Views > Shared > "_Layout.cshtml"로 이동하세요. 링크 태그에서 "~/"를 "./"로 변경하세요. "~/"는 IronPDF에서 제대로 작동하지 않습니다. 경로와 관련된 다른 어떤 문제들을 주의해야 할까요? 물결표(~) 경로 문제 외에도 이미지 소스가 절대 경로 또는 적절한 상대 경로를 사용하는지 확인하십시오. 외부 리소스의 경우, 자산이 올바르게 로드되도록 기본 URL을 사용하십시오. Azure Blob Storage 이미지에 대한 자세한 내용은 Azure Blob Storage에서 이미지 포함하기를 참조하세요. 정적 자산은 PDF 생성에 어떤 영향을 미칠까요? 정적 자산(CSS, JavaScript, 이미지)은 PDF 생성 성능 및 품질에 영향을 미칩니다. 렌더링 중에 자산에 접근할 수 있도록 하고, 최적화된 이미지를 사용하며, 렌더링 속도를 높이기 위해 중요한 CSS를 인라인으로 포함하는 것을 고려하십시오. 자바스크립트 사용량이 많은 콘텐츠의 렌더링 지연 및 시간 초과 에 대해 알아보세요. 헤드리스 PDF 생성 기능을 어떻게 테스트하나요? 프로젝트를 실행하여 PDF 문서를 생성하세요. PDF 출력 최종 PDF 파일은 어떤 형식이어야 할까요? PDF 파일은 Razor View의 모든 서식(표 구조, 글꼴, 색상 및 레이아웃)을 유지해야 합니다. 크기는 적절해야 하고, 여백은 깔끔해야 하며, 전문적인 느낌을 주어야 합니다. 출력 품질을 확인하려면 IronPDF의 래스터화 기능을 사용하여 페이지를 이미지로 미리 보십시오. PDF 렌더링 시 발생하는 일반적인 문제를 어떻게 해결할 수 있나요? 흔히 발생하는 문제로는 스타일 누락, 레이아웃 오류 또는 불완전한 콘텐츠 등이 있습니다. 상세 로깅을 활성화하고, 자산 경로를 확인하고, HTML 유효성 검사가 제대로 작동하는지 확인하십시오. 복잡한 레이아웃의 경우, 변환하기 전에 Chrome 디버깅 도구를 사용하여 HTML을 미리 보세요. 특정 렌더링 문제가 발생하는 경우, 콘텐츠가 렌더링 전에 로드되도록 WaitFor 지연을 사용하십시오. 완벽하게 작동하는 예제 파일을 어디에서 다운로드할 수 있나요? 전체 코드를 압축된 Visual Studio ASP.NET Core 웹 앱(모델-뷰-컨트롤러) 프로젝트 파일로 다운로드하세요. 여기를 클릭하여 프로젝트를 다운로드하세요. 샘플 프로젝트를 실행하기 위한 필수 조건은 무엇입니까? Visual Studio 2019 이상 버전과 .NET 6.0 SDK 이상이 필요합니다. 이 프로젝트는 NuGet 패키지 복원을 위해 인터넷 연결이 필요합니다. 실행하기 전에 Program.cs 파일에서 IronPDF 라이선스 키를 업데이트하십시오. 배포를 위해서는 Windows 설치 가이드를 참조하여 추가 요구 사항을 확인하십시오. 내 사용 사례에 맞게 샘플을 어떻게 사용자 지정할 수 있나요? 이 샘플은 귀하의 특정 요구 사항을 충족하는 데 필요한 기초 자료를 제공합니다. 동적 데이터 모델을 추가하거나, 자주 생성되는 PDF 파일에 대한 캐싱을 구현하거나, 기존 인증 시스템과 통합할 수 있습니다. 고급 시나리오의 경우, 성능 향상을 위해 비동기 PDF 생성을 살펴보거나 파일 크기를 줄이기 위해 PDF 압축을 구현해 보세요. 문서 진위 확인을 위해 디지털 서명을 추가하거나 중요한 문서에 암호 보호 기능을 적용하세요. 자주 묻는 질문 C#에서 GUI 없이 Razor 뷰를 PDF로 변환하는 방법은 무엇인가요? Razor.Templating.Core를 사용하여 cshtml 파일을 HTML로 변환한 다음, IronPDF의 RenderHtmlAsPdf 메서드를 사용하여 헤드리스 방식으로 PDF를 생성합니다. 이 두 단계 프로세스를 통해 그래픽 사용자 인터페이스나 브라우저 창 없이 Razor 뷰를 PDF 문서로 변환할 수 있습니다. Razor 뷰를 헤드리스 모드로 PDF에 렌더링하는 가장 빠른 방법은 무엇인가요? 가장 빠른 방법은 두 줄의 코드를 사용하는 것입니다. 먼저 RazorTemplateEngine.RenderAsync를 사용하여 Razor 뷰를 HTML로 변환한 다음, IronPDF의 ChromePdfRenderer().RenderHtmlAsPdf(html).SaveAs() 메서드를 사용하여 PDF 파일을 생성하고 저장합니다. IronPdf.Extensions.Razor 대신 Razor.Templating.Core를 사용해야 하는 이유는 무엇인가요? Razor.Templating.Core는 웹 컨텍스트나 브라우저 창 없이도 Razor 뷰를 HTML로 변환할 수 있는 진정한 헤드리스 렌더링 기능을 제공합니다. IronPdf.Extensions.Razor도 유용하지만, 작동하려면 웹 컨텍스트가 필요하므로 Razor.Templating.Core는 백그라운드 서비스 및 콘솔 애플리케이션에 더 적합합니다. 헤드리스 PDF 생성을 위해 어떤 유형의 ASP.NET Core 프로젝트가 필요합니까? ASP.NET Core 웹 앱(모델-뷰-컨트롤러) 프로젝트를 사용하세요. 이 프로젝트는 유연한 배포 옵션과 함께 필요한 Razor 뷰 인프라를 제공합니다. 이 설정은 백그라운드 서비스, Azure Functions 또는 콘솔 애플리케이션을 위한 IronPDF와 잘 작동합니다. Razor를 PDF로 변환하는 데 필요한 패키지를 어떻게 설치하나요? NuGet 패키지 관리자에서 'Install-Package Razor.Templating.Core' 명령어를 사용하여 Razor.Templating.Core를 설치하세요. 또한 HTML을 PDF로 변환하는 단계를 처리하기 위해 프로젝트에 IronPDF가 설치되어 있어야 합니다. 클라우드 환경에서 이러한 헤드리스 PDF 생성 방식을 사용할 수 있습니까? 네, IronPDF의 헤드리스 Razor-PDF 변환 기능은 Azure Functions, AWS Lambda 및 컨테이너화된 애플리케이션을 포함한 클라우드 환경에서 탁월하게 작동하므로 확장 가능한 문서 생성 서비스에 이상적입니다. 커티스 차우 지금 바로 엔지니어링 팀과 채팅하세요 기술 문서 작성자 커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다. 커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다. 시작할 준비 되셨나요? Nuget 다운로드 17,527,568 | 버전: 2026.2 방금 출시되었습니다 NuGet 무료 다운로드 총 다운로드 수: 17,527,568 라이선스 보기