Altbilgi içeriğine atla
IRONWORD KULLANıMı

C#'da Office Interop Kullanmadan Word Belgeleri Nasil Oluşturulur

Microsoft Word belgeleri, resmi iş raporlarından kişisel mektuplara kadar çeşitli amaçlarla yaygın şekilde kullanılır. C#'ta, geliştiriciler genellikle Microsoft Word belgelerini programatik olarak oluşturmalıdır. Windows uygulama geliştiricileri, C# kullanarak Word belgeleri oluşturmak için geleneksel olarak Microsoft Office Interop'u kullanmıştır.

Ancak, bu yaklaşım herkese erişilebilir değildir ve geliştiriciler, Microsoft Office ara yüzünün mevcut olmadığı bir işletim sistemi veya Linux makinesi üzerinde de bulunabilir. Bu durumlarda, geliştiriciler farklı platformlarda bağımsız olarak çalışabilen diğer kütüphaneleri keşfetmelidir. Word dosyalarına programatik olarak çalışmak için güçlü bir kütüphane olan IronWord, Iron Software tarafından geliştirilmiştir.

IronWord, .NET uygulamalarında Word belgeleri üzerinde çalışmak için güçlü işlevsellik sunar ve farklı platformlarda ve Linux tabanlı docker görüntüleri/kapları üzerinde çalışabilir. C#, VB.NET Word ve Docx Belge API'sine sahip olan IronWord ile Microsoft Office, Office otomasyonu veya Word Interop yüklemeye gerek kalmadan Word belge dosyalarını oluşturabilir, düzenleyebilir ve dışa aktarabilirsiniz. IronWord, tam olarak .NET 8, 7, 6, Framework, Core ve Azure'u destekler.

Bu makale, IronWord kütüphanesi kullanılarak C#'ta Word belgeleri oluşturmayı keşfedecek.

How to Create Word Documents Without Office Interop in C

  1. Yeni bir C# projesi oluşturun.
  2. IronWord kütüphanesini yükleyin.
  3. IronWord kütüphanesini kullanarak bir Word belgesi oluşturun.
  4. Artık mevcut olan belgeye içerik ekleyin.
  5. Oluşturulan Word belgesini kaydedin.
  6. Oluşturulan Word belgesini açın ve gösterin.

Ön koşullar:

  1. Visual Studio: Visual Studio veya başka bir C# geliştirme ortamı yüklü olduğundan emin olun.
  2. NuGet Paket Yöneticisi: Projenizde paketleri yönetmek için NuGet'i kullanabileceğinizden emin olun.

Adım 1: Yeni Bir C# Projesi Oluşturun

Yeni bir C# konsol uygulaması oluşturun veya Word belgesi oluşturmak istediğiniz mevcut bir proje kullanın.

Konsol uygulaması şablonunu seçin ve ileri'ye tıklayın.

Office Interop Olmadan C# ile Word Belgeleri Nasıl Oluşturulur: Şekil 1 - Yeni bir proje oluşturmak için Konsol Uygulaması şablonu

Sonraki adımda çözüm ve proje isimleri tanımlayabilirsiniz.

Office Interop Olmadan C# ile Word Belgeleri Nasıl Oluşturulur: Şekil 2 - Çözüm ve proje adı ile projeyi yapılandırma

.NET Sürümü'nü seçin ve "Oluştur"a tıklayın.

Office Interop Olmadan C# ile Word Belgeleri Nasıl Oluşturulur: Şekil 3 - Doğru .NET sürümüyle proje oluşturma

Adım 2: IronWord Kütüphanesini Yükleyin

C# projenizi açın ve NuGet Paket Yöneticisi Konsolunu kullanarak IronWord kütüphanesini yükleyin:

Install-Package IronWord -Version 2024.1.2

NuGet paketi, aşağıda gösterildiği gibi Visual Studio Paket Yöneticisi kullanılarak da yüklenebilir.

Office Interop Olmadan C# ile Word Belgeleri Nasıl Oluşturulur: Şekil 4 - VS paket yöneticisi ile IronWord yükleme

Adım 3: IronWord Kütüphanesi Kullanarak Bir Word Belgesi Oluşturma ve Kaydetme

IronWord kütüphanesini kullanarak bir Word belgesi oluşturmanın basit bir örneğiyle başlayalım. Aşağıdaki kod, "Merhaba, Dünya!" metnini içeren tek bir paragrafla temel bir Word belgesi oluşturmayı gösterir.

using IronWord;
using IronWord.Models;

// Create a text run instance with "Hello, World!" content
TextRun textRun = new TextRun("Hello, World!");

// Create a paragraph and add the text run to it
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);

// Create a new Word document object with the paragraph
WordDocument doc = new WordDocument(paragraph);

// Save the document as a .docx file
doc.SaveAs("example.docx"); // Saves the file to disk with the name example.docx
using IronWord;
using IronWord.Models;

// Create a text run instance with "Hello, World!" content
TextRun textRun = new TextRun("Hello, World!");

// Create a paragraph and add the text run to it
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);

// Create a new Word document object with the paragraph
WordDocument doc = new WordDocument(paragraph);

// Save the document as a .docx file
doc.SaveAs("example.docx"); // Saves the file to disk with the name example.docx
Imports IronWord
Imports IronWord.Models

' Create a text run instance with "Hello, World!" content
Private textRun As New TextRun("Hello, World!")

' Create a paragraph and add the text run to it
Private paragraph As New Paragraph()
paragraph.AddTextRun(textRun)

' Create a new Word document object with the paragraph
Dim doc As New WordDocument(paragraph)

' Save the document as a .docx file
doc.SaveAs("example.docx") ' Saves the file to disk with the name example.docx
$vbLabelText   $csharpLabel

Yukarıdaki kod örneği yürütüldüğünde, yeni belge dosyası example.docx oluşturulur ve çıktı aşağıda gösterildiği gibidir.

Office Interop Olmadan C# ile Word Belgeleri Nasıl Oluşturulur: Şekil 5 - Yukarıdaki kod aracılığıyla oluşturulan Word belgesi.

Bu, IronWord kullanarak bir Word belge dosyası oluşturmanın temel bir örneğidir. Daha fazla bilgi için, Dokümantasyon okuyabilirsiniz.

Bir Word Belgesine Stil ile Paragraflar Ekleme

IronWord kullanarak basit bir Word belgesi nasıl oluşturulacağını öğrendik, şimdi paragraflar ve stilli metin ekleyelim.

TextRun da stil verilerini alabilir, metnin görsel temsilini geliştirir. Metin, üstü çizili, kalın, italik ve altı çizili gibi stillerle ayarlanabilir.

Aşağıdaki kodu daha önce yaptığınız programa ekleyin ve değiştirin.

using IronWord;
using IronWord.Models;

// Create text runs with different styles
TextRun textRun = new TextRun("Hello, World!"); // Simple string
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);

// Configure and add italic text
TextRun introText = new TextRun("This is an example paragraph with italic and bold styling.");
TextStyle italicStyle = new TextStyle()
{
    IsItalic = true
};
TextRun italicText = new TextRun("Italic example sentence.", italicStyle);

// Configure and add bold text
TextStyle boldStyle = new TextStyle()
{
    IsBold = true
};
TextRun boldText = new TextRun("Bold example sentence.", boldStyle);

// Add text runs to the paragraph
paragraph.AddTextRun(introText);
paragraph.AddTextRun(italicText);
paragraph.AddTextRun(boldText);

// Create and save the new Word document
WordDocument doc = new WordDocument(paragraph);
doc.SaveAs("example.docx"); // Saves the file to disk with the name example.docx
using IronWord;
using IronWord.Models;

// Create text runs with different styles
TextRun textRun = new TextRun("Hello, World!"); // Simple string
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);

// Configure and add italic text
TextRun introText = new TextRun("This is an example paragraph with italic and bold styling.");
TextStyle italicStyle = new TextStyle()
{
    IsItalic = true
};
TextRun italicText = new TextRun("Italic example sentence.", italicStyle);

// Configure and add bold text
TextStyle boldStyle = new TextStyle()
{
    IsBold = true
};
TextRun boldText = new TextRun("Bold example sentence.", boldStyle);

// Add text runs to the paragraph
paragraph.AddTextRun(introText);
paragraph.AddTextRun(italicText);
paragraph.AddTextRun(boldText);

// Create and save the new Word document
WordDocument doc = new WordDocument(paragraph);
doc.SaveAs("example.docx"); // Saves the file to disk with the name example.docx
Imports IronWord
Imports IronWord.Models

' Create text runs with different styles
Private textRun As New TextRun("Hello, World!") ' Simple string
Private paragraph As New Paragraph()
paragraph.AddTextRun(textRun)

' Configure and add italic text
Dim introText As New TextRun("This is an example paragraph with italic and bold styling.")
Dim italicStyle As New TextStyle() With {.IsItalic = True}
Dim italicText As New TextRun("Italic example sentence.", italicStyle)

' Configure and add bold text
Dim boldStyle As New TextStyle() With {.IsBold = True}
Dim boldText As New TextRun("Bold example sentence.", boldStyle)

' Add text runs to the paragraph
paragraph.AddTextRun(introText)
paragraph.AddTextRun(italicText)
paragraph.AddTextRun(boldText)

' Create and save the new Word document
Dim doc As New WordDocument(paragraph)
doc.SaveAs("example.docx") ' Saves the file to disk with the name example.docx
$vbLabelText   $csharpLabel

Bir Word Belgesine Tablo Ekleme

Verilerin net bir şekilde gösterilmesi için, ayrıca bir ızgara halinde gösterilebilir. Veriler ızgara halinde düzenlendiğinde, buna tablo denir. IronWord kullanarak tablo ve görüntüleri Word belgesine aşağıda gösterildiği gibi ekleyebiliriz:

using IronWord;
using IronWord.Models;

// Create a table cell with sample text
TableCell cell = new TableCell();
TextRun textRun = new TextRun("Sample text");

// Add text run to the cell as a paragraph
cell.AddContent(new Paragraph(textRun));

// Configure cell border style
BorderStyle borderStyle = new BorderStyle
{
    BorderColor = new IronColor(IronSoftware.Drawing.Color.Black),
    BorderValue = IronWord.Models.Enums.BorderValues.Thick,
    BorderSize = 5
};

// Set table borders
TableBorders tableBorders = new TableBorders
{
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle
};
cell.Borders = tableBorders;

// Create a table row and add cells to it
TableRow row = new TableRow();
row.AddCell(cell); // Add the first cell
row.AddCell(cell); // Add the second cell, duplicating to mimic a row with two identical cells

// Create a table and add the row to the table
Table table = new Table();
table.AddRow(row);

// Create and save a Word document using the table
WordDocument doc = new WordDocument(table);
doc.SaveAs("Document.docx"); // Saves the file to disk with the name Document.docx
using IronWord;
using IronWord.Models;

// Create a table cell with sample text
TableCell cell = new TableCell();
TextRun textRun = new TextRun("Sample text");

// Add text run to the cell as a paragraph
cell.AddContent(new Paragraph(textRun));

// Configure cell border style
BorderStyle borderStyle = new BorderStyle
{
    BorderColor = new IronColor(IronSoftware.Drawing.Color.Black),
    BorderValue = IronWord.Models.Enums.BorderValues.Thick,
    BorderSize = 5
};

// Set table borders
TableBorders tableBorders = new TableBorders
{
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle
};
cell.Borders = tableBorders;

// Create a table row and add cells to it
TableRow row = new TableRow();
row.AddCell(cell); // Add the first cell
row.AddCell(cell); // Add the second cell, duplicating to mimic a row with two identical cells

// Create a table and add the row to the table
Table table = new Table();
table.AddRow(row);

// Create and save a Word document using the table
WordDocument doc = new WordDocument(table);
doc.SaveAs("Document.docx"); // Saves the file to disk with the name Document.docx
Imports IronWord
Imports IronWord.Models

' Create a table cell with sample text
Private cell As New TableCell()
Private textRun As New TextRun("Sample text")

' Add text run to the cell as a paragraph
cell.AddContent(New Paragraph(textRun))

' Configure cell border style
Dim borderStyle As New BorderStyle With {
	.BorderColor = New IronColor(IronSoftware.Drawing.Color.Black),
	.BorderValue = IronWord.Models.Enums.BorderValues.Thick,
	.BorderSize = 5
}

' Set table borders
Dim tableBorders As New TableBorders With {
	.TopBorder = borderStyle,
	.RightBorder = borderStyle,
	.BottomBorder = borderStyle,
	.LeftBorder = borderStyle
}
cell.Borders = tableBorders

' Create a table row and add cells to it
Dim row As New TableRow()
row.AddCell(cell) ' Add the first cell
row.AddCell(cell) ' Add the second cell, duplicating to mimic a row with two identical cells

' Create a table and add the row to the table
Dim table As New Table()
table.AddRow(row)

' Create and save a Word document using the table
Dim doc As New WordDocument(table)
doc.SaveAs("Document.docx") ' Saves the file to disk with the name Document.docx
$vbLabelText   $csharpLabel

Yukarıdaki örnekte, bir Word belgesine sınırlar kullanarak bir tablo ekledik.

Bir Word Belgesine Görüntüler Ekleme

Görüntüler belgenin sunumunu zenginleştirir ve daha fazla renk ve görsel çekicilik katabilir.

Görüntüler, IronWord kullanılarak programatik olarak bir Word belgesine aşağıda gösterilen kodla eklenebilir:

using IronWord;
using IronWord.Models;

// Load a new document
WordDocument doc = new WordDocument();

// Configure and add image to the document
IronWord.Models.Image image = new IronWord.Models.Image("SalesChart.jpg")
{
    Width = 200, // Set image width in pixels
    Height = 200 // Set image height in pixels
};
Paragraph paragraph = new Paragraph();
paragraph.AddImage(image); // Add image to paragraph
doc.AddParagraph(paragraph); // Add paragraph to the document

// Save the document as a .docx file
doc.SaveAs("save_document.docx"); // Saves the file to disk with the name save_document.docx
using IronWord;
using IronWord.Models;

// Load a new document
WordDocument doc = new WordDocument();

// Configure and add image to the document
IronWord.Models.Image image = new IronWord.Models.Image("SalesChart.jpg")
{
    Width = 200, // Set image width in pixels
    Height = 200 // Set image height in pixels
};
Paragraph paragraph = new Paragraph();
paragraph.AddImage(image); // Add image to paragraph
doc.AddParagraph(paragraph); // Add paragraph to the document

// Save the document as a .docx file
doc.SaveAs("save_document.docx"); // Saves the file to disk with the name save_document.docx
Imports IronWord
Imports IronWord.Models

' Load a new document
Private doc As New WordDocument()

' Configure and add image to the document
Private image As New IronWord.Models.Image("SalesChart.jpg") With {
	.Width = 200,
	.Height = 200
}
Private paragraph As New Paragraph()
paragraph.AddImage(image) ' Add image to paragraph
doc.AddParagraph(paragraph) ' Add paragraph to the document

' Save the document as a .docx file
doc.SaveAs("save_document.docx") ' Saves the file to disk with the name save_document.docx
$vbLabelText   $csharpLabel

Burada, bir paragrafa 200 piksel Yükseklik ve Genişlik ile IronWord.Models.Image kullanarak bir resim ekliyoruz.

Lisanslama (Ücretsiz Deneme Mevcut)

IronWord kullanmak için bir lisans gerektirir. Iron Software web sitesinden bir deneme anahtarı edinin. Bu anahtar appsettings.json içine yerleştirilmelidir.

{
    "IronWord.LicenseKey": "IRONWORD.MYLICENSE.KEY.TRIAL"
}

Deneme lisansı almak için e-posta adresinizi sağlayın. E-posta kimliğinizi gönderdikten sonra, anahtar e-posta ile gönderilecektir.

Office Interop Olmadan C# ile Word Belgeleri Nasıl Oluşturulur: Şekil 6 - Başarıyla gönderilen deneme formu sonrası açılan pencere

Sonuç

IronWord kütüphanesini kullanarak C#'ta Word belgeleri oluşturmak, belgeleri Microsoft Office'e güvenmeden esnek ve etkili bir şekilde oluşturmanın yolunu sunar. İster basit mektuplar ister tablolar ve görüntüler içeren karmaşık raporlar oluşturmanız gereksin, IronWord bunu programatik olarak yapmanıza olanak tanır. Bu makale, Word belgeleri oluşturmak için kapsamlı bir öğretici sunar. IronWord ile Word belgelerinin oluşturulmasını otomatikleştirebilir, C# uygulamalarınızı daha çeşitli ve üretken hale getirebilirsiniz.

Ve oluşturulan Word belgelerinizle birlikte çalışmak için PDF dosya manipülasyonu arayan geliştiriciler, Iron Software tarafından üretilmiş başka bir C# kütüphanesi olan IronPDF ile tanışın.

Sıkça Sorulan Sorular

Microsoft Office Interop kullanmadan C#'ta Word belgeleri nasıl oluşturabilirim?

Microsoft Office Interop kullanmadan C#'ta Word belgeleri oluşturmak için IronWORD kütüphanesini kullanabilirsiniz. Bu kütüphane, Microsoft Office kurulumu gerektirmeden Word belgelerini programlı bir şekilde oluşturmanızı, düzenlemenizi ve kaydetmenizi sağlar.

IronWORD kullanmanın Microsoft Office Interop'a göre avantajları nelerdir?

IronWORD, Microsoft Office Interop'un mevcut olmadığı Linux gibi Windows dışı platformlarda çalışabilme esnekliği sağlar. Ayrıca, Microsoft Office kurulumuna olan bağımlılığı ortadan kaldırarak geliştirme sürecini hızlandırır.

IronWORD kullanarak bir Word belgesi oluşturmaya nasıl başlarım?

IronWORD kullanarak bir Word belgesi oluşturmaya başlamak için, C# projenizde NuGet Paket Yöneticisi aracılığıyla IronWORD kütüphanesini yükleyin. Ardından, programlı olarak Word belgeleri oluşturup manipüle etmek için IronWORD API'sini kullanın.

IronWORD'u en yeni .NET sürümleriyle kullanabilir miyim?

Evet, IronWORD, .NET 8, 7, 6, Framework, Core ve Azure dahil olmak üzere çeşitli .NET sürümleriyle uyumludur, böylece modern C# uygulamalarınıza entegre edebilirsiniz.

IronWORD ile bir Word belgesine nasıl stilize edilmiş metin ekleyebilirim?

IronWORD TextRun ve TextStyle sınıfları kullanarak stilize metin eklemenize olanak tanır. Bu sınıflar, Word belgenizdeki belirli metin segmentlerine kalın, italik ve altı çizili gibi stiller uygulamanıza olanak tanır.

IronWORD ile Word belgelerine tablolar eklemek mümkün mü?

Evet, IronWORD kullanarak Word belgelerine tablolar ekleyebilirsiniz. Kütüphane, satır ve hücrelerle tablolar tanımlamanıza olanak tanır ve görünümlerini kenarlıklar ve diğer stillerle özelleştirebilirsiniz.

IronWORD kullanarak bir Word belgesine nasıl görüntü eklerim?

IronWORD kullanarak bir Word belgesine görüntü eklemek için, IronWord.Models.Image sınıfını kullanarak belirli boyutlarla görüntüleri paragraflara gömerek belgenizin görsel içeriğini artırabilirsiniz.

IronWORD'un değerlendirme için trial sürümü var mı?

Evet, Iron Software, IronWORD'un ücretsiz bir deneme sürümünü sunar, bu deneme sürümünü web sitelerinden indirebilirsiniz. Bu deneme sürümü, kütüphanenin özelliklerini ve yeteneklerini satın almadan önce değerlendirmenize olanak tanır.

Iron Software başka hangi belge manipülasyon kütüphanelerini sağlar?

IronWORD'un yanı sıra, Iron Software, PDF dosyalarını manipüle etmek için bir kütüphane olan IronPDF'i sağlar. Bu kütüphaneler birlikte, C# uygulamalarında hem Word hem de PDF belgelerini ele almak için kapsamlı çözümler sunar.

Jordi Bardia
Yazılım Mühendisi
Jordi Python, C# ve C++ konularında en yetkin, Iron Software'deki yeteneklerini kullanmadığı zamanlarda; oyun programlıyor. Ürün testi, ürün geliştirme ve araştırma sorumluluklarını paylaşan Jordi, sürekli ürün gelişimine büyük değer katıyor. Çeşitli deneyimleri onu ...
Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara