iOS에서 IronWord 사용하는 방법

This article was translated from English: Does it need improvement?
Translated
View the article in English

.NET MAUI (멀티플랫폼 앱 UI)를 사용하면 단일 .NET 코드베이스를 이용하여 Android, iOS, Windows 및 macOS에서 작동하는 네이티브 애플리케이션을 개발할 수 있습니다. IronWord 사용하면 .NET 개발자는 Microsoft Office 없이도 모든 플랫폼에서 Microsoft Word(.docx) 문서를 쉽게 생성, 읽기, 편집 및 저장할 수 있습니다.

IronWord 표준 IronWord NuGet 패키지를 사용하여 공유 .NET MAUI 코드베이스를 통해 iOS에서 원활하게 작동합니다. 플랫폼별 버전이 필요하지 않습니다.

IronWord NuGet 패키지를 설치하세요.

IronWord 표준 크로스 플랫폼 NuGet 패키지로 제공되며 iOS를 포함한 모든 주요 .NET MAUI 대상을 지원합니다.

Install-Package IronWord

.NET MAUI 프로젝트를 생성합니다.

Visual Studio에서:

  1. 파일 > 새로 만들기 > 프로젝트로 이동합니다.
  2. 멀티플랫폼에서 .NET MAUI 앱을 선택합니다.
  3. 프로젝트 이름을 지정하고(예: IronWordMauiIOS) 만들기를 클릭합니다.

IronWord 프로젝트에 추가하세요

NuGet 패키지 관리자를 통해 패키지를 추가하거나 .csproj 파일을 편집하여 추가할 수 있습니다.

<ItemGroup>
  <PackageReference Include="IronWord" Version="2025.5.0" />
</ItemGroup>
<ItemGroup>
  <PackageReference Include="IronWord" Version="2025.5.0" />
</ItemGroup>
XML

플랫폼 조건을 설정할 필요가 없습니다. IronWord 모든 대상에서 자동으로 작동합니다.

XAML을 사용하여 앱 인터페이스를 생성합니다.

Word 문서를 불러오고 편집하고 저장할 수 있는 간단한 사용자 인터페이스를 추가합니다. 이 작업을 수행하려면 이 코드를 MainPage.xml 코드에 추가하세요:

<?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="IronWordMauiIOS.MainPage"
             BackgroundColor="White">

    <VerticalStackLayout Padding="20"
                         Spacing="15"
                         VerticalOptions="Center">

        <Label Text="IronWord iOS Demo"
               FontSize="24"
               FontAttributes="Bold"
               HorizontalOptions="Center"
               TextColor="#222"/>

        <Button Text=" Open Word Document"
                Clicked="OpenDocx"
                BackgroundColor="#007AFF"
                TextColor="White"
                CornerRadius="10"
                HeightRequest="50"/>

        <Editor x:Name="docEditor"
                Placeholder="Start editing..."
                AutoSize="TextChanges"
                HeightRequest="250"
                FontSize="16"
                TextColor="#333"
                BackgroundColor="#F9F9F9"
                CornerRadius="10"
                Margin="0,10,0,0"/>

        <Button Text=" Save as .docx"
                Clicked="SaveDocx"
                BackgroundColor="#34C759"
                TextColor="White"
                CornerRadius="10"
                HeightRequest="50"/>

        <Label x:Name="statusLabel"
               FontSize="14"
               TextColor="Gray"
               HorizontalOptions="Center"/>
    </VerticalStackLayout>
</ContentPage>
<?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="IronWordMauiIOS.MainPage"
             BackgroundColor="White">

    <VerticalStackLayout Padding="20"
                         Spacing="15"
                         VerticalOptions="Center">

        <Label Text="IronWord iOS Demo"
               FontSize="24"
               FontAttributes="Bold"
               HorizontalOptions="Center"
               TextColor="#222"/>

        <Button Text=" Open Word Document"
                Clicked="OpenDocx"
                BackgroundColor="#007AFF"
                TextColor="White"
                CornerRadius="10"
                HeightRequest="50"/>

        <Editor x:Name="docEditor"
                Placeholder="Start editing..."
                AutoSize="TextChanges"
                HeightRequest="250"
                FontSize="16"
                TextColor="#333"
                BackgroundColor="#F9F9F9"
                CornerRadius="10"
                Margin="0,10,0,0"/>

        <Button Text=" Save as .docx"
                Clicked="SaveDocx"
                BackgroundColor="#34C759"
                TextColor="White"
                CornerRadius="10"
                HeightRequest="50"/>

        <Label x:Name="statusLabel"
               FontSize="14"
               TextColor="Gray"
               HorizontalOptions="Center"/>
    </VerticalStackLayout>
</ContentPage>
XML

이렇게 하면 Word 콘텐츠를 불러오거나 저장하는 버튼과 편집기 UI가 생성됩니다.

공유 코드에서 IronWord 사용하세요

MainPage.xaml.cs 파일에서 IronWord 사용하여 DOCX 문서를 읽고 쓰는 기능을 구현하세요.

using IronWord;
using IronWord.Models;
using Microsoft.Maui.Storage;
using System.Text;

namespace IronWordMauiIOS;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
        License.LicenseKey = "YOUR-LICENSE-KEY"; 
    }

    private async void OpenDocx(object sender, EventArgs e)
    {
        try
        {
            var file = await FilePicker.PickAsync();
            if (file == null) return;

            var path = Path.Combine(FileSystem.CacheDirectory, file.FileName);
            using (var source = await file.OpenReadAsync())
            using (var target = File.Create(path))
                await source.CopyToAsync(target);

            var doc = new WordDocument(path);
            docEditor.Text = ExtractText(doc);
            statusLabel.Text = "Document loaded successfully.";
        }
        catch (Exception ex)
        {
            statusLabel.Text = $"Error: {ex.Message}";
        }
    }

    private async void SaveDocx(object sender, EventArgs e)
    {
        try
        {
            var document = new WordDocument();
            var paragraph = new Paragraph();
            paragraph.Texts.Add(new TextContent(docEditor.Text));
            document.Paragraphs.Add(paragraph);

            var fileName = $"ExportedDoc_{DateTime.Now:yyyyMMddHHmmss}.docx";
            var path = Path.Combine(FileSystem.AppDataDirectory, fileName);
            document.SaveAs(path);

            statusLabel.Text = $"Saved to: {fileName}";
        }
        catch (Exception ex)
        {
            statusLabel.Text = $"Save error: {ex.Message}";
        }
    }

    private string ExtractText(WordDocument doc)
    {
        var sb = new StringBuilder();
        foreach (var para in doc.Paragraphs)
        {
            foreach (var element in para.Texts)
            {
                if (element is TextContent text)
                    sb.AppendLine(text.Text);
            }
        }
        return sb.ToString();
    }
}
using IronWord;
using IronWord.Models;
using Microsoft.Maui.Storage;
using System.Text;

namespace IronWordMauiIOS;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
        License.LicenseKey = "YOUR-LICENSE-KEY"; 
    }

    private async void OpenDocx(object sender, EventArgs e)
    {
        try
        {
            var file = await FilePicker.PickAsync();
            if (file == null) return;

            var path = Path.Combine(FileSystem.CacheDirectory, file.FileName);
            using (var source = await file.OpenReadAsync())
            using (var target = File.Create(path))
                await source.CopyToAsync(target);

            var doc = new WordDocument(path);
            docEditor.Text = ExtractText(doc);
            statusLabel.Text = "Document loaded successfully.";
        }
        catch (Exception ex)
        {
            statusLabel.Text = $"Error: {ex.Message}";
        }
    }

    private async void SaveDocx(object sender, EventArgs e)
    {
        try
        {
            var document = new WordDocument();
            var paragraph = new Paragraph();
            paragraph.Texts.Add(new TextContent(docEditor.Text));
            document.Paragraphs.Add(paragraph);

            var fileName = $"ExportedDoc_{DateTime.Now:yyyyMMddHHmmss}.docx";
            var path = Path.Combine(FileSystem.AppDataDirectory, fileName);
            document.SaveAs(path);

            statusLabel.Text = $"Saved to: {fileName}";
        }
        catch (Exception ex)
        {
            statusLabel.Text = $"Save error: {ex.Message}";
        }
    }

    private string ExtractText(WordDocument doc)
    {
        var sb = new StringBuilder();
        foreach (var para in doc.Paragraphs)
        {
            foreach (var element in para.Texts)
            {
                if (element is TextContent text)
                    sb.AppendLine(text.Text);
            }
        }
        return sb.ToString();
    }
}
$vbLabelText   $csharpLabel

프로젝트 파일 개요

이제 프로젝트 구조에는 다음이 포함되어야 합니다.

IronWordMauiIOS/
│
├── MainPage.xaml ← UI 레이아웃
├── MainPage.xaml.cs ← UI 로직 (워드 문서 작업)
├── IronWordMauiIOS.csproj ← IronWord NuGet 패키지 참조
├── 플랫폼/iOS/ ← iOS 전용 설정 (변경 사항 없음)
└── ...

프로젝트 실행

  1. 대상을 iOS 시뮬레이터로 설정합니다.
  2. 실행 버튼을 누르세요.
  3. 시뮬레이션된 iOS 기기에서 .docx 문서를 직접 읽고 쓰는 기능을 테스트해 보세요.

마지막으로

  • 모든 플랫폼에서 완벽하게 호환됩니다 (iOS, Android, Windows, macOS)
  • Microsoft Office 또는 Interop이 필요하지 않습니다.
  • 100% C# / .NET MAUI 네이티브
  • 오프라인에서도 작동합니다
  • 웹사이트 편집기, 이력서 작성기, 문서 뷰어에 매우 적합합니다.

자주 묻는 질문

IronWord란 무엇이며 iOS에서 어떻게 사용할 수 있나요?

IronWord는 .NET 애플리케이션, 포함 iOS, 에서 Word 문서를 처리하도록 설계된 강력한 라이브러리입니다. 개발자가 모바일 앱 내에서 Word 문서를 생성, 조작 및 변환할 수 있게 합니다.

내 iOS 프로젝트에 IronWord를 어떻게 통합하나요?

iOS 프로젝트에 IronWord를 통합하려면 IronWord 라이브러리를 .NET 솔루션에 추가하고, 프로젝트가 이를 참조하도록 구성한 후 제공된 API를 사용하여 Word 문서를 관리합니다.

iOS에서 IronWord를 사용하는 시스템 요구 사항은 무엇인가요?

IronWord는 iOS 개발 설정에 호환되는 .NET 환경을 필요로 합니다. 개발 환경이 업데이트되고, 원활한 통합을 위한 필요한 프레임워크를 지원하는지 확인하십시오.

IronWord가 iOS에서 Word 문서를 다른 형식으로 변환할 수 있나요?

네, IronWord는 iOS 애플리케이션에서 Word 문서를 PDF와 같은 다양한 형식으로 변환할 수 있어 다양한 문서 처리 및 공유가 가능합니다.

IronWord가 iOS에서 문서 조작을 지원하나요?

물론이죠, IronWord는 텍스트 편집, 이미지 삽입 및 문서 속성 관리 등 iOS 애플리케이션 내에서 직접 문서를 조작할 수 있는 다양한 기능을 지원합니다.

iOS에서 IronWord를 사용하여 새 Word 문서를 처음부터 만들 수 있나요?

네, IronWord는 iOS에서 처음부터 새 Word 문서를 만들 수 있게 하며, 프로그램적으로 콘텐츠, 서식 및 스타일을 추가할 수 있는 포괄적인 도구 모음을 제공합니다.

IronWord가 iOS 애플리케이션에서 Word 문서 보안을 어떻게 처리하나요?

IronWord는 비밀번호 보호 및 암호화와 같은 문서 보안을 관리하는 기능을 포함하여 iOS 앱에서 Word 문서를 안전하게 유지할 수 있습니다.

iOS에서 IronWord를 사용하는 예제 프로젝트가 있나요?

예, Iron Software는 iOS에서 IronWord를 빠르게 시작할 수 있도록 개발자를 돕기 위한 샘플 프로젝트와 문서를 제공합니다. 이를 통해 다양한 기능 및 사용 사례를 보여줍니다.

IronWord는 iOS 배포에 추가 라이선스가 필요한가요?

IronWord는 iOS 애플리케이션을 포함하여 프로덕션 환경에서 배포하기 위한 유효한 라이선스가 필요합니다. 사용 지침을 준수하기 위해 라이선스 약관을 확인하십시오.

카이 스튜어트
기술 문서 작성자

카이 스튜어트는 Iron Software에서 코딩에 대한 열정과 글쓰기 능력을 결합하여 일하고 있습니다. 유비 칼리지에서 소프트웨어 개발을 전공한 그는 복잡한 기술 개념을 명확하고 이해하기 쉬운 교육 콘텐츠로 풀어내는 능력을 갖추고 있습니다. 카이는 평생 학습을 중시하며 새로운 기술적 도전을 즐깁니다.

업무 외 시간에는 PC 게임, 트위치 스트리밍, 정원 가꾸기, 반려견 자이야 산책과 같은 야외 활동을 즐깁니다. 카이의 솔직한 접근 방식은 전 세계 개발자들을 위해 기술을 쉽게 이해할 수 있도록 돕는 Iron Software의 사명에 핵심적인 역할을 합니다.

시작할 준비 되셨나요?
Nuget 다운로드 35,581 | 버전: 2026.3 방금 출시되었습니다
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronWord
샘플 실행 데이터를 워드 문서로 변환 확인.