16 Temmuz 2014 Çarşamba

Aspx Sayfası Yazdırma İşlemi

Html, Php, Aspx vs web sayfası yazdınız. Sayfanızın cıktısını veya sayfada bulunan bir kısmın cıktısını almanız gerekecek. Çözüm basit. Javascript hemen imdadımıza yetişiyor.

Tüm sayfanın çıktısını almak çok kolay. bir buton koyup, javascript window nesnesinin print fonksiyonunu çagırıyoruz. Ben aspx sayfasında çalışıyorum siz kendinize uygun butonu koymalısınız.
<asp:Button ID="printButton" runat="server" Text="Print" OnClientClick="javascript:window.print();" />
Eger sayfada belli bir kısmın cıktısını almak istiyorsak, aşağıdaki scripti kullanıyoruz:


    <script type = "text/javascript">
        function PrintPanel() {
            var panel = document.getElementById("<%=pnlContents.ClientID %>");
            var printWindow = window.open('', '', 'height=400,width=800');
            printWindow.document.write('<html><head>');
            printWindow.document.write('</head><body >');
            printWindow.document.write(panel.innerHTML);
            printWindow.document.write('</body></html>');
            printWindow.document.close();
            setTimeout(function () {
                printWindow.print();
            }, 500);
            return false;
        }
    </script>


Aşağıdaki gibi bir buton hazırlayıp, click eventine script fonksiyonumuzu atıyoruz.

 <asp:Button ID="btnPrint" runat="server" Text="Print" OnClientClick = "return PrintPanel();" />


Burda dikkat edeceğimiz nokta, yazdırmak istediğimiz kısmı bir panel içerisine yerleştirmemiz gerekiyor. Benim kullandıgım panelin adı pnlContents  Script kodu bu panele ulaşıyor, innerHtml çağrısıyla panel içeriğini alıyor.

Hiç yorum yok:

Yorum Gönder