yazıcı çıktısı alabilmek

Merhaba arkadaşlar,

Benim yapmak istediğim, "yazdır" a bastığımda siparişi açıp  yazıp kapatacak. Fakat bunları parça parça yapıyabiliyorum. yazdır diyince sayfa siparişi açıyor, aşağıdakileri 

<link rel="stylesheet" href="ekran.css" media="screen"/>
 <link rel="stylesheet" href="yazici.css" media="print"/>

a href="javascript:void(0)" onclick="window.print()"  id="yazdir">Yazdır</a>

 

dökümü yapılacak php sayfasına koyuyorum, chrome da print bölümünü açıyor, print ikonunu tıklayınca yazıyor, geri dön ile siparişlerin sayfasına geri dönüyor, fakat bunları birleştiremedim

eğer body içindeki  olan onclick="window.print()" bu kodu yazarsam direk printere gidiyor fakat sayfaya her dokunduğunuzda tekrar tekrar yolluyor, geri dönüş çalışmıyor.

1)en önemlisi olan chrome da print açılınca enter otomatik olarak yapmaması, bunun cevabı var mı?

2)Eğer yukarıdak  yapılamaz ise en azından yazdır dediğimizde sipariş sayfasına değil de bir önceki sayfaya nasıl döner

3)mümkünse tek tıkta nasıl olur?

Anladığım kadarıyla yazdırma işlemini ayrı bir sayfada yaptırıyorsun ve yazdırma işlemi bittikten sonra sayfayı kapatmak istiyorsun. 

Bunun için onclick metodunu kullanmak pek sağlıklı olmaz. Çünkü bu metod tetiklemeden sonra yani bir yere tıklanıldığında çalışıyor. Biz bunun yerine aşağıdaki kodu kullanacağız. Bu kod sayfa ilk açıldığı zaman kendiliğinden çalışıyor ve tarayıcının yazdırma özelliğini açıyor. Yazdırma işlemi bittikten sonra da sayfayı kapatıyor.

<script>

  // sayfayı yazdırır.
  window.print();

  // sayfayı kapatır.
  window.close();
  
</script>

 

Cevabınız için teşekkürler, window.close(); da istedğim sonucu alamadım fakat aşağıdaki close kullanınca açılır pencereyi otomatik kapattım.

<script>
  window.print();

setTimeout(window.close, 100);

 </script>
açılan sayfa olan "01_02dokum.php " sayfayanın en üstüne bunu koyunca oldu, farkat buradaki sorun ise bunun geldiği yer olan "01_01print.php?sayfa=01_01print&alt=PRINTAL" dönmemesidir.

Döndüğü yer bununla ilgili açılır kayıt yönlendirmesi yaptığım 

script içinde olan if(confirm('BU KAYDI ONAYLIYOR MUSUNUZ?'))

location.href = '?sayfa=01_01print&alt=ILKPRINT1&SISTEMNO='+SISTEMNO; linki oluyor. Buda istediğim yer olmuyor, açılır pencere işleme girince arka plan sayfa baktığımda confirm olan adrese yönlendiğini görüyorum. tekrar bunu "01_01print.php?sayfa=01_01print&alt=PRINTAL" adresine yönlendiremedim. Bunu yaptım mı sorunumu çözmüz olacağım. Fikriniz için teşekkür ederim

Son yazdıklarınızı tam olarak anlayamadım. Ama açılan sekmenin kapatılıp bir önceki sekmeye dönmesini istiyorsanız o sekmeyi window olarak açıp kapatmanız lazım. Bildiğim kadarıyla window ile veri alışverişi yapılabiliyor. Hatta bunu bankalar bile kullanıyor. 

merhabalar,

her sipariş tek satırda olup bir link ile siparişin görüntüsü a4 kağıda sığdırıp yazıcıdan çıktı almak ve açılan pencerenin kapatılıp sipariş listesine dönmesi, benim yapmak istediğim buydu. Aslında bunu tek tık ile yapmak istedim, sizin verdiğiniz komutla yazıcı görüntüleme kısmına getiriyor, (maalesef burda printer ikonuna basmak gerekiyor, otomatik basan bir komut bulamadım, ) yazdırdıktan sonra açılan bu sayfa kapanıyor, fakat sipariş listesine dönmüyor, bunun yerine hangi siparişi yazıcıdan çıktı aldı isem orada da bırakıyor, o da boş bir sayfa olarak geliyor, bende sayfanın meta bölümüne refresh ekledim. Fakat bunda sürekli sayfa yenilemesi yapmaktaki istemediğim bir durum. Eğer ki bunu 3 kere yaptırıp refresh komutunu durdurabilsem çözüme ulaşmış oluyorum , fakar durmuyor, refresh sayfayı sürekli yeniliyor. Sizin dediğiniz window ile alışverişi bilmiyorum,onu bulmaya çalışacağım, eğer bir açıklama ve örnek sunarsanız sevinirim, teşekkürler

Merhabalar,

Bunu ayrı sayfa açarak değil de kendi içinde case bağlantısı yapıp  link vererek çözümü oluyor.

Fakat aşağıdaki kodu yolladığınız case içine yazmanız lazım

<script>
  window.print();
 window.close();
 window.location.href = 'http://www  ==>... burasıda istediğiniz yölendirme olacak.

 </script>
 

 

Belki ihtiyac duyan olur.  Tek tık ile nasıl yapılır, onu bulamadım

Tek tıklama ile yapmak için server side bir dil (php, asp gibi) kullanmak gerekebilir. Yazıcıdan çıktı alırken ekran boş sayfa olarak geliyorsa muhtemelen başka bir sorun vardır. 

Cevap Yaz

Cevap yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git