Tlačte priamo na tlačiareň s JavaScriptom

click fraud protection

Jeden dotaz, ktorý sa často objavuje na rôznych fórach Javascript, sa pýta, ako odoslať stránku priamo do tlačiarne bez toho, aby sa najprv zobrazil tlačové dialógové okno.

Namiesto toho, aby som vám to povedal to sa nedá urobiť užitočnejšie by bolo vysvetlenie, prečo takáto možnosť nie je možná.

Ktoré tlačové dialógové okno sa zobrazí, keď niekto stlačí tlačidlo tlače v ich prehliadači alebo v Javascripte window.print () Spustenie metódy závisí od operačného systému a od toho, aké tlačiarne sú v počítači nainštalované.

Keďže väčšina ľudí používa systém Windows na svojom počítači, najprv popíšeme, ako nastavenie tlače funguje v tomto operačnom systéme. Operačné systémy * nix a Mac sa mierne líšia v detailoch, ale celkovo sú podobné.

Dialógové okno tlače

V systéme Windows existujú dve časti tlačového dialógového okna. Prvá z nich je súčasťou rozhrania Windows API (Application Programming Interface). Rozhranie API je sada bežných častí kódu, ktoré sa nachádzajú v rôznych knižniciach DLL (Knižnica dynamických odkazov

instagram viewer
), ktoré sú súčasťou systému Windows operačný systém. Ktorýkoľvek program Windows môže (a mal by) volať API na vykonávanie bežných funkcií, ako je napríklad zobrazovanie dialógového okna Tlačiť tak, ako to bude vo všetkých programoch pracujú rovnako a nemajú rôzne možnosti na rôznych miestach tak, ako to urobila možnosť tlače v programe DOS dni. Rozhranie Print Dialog API tiež poskytuje spoločné rozhranie, ktoré umožňuje všetkým programom prístup skôr k rovnakej skupine ovládačov tlačiarne ako výrobcovia tlačiarní, ktorí musia vytvárať softvér ovládačov pre svoju tlačiareň pre každý jednotlivý program, ktorý chcel použiť ono.

Ovládače tlačiarne sú druhou polovicou tlačového dialógového okna. Existuje niekoľko rôznych jazykov, ktorým rôzne tlačiarne rozumejú, že používajú na riadenie spôsobu tlače stránky (napr. PCL5 a Postscript). Ovládač tlačiarne dá pokyn Print API, ako prekladať štandardný formát internej tlače že operačný systém rozumie do vlastného značkovacieho jazyka, ktorý má konkrétna tlačiareň chápe. Upravuje tiež možnosti, ktoré sa zobrazia v dialógovom okne Print, aby odrážali možnosti ponúkané konkrétnou tlačiarňou.

Obsluha tlačiarne

Jednotlivé počítače nemusia mať nainštalované žiadne tlačiarne, môžu mať jednu lokálnu tlačiareň prístup k viacerým tlačiarňam v sieti, môže byť dokonca nastavený na tlač do PDF alebo naformátovanú tlač file. Ak je definovaných viac ako jedna „tlačiareň“, jedna z nich sa označí ako predvolená tlačiareň, čo znamená, že je to tá, ktorá zobrazuje svoje podrobnosti v tlačovom dialógovom okne pri prvom zobrazení.

Operačný systém sleduje predvolenú tlačiareň a identifikuje túto tlačiareň podľa rôznych programov v počítači. To umožňuje programom odovzdať ďalší parameter do rozhrania API na tlač a povedať, že má tlačiť priamo na predvolenú tlačiareň bez toho, aby najskôr zobrazilo tlačové dialógové okno. Mnoho programov má dve rôzne možnosti tlače - položku ponuky, ktorá zobrazuje dialógové okno tlače a tlačidlo rýchlej tlače na paneli nástrojov, ktoré sa odosiela priamo na predvolenú tlačiareň.

Ak máte na internete webovú stránku, ktorú vaši návštevníci chystajú tlačiť, nemáte takmer žiadne informácie o tom, aké tlačiarne majú k dispozícii. Väčšina tlačiarní na celom svete je nakonfigurovaná na tlač na papier A4, ale nemôžete zaručiť, že je tlačiareň nastavená na predvolené hodnoty. Jedna severoamerická krajina používa neštandardnú veľkosť papiera, ktorá je kratšia a širšia ako A4. Väčšina tlačiarní je nastavená na tlač v režime na výšku (kde užší smer je šírka, ale niektoré môžu byť nastavené na šírku, kde dlhší rozmer je šírka). Každá tlačiareň má samozrejme aj rôzne predvolené okraje v hornej, dolnej a bočnej časti tlačiarne stránku ešte predtým, ako sa prihlásia vlastníci, a zmeňte všetky nastavenia tak, aby tlačiareň dostala tak, ako majú chcieť.

Vzhľadom na všetky tieto faktory nemáte žiadny spôsob, ako zistiť, či predvolená tlačiareň s predvolenou konfiguráciou vytlačí váš web stránka na A3 so zanedbateľnými okrajmi alebo na A5 s obrovskými okrajmi (zanechávajúc len niečo viac ako oblasť veľkosti poštovej známky uprostred strana). Pravdepodobne sa dá predpokladať, že väčšina bude mať tlačovú plochu na stránke približne 16 cm x 25 cm (plus alebo mínus 80%).

Potreby tlače

Keďže tlačiarne sa medzi vašimi potenciálnymi návštevníkmi veľmi líšia (zmienil sa niekto o laserových tlačiarňach, atramentových tlačiarňach, farebných alebo čiernobielych) iba kvalita fotografií, režim konceptu a mnoho ďalšieho) nemáte žiadny spôsob, ako povedať, čo budú musieť urobiť, aby vytlačili svoju stránku rozumne Formát. možno majú samostatnú tlačiareň alebo druhý ovládač pre tú istú tlačiareň, ktoré poskytujú úplne odlišné nastavenia špeciálne pre webové stránky.

Ďalej prichádza otázka, čo môžu chcieť vytlačiť. Chcú celú stránku alebo si vybrali iba časť stránky, ktorú chcú vytlačiť? Ak vaše stránky používajú rámce, chcú vytlačiť všetky snímky tak, ako sa zobrazujú na stránke, chcú vytlačiť každý rámec osobitne alebo len chcú vytlačiť konkrétny rámec?

Vzhľadom na potrebu zodpovedať všetky tieto otázky je nevyhnutné, aby sa dialógové okno tlače objavilo vždy, keď sa vyskytnú chcete niečo vytlačiť, aby sa mohli uistiť, že všetky nastavenia sú správne predtým, ako sa dotknú tlače Tlačidlo. Väčšina prehliadačov tiež umožňuje pridanie tlačidla „rýchla tlač“ na jednu z panelov s nástrojmi prehliadača, čo umožňuje - stránka, ktorá sa má vytlačiť na predvolenú tlačiareň pomocou predvoleného nastavenia prehľadávača, čo sa má vytlačiť a how.

Javascript

Prehliadače nedávajú Javascriptu toto množstvo nastavení prehliadača a tlačiarne k dispozícii. Javascript sa primárne zaoberá úpravou súčasného stavu webstránka webové prehliadače tak poskytujú minimálne informácie o samotnom prehliadači a takmer žiadne informácie o operačnom systéme, ktorý má k dispozícii Javascript pretože Javascript nemusí poznať tie veci, aby vykonával tie veci, ktoré má Javascript robiť.

Základné zabezpečenie hovorí, že ak niečo ako Javascript nemusí vedieť o operačnom systéme a konfiguráciu prehliadača, aby bolo možné s webovou stránkou manipulovať, nemala by sa s ňou poskytovať informácie. Nie je to ako by Javascript mal byť schopný zmeniť nastavenie tlačiarne na vhodné hodnoty tlač aktuálnej stránky, pretože to nie je to, pre čo je Javascript - to je úloha tlače dialóg. Prehliadače preto sprístupňujú Javascriptu iba tie veci, ktoré potrebuje Javascript vedieť, ako je veľkosť obrazovky, dostupné miesto v okne prehliadača na zobrazenie stránky a podobné veci, ktoré pomáhajú Javascriptu zistiť, ako je stránka rozložená. Aktuálna webová stránka je jedinou starosťou Javascriptu.

intranety

Intranety sú samozrejme úplne iná záležitosť. S intranetom viete, že všetci prístup na stránku používa špecifický prehliadač (zvyčajne najnovšiu verziu programu Internet Explorer) a má špecifické rozlíšenie obrazovky a prístup k určitým tlačiarňam. To znamená, že na intranete má zmysel, aby bolo možné tlačiť priamo na tlačiareň bez zobrazenie tlačového dialógového okna, pretože osoba, ktorá napíše webovú stránku, vie, ktorá tlačiareň bude vytlačené.

Náhrada prehliadača Internet Explorer za program Javascript (nazývaný JScript) má preto o prehliadači a operačnom systéme o niečo viac informácií ako samotný Javascript. Jednotlivé počítače v sieti, na ktorej je spustený intranet, sa môžu dať nakonfigurovať tak, aby povolili JScript window.print () príkaz zapisovať priamo do tlačiarne bez zobrazenia tlačového dialógového okna. Táto konfigurácia by sa musela nastavovať individuálne na každom klientskom počítači a výrazne presahuje rozsah článku o Javascripte.

Pokiaľ ide o webové stránky na internete, neexistuje žiadny spôsob, ako si môžete nastaviť Príkaz Javascript poslať priamo na predvolenú tlačiareň. Ak si to návštevníci želajú, musia si na paneli nástrojov prehliadača nastaviť vlastné tlačidlo „rýchla tlač“.

instagram story viewer