Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

web projesinden yazdırma işlemi

Konu, 'ASP.NET / Silverlight / Moonlight' kısmında erhanzengin tarafından paylaşıldı.

  1. erhanzengin

    erhanzengin Yeni Üye

    Kayıt:
    19 Haziran 2008
    Mesajlar:
    3
    Beğenilen Mesajlar:
    0
    Merhaba Arkadaşlar,

    Başlıkta da belirttiğim gibi bir web projesinde fatura benzeri bir kağıda veritabanından gelen verileri istenen yerlere yazdırmak istiyorum.Bununla ilgili windows tabanlı bir çok örnek olmasına rağmen web tarafında neredeyse yok veya ben bulamadım.Bulduklarım ise hepsi birbirini kopyası.

    Yazdırmak için System.Drawing ve System.Drawing.Printing namespacelerini kullanıyorum.

    Yazıcıya istek gidiyor fakat yazıcıdan çıkan kağıda baktığımda basılmış hiç bir şey çıkmıyor.

    Örnek kodlarım;

    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
    if (e.CommandName == "Print")
    {
    try
    { printDocument1.Print(); }
    catch
    { Response.Write("Yazıcı çıktısı alınamıyor...");}
    finally
    { printDocument1.Dispose(); }

    }
    }

    private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
    Font font = new Font("Verdana", 11) ;
    float yPozisyon = 0 ;
    float leftMargin = e.MarginBounds.Left;
    float topMargin = e.MarginBounds.Top;

    e.Graphics.DrawString ("test", font, Brushes.Red, leftMargin, yPozisyon);
    e.HasMorePages = false ;

    }

    Paylaşımlarınız için çok teşekkürler,
     
  2. yumert

    yumert Üye

    Kayıt:
    17 Ekim 2003
    Mesajlar:
    123
    Beğenilen Mesajlar:
    0
    Crystal Report Kullanmanı öneriyorum.

    Merhaba;
    Bu iş için Visual.Studio.Net içindeki Crystal Report'u kullan.Gayet iyi.Yazdırma haricinde pdf,xls,doc formatlarına da export edebilirsin.
    Takıldığın yer olursa burdan yardımcı olabilirim.
     
  3. erhanzengin

    erhanzengin Yeni Üye

    Kayıt:
    19 Haziran 2008
    Mesajlar:
    3
    Beğenilen Mesajlar:
    0
    Merhaba,

    yukarıdaki verdiğim kodlarda print yapmadan önce printDocument1.PrintPage += new PrintPageEventHandler(this.PagePrint); gibi bir tanımlama yaptım.

    Aşağıdaki kod bloğunu ve ait olan herşeyi sildim
    private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)

    onun yerine
    private void PagePrint(object sender, PrintPageEventArgs e)
    {
    e.Graphics.DrawString("Inflate Solutions Yazılım Bilişim Hizmetleri", font, Brushes.Black, 20, 120);
    }

    ve kodları yazdığımda print edebildim.

    Bilgini paylaştığın için teşekkürler,

    Önerinde güzel bir alternatif