Android WebView Yazdırma İşlemi – Print Manager

Android webview kontrolüne load edilen html verilerini, android kitkat versiyon üstü cihazlarda geçerli olmak üzere yazdırma işlemini gerçekleştirebilirsiniz.

Activity oluşturma metodu içersine webView kontrol tanımlaması yapılarak setWebViewClient eventi ile yükleme işlemi tamamlanması ile aktif olan onPageFinished metodu içerisine, webview’e yüklenen verileri yazdırma işlemini gerçekleştirecek olan  Printer() metodu çağırılarak yazdırma işlemine geçiş sağlanmaktadır.

 

UI arayüz yavaşlama vb. kullanıcı deneyimini etkileyen sorunların oluşmaması, işlemlerin arka planda gerçekleştirilmesi için AsyncTask yapısı kullanılmıştır.

doInBackground metodu içerisinde yapılacak işlemler tanımlandıktan sonra elde edilen veri geri döndürülerek. onPostExecute metoduna argüman olarak aktarılmıştır, bu metot yapısın da işlemlerin bitmesi durumunda gerçekleştirilmesi istenen olaylar tanımlanmaktadır.

UTF-8 ile karakter sorunları düzeltilmiştir. webView kontrol nesnesine arg isimli argüman olarak döndürülen içerik verisi load edilerek onCreate içerisinde tanımladığımız istemci eventi tetiklenerek yükleme işleminin bitmesi beklenmektedir.

 

İşlemlerin bitmesi ile Printer() metodu tetiklenerek, webView sayfasını yazdırmak için, yazıcı servisi çağrılarak ön izleme işlemi başlatılmıştır.

 

İlgili webView’e yüklenen sayfayı yazdırma işlemini activity oluşturulma esnasında onCreate() metodu ile başlatılmıştı. Bu başlatılma işleminden sonra yazıcı servisi iptal edilmesi veya kapatılması durumunda yazıcı servisini tekrar başlatmak için aşağıdaki kodu kullanabilirsiniz.

 

İpucu: Uygulamalarınızda basit olarak pdf çıktısı almak istediğinizde, webView kontrolünün visibility özelliği ile kontrolü gizleyerek işlemlerin bitmesi ile kullanıcıya yazıcı servisini görüntüleyebilirsiniz.

Çıktı

Posted by Resul

.NET, WPF, MVC, Android

Bir cevap yazın

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