IRONSOFTWAREHOME
IRONPDF 사용하기

여러 페이지를 하나의 PDF 파일로 스캔하는 방법

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

.NET MAUI는 단일 코드베이스로 크로스 플랫폼 데스크톱, 웹, 모바일 앱을 빌드할 수 있게 하는 .NET의 차세대 플랫폼으로, Xamarin.Forms를 포함합니다. .NET MAUI를 사용하면 동일한 프로젝트 이름으로 Windows, macOS, iOS, Android, tvOS를 포함한 여러 플랫폼에 앱을 한 번 작성하여 배포할 수 있습니다. .NET MAUI를 통해 각 플랫폼의 최신 UI 기능을 활용할 수 있으며, 예를 들어 macOS의 다크 모드와 터치 지원, Windows 10의 음성 인식을 활용할 수 있습니다.

이 기사에서는 .NET MAUI 앱에서 IronPDF를 사용하여 많은 이점을 제공하는 PDF 문서를 생성하는 방법을 설명합니다.


IronPDF: C# PDF 라이브러리

IronPDF는 PDF 파일을 생성하고 편집할 수 있도록 하는 .NET 라이브러리입니다. .NET MAUI 응용 프로그램에서 사용하기에 완벽하며, 특정 요구에 맞게 조정할 수 있는 다양한 기능을 제공합니다. 사용하기 쉬운 API로 IronPDF는 .NET MAUI 프로젝트에 PDF 기능을 간단히 통합할 수 있게 합니다.

필수 조건

IronPDF를 사용하여 .NET MAUI에서 PDF 및 PDF 뷰어를 생성하기 위한 몇 가지 전제 조건이 있습니다:

  1. 최신 버전의 Visual Studio
  2. .NET Framework 6 또는 7
  3. Visual Studio에 설치된 MAUI 패키지
  4. Visual Studio에서 실행 중인 .NET MAUI 응용 프로그램

1단계: IronPDF 설치

새 프로젝트에 IronPDF를 설치하는 가장 좋은 방법 중 하나는 Visual Studio 내의 NuGet 패키지 관리자 콘솔을 사용하는 것입니다. 이 방법을 사용하여 IronPDF를 설치하는 것에는 몇 가지 장점이 있습니다.

  • 간단하게 할 수 있으며,
  • IronPDF의 최신 버전을 사용하고 있다는 것을 확신할 수 있습니다.

IronPDF 설치 단계

먼저 도구 > NuGet 패키지 관리자 > 패키지 관리자 콘솔로 이동하여 패키지 관리자 콘솔을 엽니다.

.NET MAUI에서 PDF를 보기 위한 단계별 튜토리얼, 그림 1: 패키지 관리자 콘솔 패키지 관리자 콘솔

다음으로, 다음 명령어를 입력하세요:

PM > Install-Package IronPdf

이 패키지와 모든 종속성을 assets 폴더와 함께 설치합니다.

.NET MAUI에서 PDF를 보기 위한 단계별 튜토리얼, 그림 2: IronPDF 설치 IronPDF 설치

이제 MAUI 프로젝트에서 IronPDF를 사용할 수 있습니다.

2단계: .NET MAUI에서 프런트엔드 디자인 설정하기

먼저, IronPDF의 기능 세 가지에 대한 레이아웃을 만드세요.

URL을 PDF로 변환하는 레이아웃

.NET MAUI 레이블 컨트롤을 사용하여 'PDF로 변환할 URL 입력'이라는 텍스트가 있는 레이블을 만드세요. 그런 후에 수평 스택 레이아웃을 적용하여 Entry 컨트롤과 버튼을 수평으로 배열합니다. 그런 다음, 컨트롤 후에 선을 넣어서 다음 섹션의 컨트롤을 나눕니다.

<Label
    Text="Enter URL to Convert PDF"
    SemanticProperties.HeadingLevel="Level1"
    FontSize="18"
    HorizontalOptions="Center" 
/>
<HorizontalStackLayout
    HorizontalOptions="Center">
    <Border Stroke="White"
            StrokeThickness="2"
            StrokeShape="RoundRectangle 5,5,5,5"
            HorizontalOptions="Center">
        <Entry
            x:Name="URL"
            HeightRequest="50"
            WidthRequest="300" 
            HorizontalOptions="Center"
        />
    </Border>

    <Button
        x:Name="urlPDF"
        Text="Convert URL to PDF"
        Margin="30,0,0,0"
        Clicked="UrlToPdf"
        HorizontalOptions="Center" />
</HorizontalStackLayout>

<Line Stroke="White" X2="1500" />
XML

HTML을 PDF로 변환하는 레이아웃

HTML을 PDF로 변환하는 레이아웃의 경우, Editor 컨트롤과 버튼을 만드세요. Editor 컨트롤은 사용자의 HTML 콘텐츠 문자열을 받을 때 사용됩니다. 추가적으로, 구분선으로 사용할 선을 추가하세요.

<Label
    Text="Enter HTML to Convert to PDF"
    SemanticProperties.HeadingLevel="Level2"
    FontSize="18"
    HorizontalOptions="Center" />
<Border 
    Stroke="White"
    StrokeThickness="2"
    StrokeShape="RoundRectangle 5,5,5,5"
    HorizontalOptions="Center">
    
    <Editor
        x:Name="HTML"
        HeightRequest="200"
        WidthRequest="300" 
        HorizontalOptions="Center"
    />

</Border>

<Button
    x:Name="htmlPDF"
    Text="Convert HTML to PDF"
    Clicked="HtmlToPdf"
    HorizontalOptions="Center" />

<Line Stroke="White" X2="1500" />
XML

HTML 파일을 PDF로 변환하는 레이아웃

HTML 파일을 PDF로 변환하기 위해서는 버튼 하나만 추가하세요. 그 버튼은 IronPDF를 사용하여 HTML 파일을 PDF 문서로 변환하는 데 도움을 줍니다.

<Label
    Text="Convert HTML file to PDF"
    SemanticProperties.HeadingLevel="Level2"
    FontSize="18"
    HorizontalOptions="Center" />

<Button
    x:Name="htmlFilePDF"
    Text="Convert HTML file to PDF"
    Clicked="FileToPdf"
    HorizontalOptions="Center" />
XML

완전한 UI 코드

.NET MAUI 프런트 엔드의 전체 소스 코드는 아래와 같습니다.

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="PDF_Viewer.MainPage">

    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">
            <Label
                Text="Enter URL to Convert PDF"
                SemanticProperties.HeadingLevel="Level1"
                FontSize="18"
                HorizontalOptions="Center" 
            />
            <HorizontalStackLayout
                HorizontalOptions="Center">
                <Border Stroke="White"
                        StrokeThickness="2"
                        StrokeShape="RoundRectangle 5,5,5,5"
                        HorizontalOptions="Center">
                    <Entry
                        x:Name="URL"
                        HeightRequest="50"
                        WidthRequest="300" 
                        HorizontalOptions="Center"
                    />
                </Border>

                <Button
                    x:Name="urlPDF"
                    Text="Convert URL to PDF"
                    Margin="30,0,0,0"
                    Clicked="UrlToPdf"
                    HorizontalOptions="Center" />
            </HorizontalStackLayout>

            <Line Stroke="White" X2="1500" />

            <Label
                Text="Enter HTML to Convert to PDF"
                SemanticProperties.HeadingLevel="Level2"
                FontSize="18"
                HorizontalOptions="Center" />
            <Border 
                Stroke="White"
                StrokeThickness="2"
                StrokeShape="RoundRectangle 5,5,5,5"
                HorizontalOptions="Center">
                
                <Editor
                    x:Name="HTML"
                    HeightRequest="200"
                    WidthRequest="300" 
                    HorizontalOptions="Center"
                />

            </Border>

            <Button
                x:Name="htmlPDF"
                Text="Convert HTML to PDF"
                Clicked="HtmlToPdf"
                HorizontalOptions="Center" />

            <Line Stroke="White" X2="1500" />

            <Label
                Text="Convert HTML file to PDF"
                SemanticProperties.HeadingLevel="Level2"
                FontSize="18"
                HorizontalOptions="Center" />

            <Button
                x:Name="htmlFilePDF"
                Text="Convert HTML file to PDF"
                Clicked="FileToPdf"
                HorizontalOptions="Center" />
        </VerticalStackLayout>
    </ScrollView>

</ContentPage>
XML

3단계: PDF 파일 저장 및 보기 코드

.NET MAUI에는 로컬 저장소에 파일을 저장하는 사전 구축 기능이 없습니다. 따라서 코드를 직접 작성해야 합니다. 저장 및 보기 기능을 만들기 위해 SaveService라는 부분 클래스를 생성하고, SaveAndView라는 세 가지 매개변수를 가진 부분 void 함수를 파일 이름, 파일 콘텐츠 유형, 파일을 쓰기 위한 메모리 스트림으로 생성합니다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PDF_Viewer
{
    public partial class SaveService
    {
        public partial void SaveAndView(string filename, string contentType, MemoryStream stream);
    }
}

저장 및 보기 기능은 지원할 각 플랫폼(예: Android, macOS 및/또는 Windows)에 대해 구현해야 합니다. Windows 플랫폼에서는 'SaveWindows.cs'라는 파일을 만들고 SaveAndView라는 부분 메서드를 구현하십시오.

using Windows.Storage;
using Windows.Storage.Pickers;
using Windows.Storage.Streams;
using Windows.UI.Popups;

namespace PDF_Viewer
{
    public partial class SaveService
    {
        public async partial void SaveAndView(string filename, string contentType, MemoryStream stream)
        {
            StorageFile stFile;
            string extension = Path.GetExtension(filename);
            //Gets process windows handle to open the dialog in application process.
            IntPtr windowHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;
            if (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
            {
                //Creates file save picker to save a file.
                FileSavePicker savePicker = new FileSavePicker();
                savePicker.DefaultFileExtension = ".pdf";
                savePicker.SuggestedFileName = filename;
                //Saves the file as PDF file.
                savePicker.FileTypeChoices.Add("PDF", new List<string>() { ".pdf" });
                

                WinRT.Interop.InitializeWithWindow.Initialize(savePicker, windowHandle);
                stFile = await savePicker.PickSaveFileAsync();
            }
            else
            {
                StorageFolder local = ApplicationData.Current.LocalFolder;
                stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);
            }
            if (stFile != null)
            {
                using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))
                {
                    //Writes compressed data from memory to file.
                    using Stream outstream = zipStream.AsStreamForWrite();
                    outstream.SetLength(0);
                    //Saves the stream as file.
                    byte [] buffer = stream.ToArray();
                    outstream.Write(buffer, 0, buffer.Length);
                    outstream.Flush();
                }
                //Create message dialog box.
                MessageDialog msgDialog = new("Do you want to view the document?", "File has been created successfully");
                UICommand yesCmd = new("Yes");
                msgDialog.Commands.Add(yesCmd);
                UICommand noCmd = new("No");
                msgDialog.Commands.Add(noCmd);

                WinRT.Interop.InitializeWithWindow.Initialize(msgDialog, windowHandle);

                //Showing a dialog box.
                IUICommand cmd = await msgDialog.ShowAsync();
                if (cmd.Label == yesCmd.Label)
                {
                    //Launch the saved file.
                    await Windows.System.Launcher.LaunchFileAsync(stFile);
                }
            }
        }
    }
}

Android 및 macOS에서는 동일한 SaveAndView 구현을 가진 별도의 파일을 생성해야 합니다. 이 MAUI PDF Viewer GitHub 저장소에서 작동 예제를 확인할 수 있습니다.

4단계: PDF 기능 코드

이제 PDF 기능에 대한 코드를 작성할 시간입니다. URL을 PDF로 변환하는 기능부터 시작하겠습니다.

URL을 PDF로 변환하는 기능

URL을 PDF로 변환하는 기능을 위한 UrlToPdf 함수를 만드십시오. 함수 내부에서 ChromePdfRenderer 객체를 인스턴스화하고, RenderUrlAsPdf 함수를 사용하여 URL을 PDF 문서로 변환하십시오. RenderUrlAsPdf 함수는 웹 서버에서 URL의 데이터를 가져와 PDF 문서로 변환합니다. 매개변수에서는 URL 입력 컨트롤에 있는 텍스트를 전달하고, SaveService 클래스의 객체를 생성하고, SaveAndView 함수를 사용하십시오. SaveAndView 함수의 매개변수에서는 생성된 PDF 파일의 스트림을 전달하십시오.

SaveAndView 함수는 파일을 사용자 정의 경로에 저장하고 PDF 파일을 볼 수 있는 옵션을 제공합니다. 마지막으로, PDF 파일 생성 정보를 제공하는 경고 상자를 표시합니다. 사용자가 빈 입력 컨트롤로 PDF 파일 생성을 시도하면 오류 메시지와 경고가 포함된 경고 상자가 표시됩니다.

private void UrlToPdf(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(URL.Text))
    {
        var renderer = new IronPdf.ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf(URL.Text.Trim());
        SaveService saveService = new SaveService();
        saveService.SaveAndView("URLtoPDF.pdf", "application/pdf", pdf.Stream);
        DisplayAlert("Success", "PDF from URL Created!", "OK");
    }
    else
    {
        DisplayAlert("Error", "Field can't be empty! \nPlease enter URL!", "OK");
    }

}

HTML을 PDF로 변환하는 기능

HTML을 PDF로 변환하는 기능을 위해 HtmlToPdf 함수를 만들고 RenderHtmlAsPdf 함수를 사용하십시오. Editor 컨트롤의 텍스트를 사용하여 RenderHtmlAsPdf 함수의 매개변수로 전달하십시오. 위 함수와 비슷하게, PDF 파일을 저장한 후에 볼 수 있는 기능을 사용하도록 SaveAndView 함수를 사용하십시오.

private void HtmlToPdf(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(HTML.Text))
    {
        var renderer = new IronPdf.ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(HTML.Text);
        SaveService saveService = new SaveService();
        saveService.SaveAndView("IronPDF HTML string.pdf", "application/pdf", pdf.Stream);
        DisplayAlert("Success", "PDF from HTML Created!", "OK");
    }
    else
    {
        DisplayAlert("Error", "Field can't be empty! \nPlease enter valid HTML!", "OK");
    }
}

HTML 파일을 PDF로 변환하는 기능

HTML 파일을 PDF 파일로 변환하기 위한 FileToPdf 함수를 만드십시오. RenderHtmlFileAsPdf 함수를 사용하고 HTML 파일 경로를 매개변수로 전달하십시오. 모든 HTML 콘텐츠를 PDF로 변환하고 출력 파일을 저장합니다.

private void FileToPdf(object sender, EventArgs e)
{
    var renderer = new IronPdf.ChromePdfRenderer();
    var pdf = renderer.RenderHtmlFileAsPdf(@"C:\Users\Administrator\Desktop\index.html");
    SaveService saveService = new SaveService();
    saveService.SaveAndView("HTML File to PDF.pdf", "application/pdf", pdf.Stream);
    DisplayAlert("Success", "PDF from File Created!", "OK");
}

출력

프로젝트 실행 후 출력은 다음과 같습니다.

.NET MAUI에서 PDF를 보기 위한 단계별 튜토리얼, 그림 3: 출력 산출

이 섹션에 Microsoft 웹사이트 URL을 입력하고 버튼을 클릭하세요.

.NET MAUI에서 PDF를 보기 위한 단계별 튜토리얼, 그림 4: URL에서 PDF로 URL을 PDF로 변환

PDF 파일을 생성한 후 파일을 사용자 정의 목적지에 저장할 수 있는 대화 상자가 표시됩니다.

.NET MAUI에서 PDF를 보기 위한 단계별 튜토리얼, 그림 5: 파일 저장 파일 저장

파일을 저장한 후, 이 팝업이 나타나 PDF 파일을 보기 위한 PDF 뷰어를 선택하는 옵션을 제공합니다.

.NET MAUI에서 PDF를 보기 위한 단계별 튜토리얼, 그림 6: PDF 뷰어 팝업 PDF 뷰어 팝업

IronPDF는 URL을 뛰어나게 PDF로 변환합니다. 모든 색상과 이미지를 원래 모양과 형식을 그대로 유지합니다.

.NET MAUI에서 PDF를 보기 위한 단계별 튜토리얼, 그림 7: PDF 뷰어 팝업 PDF 뷰어 팝업

다른 모든 기능에서도 같은 절차를 따라야 합니다. IronPDF의 Blazor에서의 동작에 대해 더 알아보려면 이 IronPDF in Blazor Blog Post를 확인하세요.

"MAUI에서 XAML을 PDF로 변환하는 방법"을 방문하여 MAUI 페이지를 XAML로 PDF 문서로 변환하는 방법을 배우세요.

요약

이 튜토리얼은 .NET MAUI 앱에서 IronPDF를 사용하여 PDF 파일과 PDF 뷰어를 생성하는 방법을 설명합니다. .NET MAUI는 단일 코드베이스로 다중 플랫폼 애플리케이션을 만들기 위한 훌륭한 도구입니다. IronPDF는 모든 .NET 애플리케이션에서 PDF 파일을 쉽게 생성하고 사용자 지정할 수 있도록 도와줍니다. IronPDF는 .NET MAUI 플랫폼과 완벽하게 호환됩니다.

IronPDF는 개발에 무료로 제공됩니다. IronPDF를 프로덕션 환경에서 테스트하려면 무료 체험 키를 받아보세요. IronPDF와 그 기능에 대한 자세한 정보를 보려면 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일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.