IronWord'un iOS'da Kullanılması

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

.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:

  1. Dosya > Yeni > Proje'ye gidin.
  2. Çoklu platform altında, .NET MAUI Uygulaması'nı seçin.
  3. 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>
XML

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

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
$vbLabelText   $csharpLabel

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

  1. Hedefi iOS Simulator olarak ayarlayın.
  2. Çalıştır'a basın.
  3. 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.

Kye Stuart
Teknik Yazar

Kye Stuart, Iron Software'de kodlama tutkusunu ve yazma becerisini birleştirir. Yoobee College'da yazılım dağıtımı eğitimi aldıktan sonra, şimdi karmaşık teknoloji kavramlarını net eğitim içeriklerine dönüştürür. Kye sürekli öğrenmeyi değer veriyor ve yeni ...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 44,829 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronWord
bir örnek çalıştırın verilerinizi bir Word belgesine dönüştürün.