Ofis programları içinde yer alan ve kelime işlemci programları arasında en popüler olan Word programı, bir çok ortam yardımıyla rahatlıkla çalıştırılabilir ve elde edilen bilgiler belge olarak saklanabilir. Bu uygulamamızda Spire kütüphanesini kullanarak Word belgesi oluşturacağız. Adı, Soyadı, Adresi, Açıklama bilgilerini Form sayfasında oluşturup elde edilen bilgileri Word belgesine aktaracağız.
Visual Studio 2022 programını açalım. Yeni proje oluşturalım. İsmini CreateWordDocument olarak belirleyelim. Aşağıdaki form tasarımını yapalım.

Projeye Spire.Doc kütüphanesini ekleyelim. Bunun için Manage NuGet Packages paketinden ilgili kütüphaneyi yükleyelim. Form sayfasında kullanılacak temel değişkenleri tanımlayalım.
//örnek dosya klasörü
string samplePath = Application.StartupPath +
Path.DirectorySeparatorChar + "Taslak.docx";
//Word belgesi klasörü
string docxPath = Application.StartupPath +
Path.DirectorySeparatorChar + "Sonuc.docx";
//Word belgesi dökümanı oluştur
Document document = null;
Burada Taslak.docx dosyasını aşağıdaki gibi oluşturalım.

Şimdi form sayfasında yer alan bilgileri Dictionary dizisine aktaralım. Bunun Dictionary tipinde bir GetReplaceDictionary fonksiyon tanımlayacağız.
Dictionary<string, string> GetReplaceDictionary()
{
Dictionary<string, string> replaceDict = new
Dictionary<string, string>();
replaceDict.Add("#firstname#", textBox1.Text.Trim());
replaceDict.Add("#lastname#", textBox2.Text.Trim());
replaceDict.Add("#address#", textBox3.Text.Trim());
replaceDict.Add("#description#", textBox4.Text.Trim());
return replaceDict;
}
Şimdi Gönder butonuna ait kodları yazalım.
private void button1_Click(object sender, EventArgs e)
{
//Word nesnesinden bir kopya oluştur
document = new Document();
document.LoadFromFile(samplePath);
//String değerleri diziye aktar
Dictionary<string, string> dictReplace = GetReplaceDictionary();
//Metinleri ekle
foreach (KeyValuePair<string, string> kvp in dictReplace)
{
document.Replace(kvp.Key, kvp.Value, true, true);
}
//Dökümanı oluştur
document.SaveToFile(docxPath, FileFormat.Docx);
MessageBox.Show("İşlemler tamamlandı.", "Döküman İşleme",
MessageBoxButtons.OK, MessageBoxIcon.Information);
document.Close();
}
Projeyi kaydedip çalıştıralım. Form bilgilerini dolduralım. Gönder butonuna basalım. Sonuc.docx dosyası oluşturulur. Şimdi oluşturlan bu dosyanın açılması için Belgeyi Aç butonunu oluşturalım.
private void button2_Click(object sender, EventArgs e)
{
try
{
System.Diagnostics.Process.Start(docxPath);
}
catch { }
}
Belgeyi Aç butonuna bastığınızda Sonuc.docx belgesi açılır. Şimdi de bu belgeyi pdf olarak kaydedelim. Projenin başında gerekli değişkeni tanımlayalım.
string pdfPath = Application.StartupPath +
Path.DirectorySeparatorChar + "Result.pdf";
Daha sonra Gönder butonunda alt satıra şunu ekleyelim.
document.SaveToFile(pdfPath, FileFormat.PDF);
Projeyi kaydedip çalıştırdığımızda Result.pdf belgesinin oluştuğunu görürsünüz. Oluşturulan pdf belgesini görmek için form sayfasına 1 tane daha button ekleyelim. Click olayına aşağıdaki kodları yazalım.
try
{
System.Diagnostics.Process.Start(pdfPath);
}
catch { }
|