Tiskanje neposredno na tiskalnik s JavaScript

Ena poizvedba, ki se na različnih forumih Javascript pokaže veliko, vpraša, kako stran poslati neposredno tiskalniku, ne da bi najprej prikazali tiskalno pogovorno okno.

Namesto da vam to samo povem tega ni mogoče storiti morda bi bila razlaga, zakaj takšna možnost ni mogoča, bolj koristna.

Katero pogovorno okno za tiskanje se prikaže, ko nekdo pritisne gumb za tiskanje v svojem brskalniku ali Javascript window.print () način izvajanja je odvisen od operacijskega sistema in tiskalnikov, ki so nameščeni v računalniku.

Ker večina ljudi na svojem računalniku poganja sistem Windows, najprej opišimo, kako deluje nastavitev tiskanja v tem operacijskem sistemu. Operacijski sistemi * nix in Mac se v podrobnostih nekoliko razlikujejo, a na splošno so nastavljeni podobno.

Tiskanje Dialog

V pogovornem oknu za tiskanje v sistemu Windows obstajata dva dela. Prvi od njih je del programa Windows API (aplikacijski programski vmesnik). API je niz skupnih kosov kode, ki se hranijo v različnih DLL (Knjižnica dinamičnih povezav

instagram viewer
) datoteke, ki so del sistema Windows operacijski sistem. Vsak program Windows lahko API (in bi moral) poklicati API za izvajanje skupnih funkcij, kot je prikaz pogovornega okna Print tako, da bo delujte enako v vseh programih in na različnih mestih nimajte različnih možnosti, kot je tiskalniška možnost v programu DOS dnevi. API Dialog Print ponuja tudi skupni vmesnik, ki vsem programom omogoča dostop do istega nabora gonilnikov tiskalnika kot proizvajalci tiskalnikov, ki morajo za vsak posamezen program izdelati gonilniško programsko opremo za svoj tiskalnik to.

Gonilniki tiskalnika so druga polovica pogovornega okna za tiskanje. Obstaja več različnih jezikov, ki jih različni tiskalniki razumejo in uporabljajo za nadzor nad tiskanjem strani (npr. PCL5 in Postscript). Gonilnik tiskalnika naroči Print API-ju, kako prevesti standardni notranji format tiskanja da operacijski sistem v jeziku označevanja po meri razume tiskalnik, ki ga določi razume. Prilagodi tudi možnosti, ki jih prikaže pogovorno okno Print, da odraža možnosti, ki jih ponuja tiskalnik.

Upravljanje tiskalnika

Posamezen računalnik morda nima nameščenih tiskalnikov, morda ima en lokalni tiskalnik dostopa do več tiskalnikov prek omrežja, je morda celo nastavljen za tiskanje v PDF ali predoblikovani tisk mapa. Če je več kot en "tiskalnik" opredeljen, je eden od njih označen kot privzeti tiskalnik, kar pomeni, da je tisti, ki v pogovornem oknu za tiskanje prikaže svoje podrobnosti, ko se prvič pojavi.

Operacijski sistem sledi privzetemu tiskalniku in ga identificira z različnimi programi v računalniku. To omogoča programom, da dodajo dodaten parameter v API za tiskanje, ki mu sporoči, da tiska neposredno na privzeti tiskalnik, ne da bi najprej prikazal pogovorno okno za tiskanje. Številni programi imajo dve različni možnosti tiskanja - vnos v meni, ki prikazuje pogovorno okno tiskanja in gumb za hitro tiskanje orodne vrstice, ki se pošlje neposredno na privzeti tiskalnik.

Če imate v internetu spletno stran, ki jo bodo obiskovalci natisnili, poleg vas ni nobenih informacij o tem, kateri tiskalniki so na voljo. Večina tiskalnikov po vsem svetu je konfigurirana za tiskanje na papir A4, vendar ne morete zagotoviti, da je tiskalnik nastavljen na to privzeto. Ena severnoameriška država uporablja nestandardno velikost papirja, ki je krajša in širša od A4. Večina tiskalnikov je nastavljena za tiskanje v pokončnem načinu (kjer je ožja smer širina, nekateri pa so lahko nastavljeni na pokrajino, kjer je daljša dimenzija širina. Seveda ima vsak tiskalnik tudi različne zgornje robove na zgornji, spodnji in strani strani stran, preden lastniki vstopijo in spremenijo vse nastavitve, da tiskalnik postane takšen, kot so hočem.

Glede na vse te dejavnike ne morete povedati, ali bo privzeti tiskalnik s privzeto konfiguracijo natisnil vaše spletno mesto strani na A3 z zanemarljivimi maržami ali na A5 z velikimi maržami (na sredini velikosti ostane nekaj več kot velikost poštne znamke stran). Verjetno lahko domnevate, da bo večina tiskalnih površin na strani približno 16 cm x 25 cm (plus ali minus 80%).

Potrebe po tiskanju

Ker se tiskalniki med vašimi potencialnimi obiskovalci toliko razlikujejo (je kdo omenil laserske tiskalnike, brizgalne tiskalnike, barvne ali črno-bele samo, kakovost fotografij, način osnutka in še veliko več) nimate možnosti povedati, kaj bodo morali narediti, da bodo primerno natisnili vašo stran format. morda imajo ločen tiskalnik ali drugega gonilnika za isti tiskalnik, ki omogoča popolnoma drugačne nastavitve posebej za spletne strani.

Nato sledi vprašanje, kaj bodo morda želeli natisniti. Ali želijo celotno stran ali so izbrali samo del strani, ki ga želijo natisniti? Če vaše spletno mesto uporablja okvirje, ali želijo vse okvirje natisniti tako, kot so prikazani na strani, ali želijo vsak okvir natisniti posebej ali pa želijo samo tiskati določen okvir?

Potreba po odgovoru na vsa ta vprašanja je bistvenega pomena, da se pogovorno okno tiskanja prikaže, kadar se le-ta pojavi želijo nekaj natisniti, da se prepričajo, ali so vse nastavitve pravilne, preden bodo zadele tisk gumb. Večina brskalnikov omogoča tudi dodajanje gumba za hitro tiskanje na eno od orodij brskalnika, da to omogočite stran, ki jo je treba natisniti na privzeti tiskalnik s privzetimi nastavitvami brskalnika glede tega, kaj naj bo natisnjeno in kako.

Javascript

Brskalniki te množice nastavitev brskalnika in tiskalnika ne omogočajo Javascript. Javascript se ukvarja predvsem s spreminjanjem toka Spletna stran in tako spletni brskalniki zagotavljajo minimalne informacije o samem brskalniku, poleg tega pa nimajo informacij o operacijskem sistemu, ki je na voljo Javascript ker Javascriptu ni treba vedeti teh stvari za izvajanje tistih stvari, ki naj bi jih izvajal Javascript.

Osnovna varnost pravi, da če nekaj, kot je Javascript, ni treba vedeti o operacijskem sistemu in konfiguracijo brskalnika, da bi lahko manipulirali s spletno stranjo, potem je ne bi smeli imeti informacije. Ni tako, da bi Javascript moral spremeniti nastavitve tiskalnika v ustrezne vrednosti tiskanje trenutne strani, ker Javascript ni tisto, za kar je tisto, kar je tiskanje pogovornem oknu. Brskalniki zato Javcu dajo na voljo samo tiste stvari, ki jih mora vedeti, na primer velikost zaslona, razpoložljivega prostora v oknu brskalnika za prikaz strani in podobne stvari, ki Javas-u pomagajo razbrati, kako je stran postavljena. Trenutna spletna stran je edina skrb Javascripta.

Intraneti

Intraneti so seveda povsem druga stvar. Z intranetom veste, da vsi dostop do strani uporablja določen brskalnik (ponavadi je to novejša različica Internet Explorerja) in ima določeno ločljivost zaslona in dostop do določenih tiskalnikov. To pomeni, da je na intranetu smiselno tiskati neposredno brez tiskalnika prikaz pogovornega okna za tiskanje, ker oseba, ki piše spletno stran, ve, kateri tiskalnik bo natisnjeno naprej.

Zato ima nadomestnik Internet Explorer za Javascript (imenovan JScript) nekoliko več informacij o brskalniku in operacijskem sistemu, kot to počne sam JavaScript. Posamezne računalnike v omrežju, ki poganja intranet, je mogoče konfigurirati tako, da omogočajo JScript window.print () ukaz pišete neposredno v tiskalnik, ne da bi prikazali pogovorno okno za tiskanje. To konfiguracijo bi bilo treba nastaviti posamično na vsakem odjemalskem računalniku in je precej zunaj obsega članka o Javascriptu.

Ko gre za spletne strani na internetu, ni mogoče, da jih nastavite Javascript ukaz poslati neposredno na privzeti tiskalnik. Če bodo obiskovalci to želeli, bodo morali v orodni vrstici brskalnika nastaviti svoj lastni gumb "hitri tisk".

instagram story viewer