2011-10-25 26 views
8

Olası Çoğalt:
Printing to a specific printer from a web appKullanmak için JavaScript seç yazıcımı kullanabilir miyim?

bizim intranet uygulamaları

Bir varsayılan olmayan bir yazıcıya yazdırmak gerekiyor. Tabii ki insanlar doğru yazıcıyı seçmeyi düzenli olarak unutuyorlar.

Bunu normal olarak JavaScript ile yapamayacağınızı, ancak tarayıcının IE9 olduğunu ve webapp'ı güvenilen bölgeye ekleyebileceğinin (ve güvenlik ayarlarının olduğu gibi etrafta dolaşabileceğinin) farkında olduğumun farkındayım, herhangi bir yol var mı? otomatik olarak doğru yazıcıyı seçecek olan JavaScript'i yazmak için? Belki bazı ActiveX veya diğer IE özel şeyler kullanarak.

+0

, o zaman belki bir ActiveX denetimi çalışacak: Burada

mmeadroid belgelerinden bir örnektir. –

cevap

6

Hayır, Javascript nesne modeli, bir Web tarayıcısının standart yazdırma iletişimini etkinleştirebilen bir window.print() yöntemini içerir, ancak bu işlev, işlevsellik kadar uzar. Javascript kodunun bir bilgisayara bağlı olan yazıcıları kontrol edebilmesi, yazıcı özelliklerini araştırması veya ayarlarını isteğe göre yapılandırması uygun veya güvenli olmaz.

Kullanıcının uygun yazıcıyı seçmesini hatırlattığınız, yazdırmadan önce bir pop eklemeyi öneririm. Geçmişte kullanmış

http://www.meadroid.com/scriptx/index.asp

ve Yazıcı özelliklerini kontrol etme imkanı sunmaktadır:

+0

Görünüşe göre açık değildi, bunun 'genel olarak' mümkün olmadığının farkındayım, ancak bazı güvenlik politikaları gevşediyse IE'ye özel bir çözüm olabileceğini umuyorum (bu bir * intranet * uygulamasıdır. all) – Kris

+1

Yeterince açıktasın, cevap hala aynı, hiçbir yolu yok. – isJustMe

+1

Aslında, kontamın çözümü benim amacım için çok pahalı olsa bile işe yarıyor. – Kris

3

tarayıcı IE dayanmaktadır Eğer meadroid bu ActiveX'i kullanabilirsiniz. Eğer kontrolün bu tür var ve iç buysa

<script> 
function printWindow() { 
    factory.printing.SetMarginMeasure(2); // set inches 
    factory.printing.header = "This is MeadCo"; 
    factory.printing.footer = "Printing by ScriptX"; 
    factory.printing.portrait = false; 
    factory.printing.leftMargin = 1.0; 
    factory.printing.topMargin = 1.0; 
    factory.printing.rightMargin = 1.0; 
    factory.printing.bottomMargin = 1.0; 
    factory.printing.copies = 1; 
    factory.printing.printBackground = true; 
    factory.printing.Print(false); 
    factory.printing.WaitForSpoolingComplete(); 
    // navigate or close browser here // 
} 
</script> 
+0

Bu işe yarayacak gibi görünüyor, ancak sadece sürüm için ödenen. – Kris

+0

Evet :-) ... ücretsiz değil, iş projesi için iyi bir yatırımdır –

+2

Eğer firefox'a geçerseniz alternatif olarak meadco scriptx'e benzer firefox için bir addon ama ücretsiz: https://addons.mozilla.org/it/firefox/addon/js-print-setup/ –

İlgili konular