Form üzerinde yazıcıdan çıktı alma

Benzer konu web ortamında bir çok blog,  site vs. yerde yazılmış. Alternatif olarak, konuya tam aşına olmayanlar için basit bir örnek yardımı ile paylaşmak istedim.  Örnekte form üzerindeki label  ismini, boyutunu ve stilini baskı adedini parametre girerek yazıcı çıktısını almak istiyorum.

cikti-almak

Resimdeki gibi bir form ekranı tasarlayalım. Ayrıca forma printDocument1 kontrolünü ekleyelim. Gerekli kontrollerin eklemesini bitirdikten sonra yazdır butonuna çift tıklayıp clik olayına gelelim.

[cc lang=’csharp’ line_numbers=’false’]private void btnYazdir_Click(object sender, EventArgs e)
{
short baskiAdeti = Convert.ToInt16(textBox1.Text);
printDocument1.PrinterSettings.Copies = baskiAdeti;
printDocument1.Print();
}[/cc]

Burada baskı adetini almak için textbox dan gelen değeri short değişken tipi ile değişken tanımlayarak atadık. Copies özelliği ile çıkartılacak kopya adetini tutmakta.   Bundan sonraki adım yazdırılacak nesneyi Graphics ile çizmek. Bunun için metod içinde yazdırmak istediğimizi yani label1 kontrolünü  Graphics değişkeni içine atıyoruz.

Burada label text ve label font unu ve diğerlerini kesinlikle girmemiz gerekir.  Brushes.Black ile yazdırılan yazının rengini belirtiyoruz. 50 50 ile yazdırılacak olanın konumu belirliyoruz.

[cc lang=’csharp’ line_numbers=’false’]private void Yazdirilacak(Graphics gg)

{
Graphics gr = gg;
gr.DrawString(label1.Text, label1.Font, Brushes.Black, 50, 50);
}[/cc]

Son olarak PrintPage olayı ile yazıcıya çıktı bilgilerini gönderiyoruz. Forma eklediğimiz printDocument1 kontrolünün Printpage olayına gelip oluşturduğumuz metodu çağırıyoruz.

[cc lang=’csharp’ line_numbers=’false’]

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Yazdirilacak(e.Graphics);
}

[/cc]

Deneme amaçlı çıktıyı pdf formatın da  yazdırdığınız da kopya sayısı kaçt tane girerseniz girin yalnızca 1 sayfa bastıracaktır. Ama direk yazıcıdan çıktı almak istediğinizde kaç adet istiyorsanız o kadar sayfa kopyasını çıkaracaktır.

 

“Form üzerinde yazıcıdan çıktı alma” üzerine 2 yorum

  1. MERHABALAR DOSTUM PROGRAM OKEY TAMAM SÜPERDE BEN FİŞ KESME MAKİNASI YAPICAM AMA ŞÖYLE BİR ŞEY VAR DÖKÜMANI GROUPBOX’A AKTARIP GROUPBOX VE İÇERİĞİNİ ÇIKARMAK İSTİYORUM YAZICIDAN NASIL YAPARIM ACABA ?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir