푸터 콘텐츠로 바로가기
IRONPDF 사용하기
Blazor HTML을 PDF로 변환하기 위해 IronPDF 사용

Blazor 튜토리얼로 PDF 파일 생성하기

IronPDF는 유명한 C# 라이브러리로서 Blazor 애플리케이션과 함께 작동합니다. 이 검토는 IronPDF를 사용하여 Blazor 애플리케이션에 PDF 보고서를 삽입하는 방법을 안내하며, 매끄러운 통합과 효과성을 보여줍니다.

1. IronPDF 기능

개발자는 강력한 IronPDF .NET PDF 라이브러리를 통해 PDF 문서를 빠르게 생성, 읽기 및 처리할 수 있습니다. IronPDF에는 내장된 Chrome 엔진이 있으며 많은 실용적이고 강력한 기능을 제공합니다. 여기에는 HTML5, JavaScript, CSS 및 이미지를 PDF로 변환할 수 있는 기능, PDF 문서에 고유한 헤더 및 풋터를 추가할 수 있는 기능, 웹 브라우저에 보이는 대로 PDF를 생성할 수 있는 기능이 포함됩니다. IronPDF는 HTML, ASPX, Razor Pages 및 MVC 프레임워크를 포함한 다양한 웹 기술을 지원합니다.

IronPDF의 주요 특징은 다음과 같습니다.

2. Blazor란 무엇인가?

Blazor는 C#과 HTML을 사용하여 Web Assembly로 클라이언트 측 웹 응용 프로그램을 만들 수 있는 웹 응용 프로그램 프레임워크입니다.

Web Assembly 응용 프로그램은 바이너리 명령 형식으로 브라우저에 전송되어 거의 네이티브 속도로 작동할 수 있습니다. 이로 인해 C#과 같은 언어가 브라우저 내에서 실행될 수 있는 새로운 가능성이 열렸습니다.

Visual Studio에서 새 프로젝트 생성

먼저 Microsoft Visual Studio 응용 프로그램을 열고 파일 메뉴에서 "새 프로젝트"를 선택하십시오. 그런 다음 "Blazor Server App"을 선택하십시오.

Blazor 튜토리얼로 PDF 파일 생성, 그림 1: Visual Studio에서 새 프로젝트 생성 Visual Studio에서 새로운 프로젝트 생성하기

프로젝트 이름을 입력하고 파일 경로를 선택하십시오. 그런 다음 만들기 버튼을 클릭하십시오.

Blazor 튜토리얼로 PDF 파일 생성, 그림 2: 새 Blazor 애플리케이션의 이름과 위치 선택 새 Blazor 응용 프로그램의 이름과 위치 선택

원하는 .NET Framework를 선택하십시오(이 튜토리얼에서는 .NET 6.0을 사용할 것입니다). 아래 스크린샷을 참조하십시오:

Blazor 튜토리얼로 PDF 파일 생성, 그림 3: .NET 6.0 프레임워크와 함께 Visual Studio에서 새 프로젝트 생성 .NET 6.0 프레임워크로 Visual Studio에서 새 프로젝트 생성

Microsoft Visual Studio는 이제 이 Blazor 애플리케이션의 구조를 생성할 것입니다.

그 다음, 이 새 프로젝트에 IronPDF 라이브러리를 추가하십시오.

3. IronPDF 라이브러리 설치

IronPDF 라이브러리는 네 가지 방법으로 다운로드 및 설치할 수 있습니다:

  • Visual Studio의 NuGet 패키지 관리자를 사용하기
  • Visual Studio의 명령줄 사용하기
  • NuGet 웹사이트에서 직접 다운로드
  • IronPDF 웹사이트에서 직접 다운로드하기

3.1 Visual Studio의 NuGet 패키지 관리자 사용하기

Visual Studio는 라이브러리를 프로젝트에 직접 설치하는 데 도움을 주는 NuGet 패키지 관리자를 제공합니다. 아래의 스크린샷은 NuGet 패키지 관리자를 여는 방법을 보여줍니다.

Blazor 튜토리얼로 PDF 파일 생성, 그림 4: Visual Studio의 NuGet 패키지 관리자 액세스 Visual Studio의 NuGet 패키지 관리자 접속

검색 필드 아래의 탐색 탭에서 "IronPDF"를 검색하기 위해 아래 스크린샷처럼 검색하세요:

Blazor 튜토리얼로 PDF 파일 생성, 그림 5: NuGet 패키지 관리자 GUI에서 IronPDF 라이브러리 검색 NuGet 패키지 관리 GUI에서 IronPDF 라이브러리 검색

위 이미지에서 관련 검색 결과 목록을 보여줍니다. 프로젝트에 패키지를 설치하기 위해 필요한 옵션을 선택하세요.

3.2 Visual Studio 명령줄 사용하기

Visual Studio에서 도구 > NuGet 패키지 관리자 > 패키지 관리자 콘솔로 이동합니다.

패키지 관리자 콘솔 탭에 다음 줄을 입력하세요:

Install-Package IronPdf

패키지는 이제 다운로드되고 현재 프로젝트에 설치됩니다.

Blazor 튜토리얼로 PDF 파일 생성, 그림 6: NuGet 패키지 관리자 콘솔을 사용하여 IronPDF 라이브러리 설치 NuGet 패키지 관리자 콘솔을 사용하여 IronPDF 라이브러리 설치

3.3 NuGet 웹사이트에서 직접 다운로드

IronPDF 라이브러리를 설치하는 세 번째 방법은 웹사이트에서 직접 NuGet 패키지를 다운로드하는 것입니다.

IronPDF용 NuGet 웹사이트로 이동하세요.

  • 오른쪽 메뉴에서 "패키지 다운로드" 옵션을 클릭하세요.
  • 파일 시스템에서 다운로드된 패키지를 엽니다. 자동으로 설치됩니다.
  • 솔루션을 다시 로드하고 프로젝트에서 사용을 시작하세요.

3.4 IronPDF 웹사이트에서 직접 다운로드

IronPDF 패키지를 직접 다운로드하려면 IronPDF 웹사이트를 방문하세요.

다운로드 후, 프로젝트에 패키지를 추가하기 위해 다음 절차를 따르세요:

  • 솔루션 창에서 프로젝트를 오른쪽 클릭.
  • "추가" > "참조" 옵션을 선택한 다음, 이전에 다운로드한 라이브러리 위치로 이동하세요.
  • 라이브러리를 참조로 추가하기 위해 확인을 클릭하세요.

4. Blazor 서버 앱에서 PDF 문서 만들기

이 튜토리얼의 Blazor 앱은 IronPDF를 사용하여 URL로 웹 페이지의 HTML 콘텐츠를 가져와 PDF 문서로 변환할 것입니다.

프로젝트에 포함된 .razor 파일에 다음 소스 코드를 입력하세요.

@using IronPdf

@code {
    /// <summary>
    /// This method exports data by converting a URL to a PDF file and initiating its download.
    /// </summary>
    public async Task ExportData()
    {
        try
        {
            string fileName = "Demo.pdf";
            var renderer = new ChromePdfRenderer();

            // Render the contents of the URL as a PDF document
            var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");

            // Save the PDF using a JavaScript function
            await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
        }
        catch (Exception ex)
        {
            // Handle any exceptions that may occur
            Console.Error.WriteLine($"Error in ExportData: {ex.Message}");
        }
    }
}
@using IronPdf

@code {
    /// <summary>
    /// This method exports data by converting a URL to a PDF file and initiating its download.
    /// </summary>
    public async Task ExportData()
    {
        try
        {
            string fileName = "Demo.pdf";
            var renderer = new ChromePdfRenderer();

            // Render the contents of the URL as a PDF document
            var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");

            // Save the PDF using a JavaScript function
            await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
        }
        catch (Exception ex)
        {
            // Handle any exceptions that may occur
            Console.Error.WriteLine($"Error in ExportData: {ex.Message}");
        }
    }
}
[using] ReadOnly Property code() As IronPdf
	''' <summary>
	''' This method exports data by converting a URL to a PDF file and initiating its download.
	''' </summary>
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'	public async Task ExportData()
'	{
'		try
'		{
'			string fileName = "Demo.pdf";
'			var renderer = New ChromePdfRenderer();
'
'			' Render the contents of the URL as a PDF document
'			var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
'
'			' Save the PDF using a JavaScript function
'			await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
'		}
'		catch (Exception ex)
'		{
'			' Handle any exceptions that may occur
'			Console.@Error.WriteLine(string.Format("Error in ExportData: {0}", ex.Message));
'		}
'	}
End Property
$vbLabelText   $csharpLabel

위 코드 스니펫은 HTML에서 PDF 문서를 생성하는 두 가지 방법을 사용합니다. 첫 번째는 IronPDF의 RenderUrlAsPdf 메소드로, 주어진 URL에서 HTML 콘텐츠를 다운로드하여 PDF 형식으로 변환합니다.

두 번째 메소드는 정적 JSRuntime.InvokeVoidAsync 메소드로, 브라우저의 JavaScript 엔진을 트리거하여 웹 페이지 범위 내에서 JavaScript 함수를 호출하여 클라이언트 파일 시스템에 PDF 콘텐츠를 파일로 저장합니다.

아래에는 이 JavaScript 함수가 포함되어 있습니다:

<script type="text/javascript">
    /**
     * Saves the PDF data as a file on the client's system.
     * @param {string} filename - The name of the file to be created.
     * @param {string} bytesBase64 - The Base64 encoded string of the PDF data.
     */
    function saveAsFile(filename, bytesBase64) {
        if (navigator.msSaveBlob) {
            // Download the document in Microsoft Edge browser
            var data = window.atob(bytesBase64);
            var bytes = new Uint8Array(data.length);
            for (var i = 0; i < data.length; i++) {
                bytes[i] = data.charCodeAt(i);
            }
            var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
            navigator.msSaveBlob(blob, filename);
            window.navigator.msSaveOrOpenBlob(blob);
        }
        else {
            var link = document.createElement('a');
            link.download = filename;
            link.href = "data:application/octet-stream;base64," + bytesBase64;
            document.body.appendChild(link); // Needed for Firefox
            link.click();
            document.body.removeChild(link);
        }
    }
</script>
<script type="text/javascript">
    /**
     * Saves the PDF data as a file on the client's system.
     * @param {string} filename - The name of the file to be created.
     * @param {string} bytesBase64 - The Base64 encoded string of the PDF data.
     */
    function saveAsFile(filename, bytesBase64) {
        if (navigator.msSaveBlob) {
            // Download the document in Microsoft Edge browser
            var data = window.atob(bytesBase64);
            var bytes = new Uint8Array(data.length);
            for (var i = 0; i < data.length; i++) {
                bytes[i] = data.charCodeAt(i);
            }
            var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
            navigator.msSaveBlob(blob, filename);
            window.navigator.msSaveOrOpenBlob(blob);
        }
        else {
            var link = document.createElement('a');
            link.download = filename;
            link.href = "data:application/octet-stream;base64," + bytesBase64;
            document.body.appendChild(link); // Needed for Firefox
            link.click();
            document.body.removeChild(link);
        }
    }
</script>
HTML

위의 JavaScript 함수는 Blazor에서 Base64 데이터를 받아 블롭으로 변환한 후 클라이언트 측 위치에 저장합니다.

또한, SaveAs 메소드와 ChromePdfRenderer 클래스를 사용하여 브라우저의 로컬 스토리지에 PDF 문서를 저장할 수 있습니다.

5. HTML 문자열에서 PDF 문서 만들기

다음 코드 스니펫은 HTML 문자열을 문서로 변환하는 방법을 보여줍니다.

@using IronPdf

@code {
    /// <summary>
    /// Demonstrates turning an HTML string into a PDF document.
    /// </summary>
    public void GeneratePdfFromHtmlString()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");

        // You can save the generated PDF locally
        pdf.SaveAs("HelloWorld.pdf");
    }
}
@using IronPdf

@code {
    /// <summary>
    /// Demonstrates turning an HTML string into a PDF document.
    /// </summary>
    public void GeneratePdfFromHtmlString()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");

        // You can save the generated PDF locally
        pdf.SaveAs("HelloWorld.pdf");
    }
}
[using] ReadOnly Property code() As IronPdf
	''' <summary>
	''' Demonstrates turning an HTML string into a PDF document.
	''' </summary>
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'	public void GeneratePdfFromHtmlString()
'	{
'		var renderer = New ChromePdfRenderer();
'		var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");
'
'		' You can save the generated PDF locally
'		pdf.SaveAs("HelloWorld.pdf");
'	}
End Property
$vbLabelText   $csharpLabel

앞의 예제에서는 RenderHtmlAsPdf 인스턴스 메소드를 사용하여 HTML 문자열을 PDF 콘텐츠로 변환합니다. 게다가, SaveAs 메소드를 이전에 설명한 절차에서 사용하여 이 콘텐츠를 클라이언트 컴퓨터에 저장할 수 있습니다.

Blazor 튜토리얼로 PDF 파일 생성, 그림 7: 이 튜토리얼에서 생성된 Blazor PDF 생성 애플리케이션 이 튜토리얼에서 만든 Blazor PDF 생성 응용 프로그램

위 스크린샷은 이 튜토리얼에서 개발된 웹 응용 프로그램을 보여줍니다. 다운로드 버튼을 클릭하면 C# 코드가 PDF 콘텐츠를 생성하고 클라이언트 측 PDF 콘텐츠를 다운로드하기 위해 JavaScript 함수를 실행합니다.

결론

이 글에서는 IronPDF PDF 라이브러리를 사용하여 웹 페이지에서 PDF 파일을 생성하는 Blazor 웹 응용 프로그램을 개발하는 방법을 설명했습니다.

IronPDF는 오픈 소스가 아니지만, 무료 체험 키를 통해 워터마크 없이 프로덕션에서 사용할 수 있습니다.

자주 묻는 질문

Blazor 서버 측 애플리케이션에 PDF 라이브러리를 어떻게 통합할 수 있습니까?

IronPDF를 사용하여 Blazor 서버 측 애플리케이션에 PDF 라이브러리를 통합할 수 있습니다. 먼저, Visual Studio에서 Blazor 프로젝트를 생성한 다음, NuGet Package Manager 또는 명령줄을 통해 IronPDF 라이브러리를 설치합니다. IronPDF는 HTML 콘텐츠에서 원활하게 PDF 문서를 생성할 수 있습니다.

Blazor 애플리케이션에서 HTML로부터 PDF를 생성하는 데 사용할 수 있는 방법은 무엇입니까?

Blazor 애플리케이션에서는 IronPDF의 RenderUrlAsPdf 메서드를 사용하여 웹 페이지 URL을 PDF로 변환하거나 RenderHtmlAsPdf를 사용하여 HTML 문자열에서 직접 PDF를 생성할 수 있습니다. 이러한 방법은 여러 HTML 소스에서 PDF 문서를 생성하는 데 유연성을 제공합니다.

Blazor 애플리케이션에서 PDF 파일을 클라이언트의 파일 시스템에 저장하려면 어떻게 해야 하나요?

Blazor 애플리케이션에서 PDF 파일을 클라이언트의 파일 시스템에 저장하려면 JavaScript 기능을 사용하여 PDF 데이터를 블롭으로 변환하고 다운로드를 트리거할 수 있습니다. IronPDF는 필요한 도구를 제공하여 PDF를 생성할 수 있으며, 이는 클라이언트 측 JavaScript를 사용하여 처리할 수 있습니다.

Visual Studio에서 Blazor 서버 측 프로젝트를 만드는 과정은 어떻게 되나요?

Visual Studio에서 Blazor 서버 측 프로젝트를 만드는 과정은 파일 메뉴에서 '새 프로젝트'를 선택하고, 'Blazor Server App'을 선택하고, 프로젝트 이름과 위치를 지정하고, 적절한 .NET Framework 버전을 선택하는 것입니다. 이 설정을 통해 IronPDF와 같은 추가 라이브러리를 통합하여 기능을 향상시킬 수 있습니다.

이 라이브러리를 사용하여 HTML 내의 JavaScript 및 CSS 콘텐츠를 PDF로 변환할 수 있나요?

예, IronPDF를 사용하여 HTML 내의 JavaScript 및 CSS 콘텐츠를 PDF로 변환할 수 있습니다. HTML5, CSS, JavaScript 콘텐츠 렌더링을 지원하여 원본 웹 페이지의 레이아웃 및 스타일을 유지하는 포괄적인 PDF 문서를 생성할 수 있습니다.

Blazor에서 PDF 생성이 기대한 대로 작동하지 않을 때 문제 해결 단계는 무엇입니까?

Blazor에서 PDF 생성이 기대한 대로 작동하지 않는 경우, 프로젝트에 IronPDF 라이브러리가 올바르게 설치되었는지 확인하세요. HTML 콘텐츠가 올바르게 포맷되고 접근 가능한지도 확인하세요. 또한, 브라우저 콘솔에서 PDF 렌더링에 영향을 미칠 수 있는 JavaScript 오류가 없는지 확인하세요.

PDF 라이브러리를 사용할 때 PDF 문서에 머리글 및 바닥글을 포함시키려면 어떻게 해야 합니까?

IronPDF를 사용하여 PDF 문서에 머리글 및 바닥글을 포함시키려면 렌더링 옵션을 구성하여 사용자 정의 머리글 및 바닥글 콘텐츠를 추가할 수 있습니다. 이를 통해 페이지 번호나 제목과 같은 추가 정보를 PDF 출력에 포함할 수 있습니다.

Blazor 애플리케이션에서 인증이 필요한 페이지에 대해 PDF를 생성할 수 있습니까?

예, IronPDF는 Blazor 애플리케이션에서 인증이 필요한 페이지에 대해 PDF를 생성할 수 있습니다. 제한된 콘텐츠에 접근하기 전에 인증 쿠키나 토큰을 관리하여 라이브러리 기능을 사용하여 이를 PDF로 변환해야 합니다.

IronPDF는 .NET 10과 호환되며, .NET 10을 사용했을 때 얻을 수 있는 이점은 무엇입니까?

예, IronPDF는 .NET 10과 완전하게 호환되며, 커스텀 해결책이나 슘, 포기된 API 없이 바로 사용할 수 있습니다. .NET 10은 ASP.NET Core 및 Blazor에 대한 업데이트를 제공하며 성능 향상, 더 나은 종속성 관리, 향상된 프레임워크 참조 처리 및 JavaScript 분리 개선과 같은 기능이 있어, Razor 페이지, URL 또는 HTML 콘텐츠를 사용한 PDF 생성 워크플로우에 이점을 제공합니다.

IronPDF를 .NET 10과 함께 사용할 때 성능과 런타임 효율성은 어떻게 개선됩니까?

IronPDF를 .NET 10과 함께 사용하면 배열 인터페이스 메서드 비가상화, 구조에 대한 이스케이프 분석, 향상된 JIT 최적화 및 AVX-512 지침 지원과 같은 여러 런타임 개선 기능을 활용할 수 있습니다. 이러한 개선 사항은 메모리 할당을 줄이고 가비지 컬렉션 오버헤드를 낮추어 HTML 렌더링 및 PDF 조작과 같은 작업을 가속화합니다.

커티스 차우
기술 문서 작성자

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

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

아이언 서포트 팀

저희는 주 5일, 24시간 온라인으로 운영합니다.
채팅
이메일
전화해