How to Use IronWord on iOS

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

.NET MAUI (Multi-platform App UI) ermöglicht es, native Anwendungen auf Android, iOS, Windows und macOS mit einer einzigen .NET-Codebasis zu erstellen. Mit IronWord können .NET-Entwickler problemlos Microsoft Word (.docx)-Dokumente erstellen, lesen, bearbeiten und speichern — plattformübergreifend und ohne Microsoft Office.

IronWord funktioniert nahtlos auf iOS über die gemeinsame .NET MAUI-Codebasis mithilfe des standardmäßigen IronWord-NuGet-Pakets — eine plattformspezifische Version wird nicht benötigt.

Installieren Sie das IronWord-NuGet-Paket

IronWord ist als standardmäßiges plattformübergreifendes NuGet-Paket verfügbar und unterstützt alle wichtigen .NET MAUI-Ziele, einschließlich iOS.

Install-Package IronWord

Erstellen Sie ein .NET MAUI Projekt

In Visual Studio:

  1. Gehen Sie zu Datei > Neu > Projekt.
  2. Wählen Sie unter Multiplattform .NET MAUI App.
  3. Benennen Sie Ihr Projekt (z. B. IronWordMauiIOS) und klicken Sie auf Erstellen.

Fügen Sie IronWord zu Ihrem Projekt hinzu

Sie können das Paket über den NuGet-Paket-Manager oder durch Bearbeiten Ihrer .csproj-Datei hinzufügen:

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

Sie benötigen keine Plattformbedingungen — IronWord funktioniert automatisch über alle Ziele.

Erstellen Sie die App-Oberfläche in XAML

Fügen Sie eine einfache Benutzeroberfläche hinzu, um Word-Dokumente zu laden, zu bearbeiten und zu speichern. Um dies zu tun, fügen Sie diesen Code in den MainPage.xml Code ein:

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

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

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

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

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

        <!-- Status message -->
        <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">

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

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

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

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

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

Dadurch werden Schaltflächen und eine Editor-Benutzeroberfläche zum Laden/Speichern von Word-Inhalten erstellt.

Verwenden Sie IronWord im gemeinsamen Code

Implementieren Sie in Ihrer MainPage.xaml.cs das Lesen und Schreiben von DOCX-Dokumenten mit 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

Projektdatei-Übersicht

Ihre Projektstruktur sollte nun Folgendes enthalten:

IronWordMauiIOS/
│
├── MainPage.xaml              ← UI-Layout
├── MainPage.xaml.cs          ← Logik für UI (Word-Dokumentaktionen)
├── IronWordMauiIOS.csproj     ← Verweist auf das IronWord-NuGet-Paket
├── Platforms/ios/             ← iOS-spezifische Konfiguration (hier sind keine Änderungen erforderlich)
└── ...

Projekt ausführen

  1. Setzen Sie das Ziel auf iOS-Simulator.
  2. Drücken Sie Ausführen.
  3. Testen Sie das Lesen und Schreiben von .docx-Dokumenten direkt auf Ihrem simulierten iOS-Gerät.

Abschließende Anmerkungen

  • Voll plattformübergreifend (iOS, Android, Windows, macOS)
  • Keine Notwendigkeit für Microsoft Office oder Interop
  • 100% C# / .NET MAUI-nativ
  • Funktioniert offline
  • Hervorragend geeignet für den Bau von Editoren, Lebenslauf-Erstellern, Dokumentenbetrachtern

Häufig gestellte Fragen

Was ist IronWord und wie kann es auf iOS verwendet werden?

IronWord ist eine leistungsstarke Bibliothek, die zur Verarbeitung von Word-Dokumenten in .NET-Anwendungen, einschließlich iOS, entwickelt wurde. Sie ermöglicht es Entwicklern, Word-Dokumente nahtlos innerhalb ihrer mobilen Apps zu erstellen, zu bearbeiten und zu konvertieren.

Wie integriere ich IronWord in mein iOS-Projekt?

Um IronWord in Ihr iOS-Projekt zu integrieren, müssen Sie die IronWord-Bibliothek zu Ihrer .NET-Lösung hinzufügen, Ihr Projekt so konfigurieren, dass es auf diese verweist, und die bereitgestellten APIs zur Verwaltung von Word-Dokumenten verwenden.

Was sind die Systemanforderungen für die Verwendung von IronWord auf iOS?

IronWord erfordert eine kompatible .NET-Umgebung in Ihrem iOS-Entwicklungssetup. Stellen Sie sicher, dass Ihre Entwicklungsumgebung aktualisiert ist und die notwendigen Frameworks für eine nahtlose Integration unterstützt.

Kann IronWord Word-Dokumente auf iOS in andere Formate konvertieren?

Ja, IronWord kann Word-Dokumente in verschiedene Formate wie PDF in Ihren iOS-Anwendungen konvertieren, was eine vielseitige Dokumentenverarbeitung und -freigabe ermöglicht.

Unterstützt IronWord die Dokumentenbearbeitung auf iOS?

Ja, IronWord unterstützt eine breite Palette von Dokumentenbearbeitungen, einschließlich Textbearbeitung, Einfügen von Bildern und Verwaltung von Dokumenteigenschaften direkt innerhalb von iOS-Anwendungen.

Ist es möglich, mit IronWord von Grund auf neue Word-Dokumente auf iOS zu erstellen?

Ja, IronWord erlaubt es Ihnen, von Grund auf neue Word-Dokumente auf iOS zu erstellen und bietet eine umfassende Suite von Tools, um Inhalte, Formatierungen und Stile programmatisch hinzuzufügen.

Wie behandelt IronWord die Sicherheit von Word-Dokumenten in iOS-Anwendungen?

IronWord enthält Funktionen zur Verwaltung der Dokumentensicherheit wie Passwortschutz und Verschlüsselung, um sicherzustellen, dass Ihre Word-Dokumente in iOS-Apps sicher bleiben.

Gibt es Beispielprojekte zur Verwendung von IronWord auf iOS?

Ja, Iron Software bietet Beispielprojekte und Dokumentation, um Entwicklern zu helfen, schnell mit IronWord auf iOS zu beginnen und verschiedene Funktionen und Anwendungsfälle zu demonstrieren.

Erfordert IronWord zusätzliche Lizenzen für die Bereitstellung auf iOS?

IronWord erfordert eine gültige Lizenz für die Bereitstellung in Produktionsumgebungen, einschließlich iOS-Anwendungen. Stellen Sie sicher, die Lizenzbedingungen zu prüfen, um die Nutzungshinweise einzuhalten.

Kye Stuart
Technischer Autor

Kye Stuart verbindet Leidenschaft für das Programmieren und Schreibfähigkeiten bei Iron Software. Nach der Ausbildung am Yoobee College in Software-Bereitstellung transformieren sie nun komplexe technische Konzepte in klares Bildungspotenzial. Kye legt Wert auf lebenslanges Lernen und stellt sich neuen technischen Herausforderungen.

Außerhalb der Arbeit ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 25,807 | Version: 2025.11 gerade veröffentlicht