Makale Özeti

Bu makalemde bir windows uygulaması üzerinden nasıl fax gönderilebileceğini inceleyeceğiz.

Makale

         Merhabalar,

         Bu makalemde bir windows uygulaması üzerinden nasıl fax gönderilebileceğini inceleyeceğiz.

         Uygulama alanlarına baktığımızda genellikle bayiler arası iletişimin sağlanması, farklı lokasyonlarda mail imkanı olmayan iş ortaklarıyla iletişimin sağlanması karşımıza çıkmaktadır. Gerçek hayattan bir örnek vermemiz gerekirse yemek sepetinden verilen bir sipariş ilgili restorana fax ile gönderilmektedir. Esasında fax göndermenin mantığı yazıcının çalışma mantığından çok farklılık taşımamaktadır. Biz bu fonsiyonaliteyi uygulamanıza katmak için bir com bileşeni olan FAXCOMLib kütüphanesini kullanacağız. Biraz sonra kodlarını paylaştığımda esasında çok kolay kullanımı olduğunu göreceksiniz.

         Öncelikle uygulamamıza FAXCOMLib kütüphanesini referans ekleyerek başlıyoruz.


         Uygulamamızda bu kütüphanenin bizlere sunduğu FaxServer ve FaxDoc interface'lerini kullanıyor olacağız. Bunun yanısıra FaxServerClass veya FaxDocClass nesnelerini de kullanmamız mümkündür.

         Şimdi kodumuzu yazmaya başlayalım.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using FAXCOMLib;
 
namespace Fax
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 

 
         Gördüğünüz gibi kodumuza using FAXCOMLib tanımlamasını yapıyoruz. Şimdi ise esas işlemlerin yapılacağı kod bloğumuza gelelim.

        public void SendFax(string parFileName, string parFaxNumber, string parSenderName, string parDisplayName, string parRecipientName)
        {
            FaxServerClass insFaxServerClass = new FaxServerClass();
 
            FaxDoc insFaxDocClass = null;
            try
            {
                insFaxServerClass.Connect(Environment.MachineName);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Fax sunucusuna bağlanırken hata");
                return;
            }
 
            try
            {
                insFaxDocClass = (FaxDoc)insFaxServerClass.CreateDocument(parFileName);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Fax oluşturulurken hata");
                return;
            }
           
           
insFaxDocClass.FaxNumber = parFaxNumber;
            insFaxDocClass.SenderName = parSenderName;
            insFaxDocClass.DisplayName = parDisplayName;
            insFaxDocClass.RecipientName = parRecipientName;
 
            try
            {
                insFaxDocClass.Send();
            }
            catch (Exception)
            {
 
                MessageBox.Show("Fax gönderilirken hata");
                return;
            }
           
           
insFaxServerClass.Disconnect();
        }

         Yazmış olduğumuz metodu inceleyecek olursak öncelikle FaxServerClass tipindeki nesnenin bir instance'ını alıyoruz, bunun ardından kendi makinemiz üzerinden fax göndereceğimiz için bu nesnenin connect metoduna kendi makinemizin ismini veriyoruz. Bu kısımda başka bir fax sunucusunu kullanacak olsaydık onun ismini vermemiz gerekiyordu. Bu işlemin hemen ardından FaxServerClass nesnemizin örneğinin CreateDocument metoduna fax'ını oluşturmak istediğimiz dosyanın yolunu veriyoruz. Fax bir yazıcı gibi çalıştığından bu kısımda bir dosya tipi sınırlamamız yoktur. Hemen arkasından FaxDocument nesnemizin FaxNumber property'sine fax'ı göndermek istediğimiz numarayı atıyoruz. Bunun yanısıra SenderName, RecipientName, DisplayName, gibi bilgileri ve Coverpage gibi bilgileri de ekleyebiliyoruz. Bu nesnenin çok fazla property'si olduğundan burada bunları tek tek açıklamayacağım ancak hepsi isimlerinden anlaşılan property'ler. Bu işlemlerinden ardından son adımda FaxDocClass nesnemizin Send metodunu çağırarak fax'ımızı göndermiş oluyoruz. Son olarak da sunucudan bağlantımızı kesmemiz gerekiyor.

        private void Form1_Load(object sender, EventArgs e)
        {
 
            SendFax(@"C:\Users\Tamer\Desktop\a.docx", "23423423", "sdfsd", "fsdfsd", "fsdfsdf");
        }
    }
}

 
Bu işlemlerin hemen ardından açağıdaki gibi bir fax penceresi karşımıza açılacaktır.



Umarım faydakı bir makale olmuştur.
Tamer Öz
         tamer.oz@yazgelistir.com
         oztamer@hotmail.com
   
Örnek Kodlar