Tiskněte přímo do tiskárny pomocí JavaScriptu

click fraud protection

Jeden dotaz, který se na různých fórech Javascript hodně objeví, se ptá, jak stránku odeslat přímo do tiskárny, aniž by nejprve zobrazil tiskové dialogové okno.

Spíše než jen to říct to se nedá udělat možná by bylo užitečnější vysvětlení, proč taková možnost není možná.

Které tiskové dialogové okno se zobrazí, když někdo stiskne tlačítko tlačítko tisku v jejich prohlížeči nebo Javascriptu window.print () Spuštění metody závisí na operačním systému a na tom, jaké tiskárny jsou v počítači nainstalovány.

Protože většina lidí ve svém počítači používá systém Windows, nejprve popíšeme, jak nastavení tisku v tomto operačním systému funguje. Operační systémy * nix a Mac se liší v detailech, ale celkově jsou podobné.

Dialog pro tisk

V systému Windows existují dvě části dialogového okna tisku. První z nich je součástí rozhraní Windows API (Application Programming Interface). API je sada běžných kusů kódu, které jsou drženy v různých DLL (Knihovna dynamických odkazů) soubory, které jsou součástí systému Windows

instagram viewer
operační systém. Jakýkoli program Windows může (a měl by) volat API k provádění běžných funkcí, jako je zobrazení dialogového okna Tisk tak, aby to bylo pracovat stejným způsobem ve všech programech a nemají různé možnosti na různých místech tak, jak se možnost tisku v programu DOS vrátila dny. Rozhraní Print Dialog API také poskytuje společné rozhraní umožňující všem programům přístup k stejné sadě ovladačů tiskáren než výrobci tiskáren, kteří musejí vytvořit ovladačový software pro svou tiskárnu pro každý jednotlivý program, který chtěl použít to.

Druhou polovinou tiskového dialogu jsou ovladače tiskárny. Existuje několik různých jazyků, kterým různé tiskárny rozumí, že používají k ovládání způsobu tisku stránky (např. PCL5 a Postscript). Ovladač tiskárny dá pokyn Print API, jak překládat standardní formát interního tisku že operační systém chápe do vlastního značkovacího jazyka, který konkrétní tiskárna chápe. Upravuje také možnosti zobrazené v dialogovém okně Tisk, aby odrážely možnosti nabízené konkrétní tiskárnou.

Ovládání tiskárny

Jednotlivý počítač nemusí mít nainstalované žádné tiskárny, může mít jednu lokální tiskárnu přístup k několika tiskárnám v síti, může být dokonce nastaven pro tisk do PDF nebo předformátovaný tisk soubor. Pokud je definována více než jedna „tiskárna“, je jedna z nich označena jako výchozí tiskárna, což znamená, že je to ta, která zobrazuje své podrobnosti v tiskovém dialogu, když se poprvé objeví.

Operační systém sleduje výchozí tiskárnu a identifikuje tuto tiskárnu podle různých programů v počítači. To umožňuje programům předat další parametr rozhraní API pro tisk, které mu řekne, aby tisklo přímo na výchozí tiskárnu, aniž by nejprve zobrazilo tiskové dialogové okno. Mnoho programů má dvě různé možnosti tisku - položku nabídky, která zobrazuje dialogové okno tisku a tlačítko rychlého tisku na panelu nástrojů, které se odesílá přímo na výchozí tiskárnu.

Když máte na internetu webovou stránku, kterou vaši návštěvníci chystají tisknout, nemáte téměř žádné informace o tom, jaké tiskárny mají k dispozici. Většina tiskáren po celém světě je nakonfigurována pro tisk na papír A4, ale nemůžete zaručit, že je tiskárna nastavena na tuto výchozí hodnotu. Jedna severoamerická země používá nestandardní velikost papíru, která je kratší a širší než A4. Většina tiskáren je nastavena pro tisk v režimu na výšku (kde užší směr je šířka, ale některé mohou být nastaveny na šířku, kde delší rozměr je šířka). Každá tiskárna má samozřejmě také různé výchozí okraje v horní, dolní a boční části tiskárny stránku ještě předtím, než se k ní připojí vlastníci, a změňte všechna nastavení tak, aby se tiskárna dostala tak, jak jsou chtít.

Vzhledem ke všem těmto faktorům nemáte možnost zjistit, zda výchozí tiskárna s výchozí konfigurací vytiskne váš web stránka na A3 se zanedbatelnými okraji nebo na A5 s obrovskými okraji (ponechává jen o něco více než oblast velikosti poštovní známky uprostřed stránka). Pravděpodobně lze předpokládat, že většina bude mít tiskovou oblast na stránce přibližně 16 cm x 25 cm (plus nebo mínus 80%).

Potřeba tisku

Protože se tiskárny potenciálních návštěvníků tolik liší (zmínil se někdo o laserových tiskárnách, inkoustových tiskárnách, barevných nebo černobílých) pouze kvalita fotografií, režim konceptu a mnoho dalšího) nemáte možnost říct, co budou muset udělat, aby vytiskli vaši stránku za rozumnou cenu formát. možná mají samostatnou tiskárnu nebo druhý ovladač pro stejnou tiskárnu poskytující zcela odlišná nastavení specificky pro webové stránky.

Dále přichází otázka, co mohou chtít vytisknout. Chtějí celou stránku nebo si vybrali jen část stránky, kterou chtějí vytisknout? Pokud váš web používá rámečky, chtějí vytisknout všechny rámečky tak, jak se objevují na stránce, chtějí vytisknout každý rámeček zvlášť, nebo chtějí pouze vytisknout konkrétní rámeček?

Vzhledem k potřebě odpovědět na všechny tyto otázky je naprosto nezbytné, aby se tiskové dialogové okno objevilo kdykoli chcete něco vytisknout, aby se mohli ujistit, že jsou všechna nastavení správná, než se dotknou tisku knoflík. Většina prohlížečů také umožňuje přidat tlačítko „rychlého tisku“ na jeden z panelů nástrojů prohlížeče stránku, která se má vytisknout na výchozí tiskárnu pomocí výchozího nastavení prohlížeče, co se má vytisknout a jak.

Javascript

Prohlížeče tento Javascript nezpřístupňují toto množství nastavení prohlížeče a tiskárny. Javascript se primárně zabývá úpravou současného webová stránka webové prohlížeče tak poskytují minimální informace o samotném prohlížeči a téměř žádné informace o operačním systému, který má k dispozici Javascript protože Javascript nemusí tyto věci znát, aby mohl provádět ty věci, které má Javascript dělat.

Základní zabezpečení říká, že pokud něco jako Javascript nemusí vědět o operačním systému a konfigurace prohlížeče za účelem manipulace s webovou stránkou, pak by s tím neměla být poskytována informace. Není to jako by Javascript měl být schopen změnit nastavení tiskárny na vhodné hodnoty tisk aktuální stránky, protože to není to, pro co je Javascript - to je úloha tisku dialog. Prohlížeče proto Javascriptu zpřístupňují pouze ty věci, které potřebuje Javascript vědět, jako je velikost obrazovky, dostupné místo v okně prohlížeče zobrazit stránku a podobné věci, které pomáhají Javascriptu zjistit, jak je stránka rozvržena. Aktuální webová stránka je jedinou starostí Javascriptu.

Intranety

Intranety jsou samozřejmě úplně jiná záležitost. S intranetem víte, že všichni přístup na stránku používá konkrétní prohlížeč (obvykle nejnovější verzi aplikace Internet Explorer) a má specifické rozlišení obrazovky a přístup ke konkrétním tiskárnám. To znamená, že na intranetu má smysl tisknout přímo na tiskárně bez zobrazení tiskového dialogu, protože osoba psající webovou stránku ví, jaká tiskárna to bude vytištěno.

Náhrada za Javascript v Internet Exploreru (nazývaná JScript) má tedy o prohlížeč a operační systém o něco více informací, než jak to dělá samotný Javascript. Jednotlivé počítače v síti provozující intranet může být možné nakonfigurovat tak, aby povolily JScript window.print () příkaz zapisovat přímo do tiskárny bez zobrazení tiskového dialogu. Tato konfigurace by musela být nastavena individuálně v každém klientském počítači a je značně nad rámec článku o Javascriptu.

Pokud jde o webové stránky na internetu, neexistuje žádný způsob, jak nastavit a Příkaz Javascript odeslání přímo na výchozí tiskárnu. Pokud si to návštěvníci přejí, budou si muset na panelu nástrojů prohlížeče nastavit vlastní tlačítko „rychlého tisku“.

instagram story viewer