Jak używać IronWord na iOS

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

.NET MAUI (Multi-platform App UI) umożliwia tworzenie rodzimych aplikacji na Androida, iOS, Windows i macOS za pomocą jednej bazy kodu .NET. Dzięki IronWord, deweloperzy .NET mogą łatwo tworzyć, odczytywać, edytować i zapisywać dokumenty Microsoft Word (.docx) — w pełni wieloplatformowo i bez konieczności posiadania Microsoft Office.

IronWord działa bezproblemowo na iOS poprzez współdzieloną bazę kodu .NET MAUI używając standardowego pakietu IronWord NuGet — nie jest potrzebna wersja specyficzna dla platformy.

Zainstaluj pakiet NuGet IronWord

IronWord jest dostępny jako standardowy wieloplatformowy pakiet NuGet i obsługuje wszystkie główne cele .NET MAUI, w tym iOS.

Install-Package IronWord

Utwórz projekt .NET MAUI

W programie Visual Studio:

  1. Przejdź do Plik > Nowy > Projekt.
  2. Pod Multiplatform, wybierz aplikację .NET MAUI.
  3. Nazwij swój projekt (np. IronWordMauiIOS) i kliknij Utwórz.

Dodaj IronWord do swojego projektu

Możesz dodać pakiet za pomocą Menedżera Pakietów NuGet lub edytując plik .csproj:

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

Nie potrzebujesz warunków platformowych — IronWord działa automatycznie na wszystkich celach.

Stwórz interfejs aplikacji w XAML

Dodaj prosty interfejs UI do ładowania, edycji i zapisywania dokumentów Word. Aby to zrobić, zacznij od dodania tego kodu do MainPage.xml kod:

<?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

To tworzy przyciski i interfejs edytora do ładowania/zapisywania zawartości Word.

Używaj IronWord we wspólnym kodzie

W swoim pliku MainPage.xaml.cs zaimplementuj odczyt i zapis dokumentów DOCX używając IronWord:

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();
    }
}
Imports IronWord
Imports IronWord.Models
Imports Microsoft.Maui.Storage
Imports System.Text

Namespace IronWordMauiIOS

	Partial Public Class MainPage
		Inherits ContentPage

		Public Sub New()
			InitializeComponent()
			License.LicenseKey = "YOUR-LICENSE-KEY"
		End Sub

		Private Async Sub OpenDocx(ByVal sender As Object, ByVal e As EventArgs)
			Try
				Dim file = Await FilePicker.PickAsync()
				If file Is Nothing Then
					Return
				End If

				Dim path As System.String = System.IO.Path.Combine(FileSystem.CacheDirectory, file.FileName)
				Using source = Await file.OpenReadAsync()
				Using target = System.IO.File.Create(path)
					Await source.CopyToAsync(target)
				End Using
				End Using

				Dim doc = New WordDocument(path)
				docEditor.Text = ExtractText(doc)
				statusLabel.Text = "Document loaded successfully."
			Catch ex As Exception
				statusLabel.Text = $"Error: {ex.Message}"
			End Try
		End Sub

		Private Async Sub SaveDocx(ByVal sender As Object, ByVal e As EventArgs)
			Try
				Dim document = New WordDocument()
				Dim paragraph As New Paragraph()
				paragraph.Texts.Add(New TextContent(docEditor.Text))
				document.Paragraphs.Add(paragraph)

				Dim fileName = $"ExportedDoc_{DateTime.Now:yyyyMMddHHmmss}.docx"
				Dim path As System.String = System.IO.Path.Combine(FileSystem.AppDataDirectory, fileName)
				document.SaveAs(path)

				statusLabel.Text = $"Saved to: {fileName}"
			Catch ex As Exception
				statusLabel.Text = $"Save error: {ex.Message}"
			End Try
		End Sub

		Private Function ExtractText(ByVal doc As WordDocument) As String
			Dim sb = New StringBuilder()
			For Each para In doc.Paragraphs
				For Each element In para.Texts
					Dim tempVar As Boolean = TypeOf element Is TextContent
					Dim text As TextContent = If(tempVar, CType(element, TextContent), Nothing)
					If tempVar Then
						sb.AppendLine(text.Text)
					End If
				Next element
			Next para
			Return sb.ToString()
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

Przegląd pliku projektu

Struktura twojego projektu powinna teraz zawierać:

IronWordMauiIOS/
│
├── MainPage.xaml              ← Układ UI
├── MainPage.xaml.cs          ← Logika dla UI (akcje na dokumentach Word)
├── IronWordMauiIOS.csproj     ← Odwołania do pakietu IronWord NuGet
├── Platforms/ios/             ← Konfiguracja specyficzna dla iOS (tutaj nie są potrzebne zmiany)
└── ...

Uruchom projekt

  1. Ustaw cel na Symulator iOS.
  2. Naciśnij Uruchom.
  3. Przetestuj odczyt i zapis dokumentów .docx bezpośrednio na symulowanym urządzeniu iOS.

Końcowe uwagi

  • W pełni wieloplatformowy (iOS, Android, Windows, macOS)
  • Brak potrzeby dla Microsoft Office lub Interop
  • 100% C# / .NET MAUI-native
  • Dziala offline
  • Świetnie nadaje się do budowy edytorów, kreatorów CV, przeglądarek dokumentów

Często Zadawane Pytania

Czym jest IronWord i jak można go używać na iOS?

IronWord to potężna biblioteka zaprojektowana do obsługi dokumentów Word w aplikacjach .NET, w tym na iOS. Pozwala programistom na płynne tworzenie, edycję i konwersję dokumentów Word w ramach ich aplikacji mobilnych.

Jak zintegrować IronWord z moim projektem na iOS?

Aby zintegrować IronWord z projektem na iOS, należy dodać bibliotekę IronWord do rozwiązania .NET, skonfigurować projekt tak, aby odwoływał się do niej, oraz używać dostarczonych interfejsów API do zarządzania dokumentami Word.

Jakie są wymagania systemowe dotyczące korzystania z IronWord na iOS?

IronWord wymaga kompatybilnego środowiska .NET w konfiguracji programistycznej iOS. Upewnij się, że Twoje środowisko programistyczne jest zaktualizowane i obsługuje niezbędne frameworki, aby zapewnić płynną integrację.

Czy IronWord może konwertować dokumenty WORDa na inne formaty w systemie iOS?

Tak, IronWord może konwertować dokumenty WORDa do różnych formatów, takich jak PDF, w aplikacjach na iOS, umożliwiając wszechstronną obsługę i udostępnianie dokumentów.

Czy IronWord obsługuje edycję dokumentów na iOS?

Oczywiście, IronWord obsługuje szeroki zakres operacji na dokumentach, w tym edycję tekstu, wstawianie obrazów i zarządzanie właściwościami dokumentów bezpośrednio w aplikacjach na iOS.

Czy można tworzyć dokumenty WORD od podstaw za pomocą IronWord na iOS?

Tak, IronWord pozwala tworzyć nowe dokumenty WORD od podstaw na iOS, zapewniając kompleksową Suite narzędzi do programowego dodawania treści, formatowania i stylów.

W jaki sposób IronWord radzi sobie z zabezpieczeniami dokumentów WORD w aplikacjach na iOS?

IronWord zawiera funkcje zarządzania bezpieczeństwem dokumentów, takie jak ochrona hasłem i szyfrowanie, zapewniające bezpieczeństwo dokumentów WORD w aplikacjach na iOS.

Czy są dostępne przykładowe projekty wykorzystujące IronWord na iOS?

Tak, firma Iron Software udostępnia przykładowe projekty i dokumentację, aby pomóc programistom w szybkim rozpoczęciu pracy z IronWord na iOS, prezentując różne funkcje i przykłady zastosowań.

Czy IronWord wymaga dodatkowej licencji do wdrożenia na iOS?

IronWord wymaga ważnej licencji do wdrożenia w środowiskach produkcyjnych, w tym w aplikacjach na iOS. Należy zapoznać się z warunkami licencji, aby zachować zgodność z wytycznymi dotyczącymi użytkowania.

Kye Stuart
Autor tekstów technicznych

Kye Stuart łączy pasję do kodowania i umiejętność pisania w Iron Software. Ukończył naukę w Yoobee College w zakresie wdrażania oprogramowania, teraz przekształcając złożone koncepcje technologiczne w jasne materiały edukacyjne. Kye ceni sobie ciągłe naukę i chętnie podejmuje ...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 38,043 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronWord
uruchom próbkę zobacz, jak twoje dane stają się dokumentem Word.