So verwenden Sie IronWord auf iOS
.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:
- Gehen Sie zu Datei > Neu > Projekt.
- Wählen Sie unter Multiplattform .NET MAUI App.
- 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>
Sie benötigen keine Plattformbedingungen — IronWord funktioniert automatisch über alle Ziele.
Erstellen Sie die App-Oberfläche in XAML
Fügen Sie eine einfache UI zum Laden, Bearbeiten und Speichern von Word-Dokumenten hinzu. 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">
<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>
Es werden Schaltflächen und eine Editor-UI 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
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
- Setzen Sie das Ziel auf iOS-Simulator.
- Drücken Sie Ausführen.
- 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.

