Como usar o IronWord no iOS
O .NET MAUI (Multi-platform App UI) permite criar aplicativos nativos para Android, iOS, Windows e macOS usando uma única base de código .NET . Com o IronWord, os desenvolvedores .NET podem criar, ler, editar e salvar documentos do Microsoft Word (.docx) com facilidade - totalmente multiplataforma e sem a necessidade do Microsoft Office.
O IronWord funciona perfeitamente no iOS através da base de código .NET MAUI compartilhada, utilizando o pacote NuGet padrão do IronWord - não é necessária nenhuma versão específica para cada plataforma.
Instale o pacote NuGet IronWord.
O IronWord está disponível como um pacote NuGet multiplataforma padrão e é compatível com todos os principais destinos .NET MAUI , incluindo iOS.
Criar um projeto .NET MAUI
No Visual Studio:
- Vá para Arquivo > Novo > Projeto.
- Em Multiplataforma, selecione Aplicativo .NET MAUI .
- Dê um nome ao seu projeto (por exemplo, IronWordMauiIOS) e clique em Criar.
Adicione IronWord ao seu projeto
Você pode adicionar o pacote através do Gerenciador de Pacotes NuGet ou editando seu arquivo .csproj:
<ItemGroup>
<PackageReference Include="IronWord" Version="2025.5.0" />
</ItemGroup>
Você não precisa de configurações específicas de plataforma - o IronWord funciona automaticamente em todos os sistemas operacionais.
Crie a interface do aplicativo em XAML.
Adicione uma interface de usuário simples para carregar, editar e salvar documentos do Word. Para fazer isso, comece adicionando este código ao código 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">
<!-- 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>
Isso cria botões e uma interface de editor para carregar/salvar conteúdo do Word.
Usar IronWord em código compartilhado
No seu arquivo MainPage.xaml.cs, implemente a leitura e a gravação de documentos DOCX usando o 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();
}
}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 NamespaceImports 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 NamespaceVisão geral do arquivo do projeto
A estrutura do seu projeto agora deve incluir:
IronWordMauiIOS/
│
├── MainPage.xaml ← Layout da interface do usuário
├── MainPage.xaml.cs ← Lógica para a interface do usuário (ações do documento Word)
├── IronWordMauiIOS.csproj ← Referências Pacote NuGet IronWord
├── Plataformas/ios/ ← Configuração específica para iOS (nenhuma alteração necessária aqui)
└── ...
Execute o projeto
- Defina o destino como Simulador do iOS.
- Clique em Executar.
- Teste a leitura e a gravação de documentos .docx diretamente no seu dispositivo iOS simulado.
Notas finais
- Totalmente multiplataforma (iOS, Android, Windows, macOS)
- Não há necessidade do Microsoft Office ou Interop
- 100% C# / .NET MAUI-nativo
- Funciona offline
- Excelente para editores de conteúdo, criadores de currículos e visualizadores de documentos.
Perguntas frequentes
O que é o IronWord e como ele pode ser usado no iOS?
IronWord é uma biblioteca poderosa projetada para lidar com documentos do Word em aplicativos .NET, incluindo iOS. Ela permite que os desenvolvedores criem, manipulem e convertam documentos do Word de forma integrada em seus aplicativos móveis.
Como faço para integrar o IronWord ao meu projeto iOS?
Para integrar o IronWord ao seu projeto iOS, você precisa adicionar a biblioteca IronWord à sua solução .NET, configurar seu projeto para referenciá-la e usar as APIs fornecidas para gerenciar documentos do Word.
Quais são os requisitos de sistema para usar o IronWord no iOS?
O IronWord requer um ambiente .NET compatível em sua configuração de desenvolvimento iOS. Certifique-se de que seu ambiente de desenvolvimento esteja atualizado e suporte as estruturas necessárias para uma integração perfeita.
O IronWord consegue converter documentos do Word para outros formatos no iOS?
Sim, o IronWord pode converter documentos do Word para vários formatos, como PDF, em seus aplicativos iOS, permitindo o manuseio e compartilhamento versáteis de documentos.
O IronWord oferece suporte à manipulação de documentos no iOS?
Com certeza, o IronWord oferece suporte a uma ampla gama de manipulações de documentos, incluindo edição de texto, inserção de imagens e gerenciamento de propriedades do documento diretamente em aplicativos iOS.
É possível criar documentos do Word do zero usando o IronWord no iOS?
Sim, o IronWord permite criar novos documentos do Word do zero no iOS, oferecendo um conjunto completo de ferramentas para adicionar conteúdo, formatação e estilos programaticamente.
Como o IronWord lida com a segurança de documentos do Word em aplicativos iOS?
O IronWord inclui recursos para gerenciar a segurança de documentos, como proteção por senha e criptografia, garantindo que seus documentos do Word permaneçam seguros em aplicativos iOS.
Existem projetos de exemplo disponíveis para usar o IronWord no iOS?
Sim, a Iron Software fornece projetos de exemplo e documentação para ajudar os desenvolvedores a começarem rapidamente a usar o IronWord no iOS, demonstrando vários recursos e casos de uso.
O IronWord requer alguma licença adicional para implantação em iOS?
O IronWord requer uma licença válida para implantação em ambientes de produção, incluindo aplicativos iOS. Certifique-se de verificar os termos da licença para estar em conformidade com as diretrizes de uso.
Kye Stuart une sua paixão por programação e sua habilidade de escrita na Iron Software. Formado em implantação de software pela Yoobee College, ele agora transforma conceitos tecnológicos complexos em conteúdo educacional claro. Kye valoriza o aprendizado contínuo e abraça novos desafios tecnológicos.