IRONSOFTWAREHOME

Blazor 서버에서 C# PdfDocument과 함께 Razor를 PDF로 변환

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

IronPDF의 RenderRazorComponentToPdf 메서드를 사용하여 Blazor 서버의 Razor 구성 요소를 PDF로 변환하십시오. 최소한의 코드로 C# UI 컴포넌트를 PDF로 변환하고, 머리글, 바닥글 및 페이지 서식을 완벽하게 사용자 지정할 수 있습니다.

빠른 시작: Razor 컴포넌트를 몇 분 만에 PDF로 변환하기

IronPDF 사용하여 Blazor Server 애플리케이션의 Razor 컴포넌트를 PDF로 변환합니다. RenderRazorComponentToPdf 메서드는 몇 줄의 코드로 Razor 구성 요소를 PDF로 변환합니다. 이 가이드를 따라 최소한의 설정과 유연한 사용자 지정 옵션을 통해 Razor 의 PDF 변환 기능을 프로젝트에 통합해 보세요.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2다음 코드 조각을 복사하여 실행하세요.

    // Install-Package IronPdf.Extensions. Blazor
    var pdf = new IronPdf.ChromePdfRenderer()
        .RenderRazorComponentToPdf<MyComponent>(new Dictionary<string,object> { {"persons",personsList} })
        .SaveAs("component-to-pdf.pdf");
    C#
  3. 3실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronPDF 사용 시작하기
    arrow pointer

Razor PDF로 변환하려면 어떤 NuGet 패키지가 필요합니까?

IronPdf.Extensions.Blazor 패키지는 주요 IronPdf 패키지를 확장합니다. 두 패키지 모두 Blazor 서버 앱에서 Razor 컴포넌트를 PDF 문서로 렌더링하는 데 필요합니다. 이 확장 프로그램은 Blazor 서버 애플리케이션과의 통합 지점을 제공하여 대대적인 코드 수정 없이 기존 Razor 컴포넌트를 PDF로 변환할 수 있도록 지원합니다.

IronPdf.Extensions.Blazor 설치하면 핵심 IronPdf 라이브러리가 종속 항목으로 자동 포함됩니다. 익스텐션 패키지는 Blazor의 구성 요소 모델을 이해하고 바인딩된 데이터로 구성 요소를 적절히 렌더링하는 RenderRazorComponentToPdf과 같은 메서드를 추가합니다. 최적의 성능과 최신 기능을 사용하려면 두 패키지 모두 최신 버전을 사용하십시오. 업데이트 및 개선 사항은 변경 로그를 확인하세요.

PM > Install-Package IronPdf.Extensions. Blazor

PDF용 C# NuGet 라이브러리

NuGet을 사용하여 설치하세요

Install-Package IronPdf.Extensions. Blazor

Blazor Server에서 Razor 컴포넌트를 PDF로 렌더링하는 방법은 무엇인가요?

Razor 컴포넌트를 PDF로 변환하려면 Blazor 서버 앱 프로젝트가 필요합니다. Blazor Server 애플리케이션은 서버에서 실행되고 SignalR 연결을 통해 UI 업데이트를 렌더링하므로 서버 측 처리가 필요한 PDF 생성에 적합합니다. 이 아키텍처는 PDF 렌더링이 서버에서 이루어지도록 보장하여 클라이언트 브라우저나 장치에 관계없이 일관된 결과를 제공합니다.

시작하기 전에 .NET SDK와 ASP.NET 및 웹 개발 워크로드가 포함된 Visual Studio 2019 이상이 설치되어 있는지 확인하십시오. Visual Studio의 프로젝트 템플릿을 통해 새로운 Blazor 서버 앱을 생성하거나 .NET CLI를 사용하여 dotnet new blazorserver으로 생성하세요. 자세한 설치 지침 및 플랫폼별 요구 사항은 설치 개요를 참조하십시오.

어떤 모델 클래스 구조를 사용해야 할까요?

표준 C# 클래스 이름 PersonInfo을 추가하세요. 이 클래스는 개인 정보를 저장하기 위한 모델 역할을 합니다. 다음 코드를 삽입하세요:

namespace BlazorSample.Data
{
    public class PersonInfo
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
    }
}

이 모델은 Razor 컴포넌트에 전달되어 PDF에 렌더링되는 데이터 구조를 나타냅니다. IronPDF 간단한 POCO부터 복잡한 Entity Framework 모델에 이르기까지 모든 C# 객체 모델과 호환됩니다. PDF 생성 모델을 설계할 때는 최종 문서에 데이터가 어떻게 표시될지 고려하고 그에 따라 속성을 구성해야 합니다.

Razor 컴포넌트를 사용하여 PDF를 생성하는 방법은 무엇인가요?

Razor 구성 요소를 PDF로 변환하려면 RenderRazorComponentToPdf 메서드를 사용하세요. 이 메서드에 접근하려면 ChromePdfRenderer 클래스를 인스턴스화 하세요. 메서드는 내보내거나 추가 수정할 수 있는 PdfDocument 객체를 반환합니다.

반환된 PdfDocumentPDF/A 또는 PDF/UA 형식으로의 변환을 포함한 추가 수정을 지원합니다. 문서를 병합하거나 분할하고 , 페이지를 회전하고, 주석 이나 책갈피를 추가할 수 있습니다. 필요에 따라 사용자 지정 워터마크를 적용하세요.

이름이 **Person.razor**인 Razor 구성 요소를 추가하세요. 다음 코드를 입력하세요:

@page "/Person"
@using BlazorSample.Data;
@using IronPdf;
@using IronPdf.Extensions.Blazor;

<h3>Person</h3>

@code {
    // A parameter to receive a list of persons from the parent component.
    [Parameter]
    public IEnumerable<PersonInfo> persons { get; set; }

    // Dictionary to hold parameters that will be passed to the PDF renderer.
    public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>();

    protected override async Task OnInitializedAsync()
    {
        // Initialize the persons list with some sample data.
        persons = new List<PersonInfo>
        {
            new PersonInfo { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
            new PersonInfo { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
            new PersonInfo { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
        };
    }

    private async void PrintToPdf()
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Apply text footer to the PDF pages.
        renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            LeftText = "{date} - {time}",
            DrawDividerLine = true,
            RightText = "Page {page} of {total-pages}",
            Font = IronSoftware.Drawing.FontTypes.Arial,
            FontSize = 11
        };

        Parameters.Add("persons", persons);

        // Render Razor component to PDF and save it.
        PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);
        File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);
    }
}

<table class="table">
    <tr>
        <th>Name</th>
        <th>Title</th>
        <th>Description</th>
    </tr>
    @foreach (var person in persons)
    {
        <tr>
            <td>@person.Name</td>
            <td>@person.Title</td>
            <td>@person.Description</td>
        </tr>
    }
</table>

<button class="btn btn-primary" @onclick="PrintToPdf">Print to Pdf</button>
Text

이 메서드는 모든 RenderingOptions 기능에 대한 접근을 제공합니다. 텍스트와 HTML 머리글 및 바닥글을 추가하고, 페이지 번호를 포함하며, 페이지 크기와 레이아웃을 조정합니다. RenderingOptions사용자 정의 여백, 반응형 디자인을 위한 뷰포트 설정, 동적 콘텐츠를 위한 JavaScript 실행 지연을 지원합니다.

복잡한 레이아웃이나 Bootstrap과 같은 CSS 프레임워크를 사용하는 경우, 다양한 페이지 크기에서 PDF가 올바르게 표시되도록 반응형 CSS 렌더링 기능을 살펴보세요.

Razor 컴포넌트에 내비게이션 기능을 추가하려면 어떻게 해야 하나요?

  • "Shared 폴더"로 이동하여 NavMenu.razor을 열세요. 우리의 Razor 구성 요소, Person을 열 섹션을 추가하세요. 우리의 Person 구성 요소는 두 번째 옵션이 될 것입니다.
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
    <nav class="flex-column">
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
                <span class="oi oi-home" aria-hidden="true"></span> Home
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="Person">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Person
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="counter">
                <span class="oi oi-plus" aria-hidden="true"></span> Counter
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="fetchdata">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
            </NavLink>
        </div>
    </nav>
</div>
Text

이 탐색 설정은 Blazor의 라우팅 시스템과 통합되어 사용자가 애플리케이션의 기본 탐색 메뉴에서 PDF 생성 기능에 액세스할 수 있도록 합니다. NavLink 구성 요소는 활성 경로를 올바르게 강조됩니다.

PDF 생성 과정은 어떻게 진행되나요?

프로젝트를 실행하고 PDF 문서를 생성하세요. "PDF로 인쇄" 버튼을 클릭하세요. IronPDF Razor 컴포넌트를 처리하고 HTML로 변환한 다음, Chrome 기반 렌더링 엔진을 사용하여 PDF로 렌더링합니다. 이를 통해 최신 웹 브라우저에서와 동일한 시각적 품질을 유지합니다.

`ChromePdfRenderer` 및 Razor 컴포넌트를 사용하는 PDF 생성 코드로 Blazor 앱을 디버깅하는 Visual Studio

생성된 PDF 파일은 프로젝트의 출력 디렉토리에 저장됩니다. 저장 위치를 ​​사용자 지정하거나, 브라우저에서 직접 다운로드할 수 있도록 하거나, Azure Blob Storage와 같은 클라우드 스토리지에 PDF를 저장할 수 있습니다. 실제 운영 환경에서는 PDF 생성이 실패하거나 예상 소요 시간을 초과하는 상황에 대비하여 오류 처리 및 사용자 피드백 기능을 구현해야 합니다.

이 종류의 라이브러리 중 가장 좋아하는 것은 IronPDF입니다. PDF 파일을 빠르고 효율적으로 조작할 수 있습니다. 또한 PDF/A 형식으로 내보내기 및 PDF 문서의 디지털 서명과 같은 많은 유용한 기능을 가지고 있습니다.

Milan Jovanovic

마이크로소프트 MVP

사례 연구 보기

IronOCR 덕분에 연간 $40,000를 수동 프로세싱에서 절약하고 생산성을 높이며 고부가가치 작업에 자원을 활용할 수 있습니다. 강력히 추천합니다.

브렌트 마첼

최고 기술 책임자, OPYN

사례 연구 보기

IronSuite는 우리의 운영에서 중요한 역할을 합니다. 이것들은 사업 전반에 걸쳐 효율성을 높이는 도구로, 평면도 생성 및 재고 관리 개선을 포함합니다.

데이비드 존스

리드 소프트웨어 엔지니어, Agorus Build

사례 연구 보기

완벽하게 작동하는 예제 파일을 어디에서 다운로드할 수 있나요?

이 가이드의 전체 코드를 압축 파일로 다운로드하세요. Visual Studio에서 Blazor 서버 앱 프로젝트로 엽니다. 이 샘플에는 Blazor 애플리케이션에서 Razor PDF로 변환하는 데 필요한 모든 종속성, 구성 및 예제 코드가 포함되어 있어 바로 시작할 수 있습니다.

Razor PDF로 변환하는 Blazor 샘플 프로젝트를 다운로드하세요.

당신이 할 수 있는 다른 일들을 알아볼 준비가 되셨나요? PDF 변환 방법에 대한 튜토리얼 페이지는 여기에서 확인하세요.

보다 고급 시나리오에 대해서는 Blazor 애플리케이션에서 IronPDF 사용하는 추가 통합 패턴 및 모범 사례를 다루는 Blazor 튜토리얼 을 참조하십시오.

자주 묻는 질문

Blazor Server에서 Razor 컴포넌트를 PDF로 변환하는 가장 빠른 방법은 무엇인가요?

가장 빠른 방법은 IronPDF의 RenderRazorComponentToPdf 메서드를 사용하는 것입니다. 단 한 줄의 코드로 모든 Razor 컴포넌트를 PDF로 변환할 수 있습니다. 예: var pdf = new IronPdf.ChromePdfRenderer().RenderRazorComponentToPdf(new Dictionary { {"persons",personsList} }).SaveAs("component-to-pdf.pdf");

Blazor Server에서 Razor를 PDF로 변환하는 데 필요한 NuGet 패키지는 무엇입니까?

IronPdf.Extensions.Blazor 패키지가 필요하며, 이 패키지에는 핵심 IronPDF 라이브러리가 종속성으로 자동으로 포함됩니다. 다음 명령어를 사용하여 설치하세요: Install-Package IronPdf.Extensions.Blazor

Razor 컴포넌트를 PDF로 변환할 때 사용자 지정 머리글과 바닥글을 추가할 수 있나요?

예, IronPDF는 RenderRazorComponentToPdf 메서드를 사용하여 Razor 컴포넌트를 PDF로 변환할 때 머리글, 바닥글 및 페이지 서식에 대한 모든 사용자 지정 옵션을 제공합니다.

Razor 컴포넌트를 이용한 PDF 생성에 Blazor Server를 권장하는 이유는 무엇인가요?

Blazor Server 애플리케이션은 서버에서 실행되고 SignalR 연결을 통해 UI 업데이트를 렌더링하므로 PDF 생성에 이상적입니다. 이러한 아키텍처 덕분에 IronPDF의 렌더링은 서버 측에서 이루어지므로 클라이언트 브라우저나 장치에 관계없이 일관된 결과를 제공합니다.

기존 Razor 컴포넌트를 PDF로 변환하려면 리팩토링이 필요한가요?

아니요, IronPdf.Extensions.Blazor 패키지를 사용하면 대대적인 코드 수정 없이 기존 Razor 컴포넌트를 PDF로 변환할 수 있습니다. 이 확장 프로그램은 Blazor의 컴포넌트 모델을 이해하는 통합 지점을 제공합니다.

PDF로 변환할 때 Razor 컴포넌트로 데이터를 전달하려면 어떻게 해야 하나요?

RenderRazorComponentToPdf 메서드에서 Dictionary 매개변수를 사용하여 데이터를 전달할 수 있습니다. 예를 들어, 다음과 같습니다. new Dictionary { {"persons", personsList} } 여기서 "persons"는 매개변수 이름이고 personsList는 전달할 데이터입니다.

What advantage does using Blazor Server have for PDF generation?

Blazor Server runs on the server, which means that PDF rendering happens server-side, providing consistent rendering results regardless of the client's browser or device.

How can I ensure proper navigation when integrating a Razor component for PDF generation in a Blazor app?

Integrate the Razor component into the Blazor app's navigation system using `NavLink` components. This allows users to access the PDF generation functionality directly from the main navigation menu.

Can IronPDF add headers and footers to the generated PDFs from Razor components?

Yes, with IronPDF, you can add both text and HTML headers and footers, including page numbers, by utilizing the `RenderingOptions` features.

What is required before starting with Razor to PDF conversion in a Blazor Server project?

Ensure that you have the .NET SDK installed, along with Visual Studio 2019 or later with the ASP.NET and web development workload. You can start a new project using Visual Studio's templates or the .NET CLI.

Curtis Chau
기술 문서 작성자

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

...
더 읽어보기

시작할 준비 되셨나요?

Nuget Downloads 20,756,830버전:2026.7방금 출시

무료로 받기

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

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.
bullet_test워터마크 없이
프로덕션에서 테스트
bullet_calendar30일 완전한
기능의 제품
bullet_support체험 기간 동안
24/5 기술 지원
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.
PDF용 C# NuGet 라이브러리
NuGet을 사용하여 설치하세요

버전: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 솔루션 탐색기에서 참조를 마우스 오른쪽 버튼으로 클릭하고 NuGet 패키지 관리를 선택합니다.
  2. 찾아보기를 선택하고 "IronPDF"를 검색하세요.
  3. 패키지를 선택하고 설치하세요
C# PDF DLL
DLL 다운로드

버전: 2026.7

또는 여기에서 Windows 설치 프로그램을 다운로드하십시오.

  1. IronPDF를 다운로드하고 솔루션 디렉터리 내의 ~/Libs와 같은 위치에 압축을 푸세요.
  2. Visual Studio 솔루션 탐색기에서 참조를 마우스 오른쪽 버튼으로 클릭합니다. 찾아보기를 선택하고 "IronPDF.dll"을 선택합니다.

라이선스 가격은 749달러 부터 시작합니다.

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일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.