IronWord'un iOS'da Kullanılması
.NET MAUI (Çoklu Platform Uygulama Arayüzü), Android, iOS, Windows ve macOS'ta tek bir .NET kod tabanı kullanarak yerel uygulamalar oluşturmanıza olanak tanır. IronWord ile, .NET geliştiricileri Microsoft Word (.docx) belgelerini kolayca oluşturabilir, okuyabilir, düzenleyebilir ve kaydedebilir — tamamen çapraz platform ve Microsoft Office gerektirmeden.
IronWord, standart IronWord NuGet paketi ile paylaşılan .NET MAUI kod tabanını kullanarak iOS üzerinde sorunsuz çalışır - platforma özel bir sürüm gerekmez.
IronWord NuGet Paketini Kurun
IronWord, standart bir çapraz platform NuGet paketi olarak mevcuttur ve iOS da dahil olmak üzere tüm önemli .NET MAUI hedeflerini destekler.
Install-Package IronWord
Bir .NET MAUI Projesi Oluşturun
Visual Studio'da:
- Dosya > Yeni > Proje'ye gidin.
- Çoklu platform altında, .NET MAUI Uygulaması'nı seçin.
- Projenizi adlandırın (örn. IronWordMauiIOS) ve Oluştur'a tıklayın.
Projenize IronWord Ekleyin
Paketi NuGet Paket Yöneticisi'nden veya .csproj dosyanızı düzenleyerek ekleyebilirsiniz:
<ItemGroup>
<PackageReference Include="IronWord" Version="2025.5.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="IronWord" Version="2025.5.0" />
</ItemGroup>
Platform koşullarına ihtiyacınız yok — IronWord tüm hedeflerde otomatik olarak çalışır.
XAML'de Uygulama Arayüzünü Oluşturun
Word belgelerini yüklemek, düzenlemek ve kaydetmek için basit bir kullanıcı arayüzü ekleyin. Bunu yapmak için, önce bu kodu MainPage.xml koduna ekleyin:
<?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>
Bu, Word içeriğini yüklemek/kaydetmek için düğmeler ve bir düzenleyici arayüzü oluşturur.
Paylaşılan Kodda IronWord Kullan
MainPage.xaml.cs dosyanızda, IronWord kullanarak DOCX belgelerini okuma ve yazma işlemlerini uygulayın:
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
Proje Dosyası Genel Bakış
Proje yapınız artık şunları içermelidir:
IronWordMauiIOS/
│
├── MainPage.xaml ← UI Düzeni
├── MainPage.xaml.cs ← UI için mantık (Word belge eylemleri)
├── IronWordMauiIOS.csproj ← IronWord NuGet paketine atıf yapar
├── Platforms/ios/ ← iOS'ye özel yapılandırma (burada değişiklik yapılması gerekmez)
└── ...
Projeyi Çalıştırın
- Hedefi iOS Simulator olarak ayarlayın.
- Çalıştır'a basın.
- Simüle edilen iOS cihazınızda .docx belgelerini okuma ve yazma işlemlerini test edin.
Son Notlar
- Tamamen çapraz platform (iOS, Android, Windows, macOS)
- Microsoft Office veya Interop gerekmez
- %100 C# / .NET MAUI-yerel
- Çevrimdışı çalışır
- Editörler, özgeçmiş oluşturucular, döküman görüntüleyiciler yapmak için mükemmel
Sıkça Sorulan Sorular
IronWord nedir ve iOS'ta nasıl kullanılabilir?
IronWord, .NET uygulamalarında, iOS dahil, Word belgelerini yönetmek için tasarlanmış güçlü bir kütüphanedir. Geliştiricilerin mobil uygulamalarında Word belgelerini yaratmasına, değiştirmesine ve dönüştürmesine olanak tanır.
IronWord'u iOS projemle nasıl entegre edebilirim?
IronWord'u iOS projenize entegre etmek için IronWord kütüphanesini .NET çözümünüze eklemeniz, projenizi ona referans verecek şekilde yapılandırmanız ve Word belgelerini yönetmek için sağlanan API'leri kullanmanız gerekir.
iOS üzerinde IronWord kullanmak için sistem gereksinimleri nelerdir?
IronWord'un sorunsuz entegrasyonu için iOS gelişim ayarınızda uyumlu bir .NET ortamı gereklidir. Geliştirme ortamınızın güncellenmiş ve gerekli çerçeveleri destekleme şuretiyle desteklediğinden emin olun.
IronWord iOS'ta Word belgelerini diğer formatlara dönüştürebilir mi?
Evet, IronWord iOS uygulamalarınızda Word belgelerinizin PDF gibi çeşitli formatlara dönüştürülmesine olanak tanır, farklı belge yönetimi ve paylaşım imkanı sunar.
IronWord iOS üzerinde belge manipulasyonunu destekliyor mu?
Kesinlikle, IronWord iOS uygulamaları içinde doğrudan metin düzenleme, resim ekleme ve belge özelliklerini yönetme gibi geniş bir belge manipülasyonu yelpazesini destekler.
iOS üzerinde sıfırdan Word belgesi oluşturmak mümkün mü, IronWord kullanarak?
Evet, IronWord iOS'ta sıfırdan yeni Word belgeleri oluşturmanıza olanak tanır, içerik ekleme, biçimlendirme ve programatik olarak stiller ekleme için kapsamlı bir araç sağlar.
IronWord iOS uygulamalarında Word belge güvenliğini nasıl yönetir?
IronWord, Word belgelerinizin iOS uygulamalarında güvende kalmasını sağlamak için şifre koruma ve şifreleme gibi belge güvenliği yönetimi özellikleri içerir.
iOS'ta IronWord kullanımı için örnek projeler mevcut mu?
Evet, Iron Software iOS üzerinde IronWord ile hızlıca başlamanıza yardımcı olmak için örnek projeler ve belgeler sağlar, çeşitli özellikler ve kullanım durumları sergiler.
iOS dağıtımı için IronWord'un ekstra bir lisansa ihtiyacı var mı?
IronWord, üretim ortamlarında dağıtım için, iOS uygulamaları dahil olmak üzere, geçerli bir lisans gerektirir. Kullanım rehberinize uygun olarak lisanslama koşullarını kontrol ettiğinizden emin olun.

