C# İle Fax Göndermek

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    GencBilge
    GencBilge's avatar
    Kayıt Tarihi: 24/Ağustos/2009
    Erkek
    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
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek
    saolasın hocam
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek
    bu işlemin web ayağıda varmıdır ? Direk site üzerinden fax gönderme gibi
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    GencBilge
    GencBilge's avatar
    Kayıt Tarihi: 24/Ağustos/2009
    Erkek
    Benim bidiğim kadarıyla yok. Ama elinde kaynak olan varsa bizimle paylaşırsa güzel olur (:Don'tmissthisinvestmentopportunity,checkthat[URL=http://myfxadvice.com]forexinvestment[/URL]
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sysf
    sysf's avatar
    Kayıt Tarihi: 11/Kasım/2007
    Erkek

    http://www.webservicex.net/WCF/Services.aspx?CID=2

    bu sitede cesitli web servisler var bunları kullanarak  destekleyen ulkelerde sms felanda atıyor

    fax atan bıtanesıde varhenuz kullanıp denemedım ıhtıyacım olmadı ama denemeye deger

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek
    webservislere tam anlamıyla adapte olamadım bi türlü.. çok ezik bi yönüm oldu bu
Toplam Hit: 2683 Toplam Mesaj: 6