Ispisujte izravno na pisač pomoću JavaScripta

Jedan upit koji se pojavljuje na raznim Javascript forumima postavlja pitanje kako poslati stranicu izravno na pisač a da se prethodno ne prikaže dijaloški okvir za ispis.

Umjesto da vam to samo kažem to se ne može učiniti možda bi objašnjenje zašto takva opcija nije moguća bilo korisnije.

Koji se dijaloški okvir za ispis prikazuje kad netko pritisne gumb za ispis u njihovom pregledniku ili Javascriptu window.print () metoda traje ovisi o operativnom sustavu i koji su pisači instalirani na računalu.

Kako većina ljudi pokreće Windows na svom računalu, najprije opišimo kako funkcioniraju postavke za ispis na tom operativnom sustavu. Operativni sustavi * nix i Mac neznatno se razlikuju po detaljima, ali sveukupno postavljeni su na sličan način.

Dijalog za ispis

Postoje dva dijela dijaloškog okvira za ispis na sustavu Windows. Prvi od njih dio je Windows API-ja (Application Programming Interface). API je skup uobičajenih dijelova koda koji se nalaze u različitim DLL (Biblioteka dinamičkih veza

instagram viewer
) datoteke koje su dio sustava Windows operacijski sustav. Bilo koji Windows program može (i treba) nazvati API za obavljanje uobičajenih funkcija, poput prikazivanja dijaloškog okvira Ispis tako da to i bude raditi na isti način u svim programima i na različitim mjestima nemaju različite mogućnosti kao što je to učinila opcija ispisa u DOS programu dana. API dijaloškog ispisa nudi i zajedničko sučelje koje omogućuje svim programima pristup istom skupu upravljačkih programa pisača nego da proizvođači pisača moraju kreirati softver za pogon svog pisača za svaki pojedinačni program koji se želi koristiti to.

Upravljački programi pisača su druga polovica dijaloškog okvira za ispis. Postoji nekoliko različitih jezika koje različiti pisači razumiju pomoću kojih kontrolišu ispis stranice (npr. PCL5 i Postcript). Upravljački program pisača upućuje API za ispis kako prevesti standardni unutarnji format ispisa da operativni sustav razumije u prilagođeni jezik označavanja koji određeni pisač razumije. Također prilagođava opcije u dijaloškom okviru Ispis kako bi odražavale mogućnosti koje nudi određeni pisač.

Rukovanje pisačem

Pojedinačno računalo možda nema instalirane pisače, možda ima jedan lokalni pisač Pristup nekoliko pisača putem mreže, čak može biti postavljen za ispis u PDF ili ispis prethodno formatiranog datoteka. Ako je definirano više od jednog "pisača" jedan je od njih označen kao zadani pisač, što znači da je onaj koji prikazuje svoje detalje u dijaloškom okviru ispisa kada se prvi put pojavi.

Operativni sustav prati zadani pisač i identificira ga prema različitim programima na računalu. To omogućuje programima da dodaju dodatni parametar API-ju za ispis govoreći mu za ispis izravno na zadani pisač bez prikazivanja dijaloškog okvira za ispis. Mnogi programi imaju dvije različite mogućnosti ispisa - unos u izbornik koji prikazuje dijaloški okvir ispisa i gumb brzog ispisa na alatnoj traci koji se šalje izravno na zadani pisač.

Kada na Internetu imate web stranicu koju će posjetitelji ispisati, pokraj njih nemate podatke o tome koji su to pisači dostupni. Većina pisača širom svijeta konfigurirana je za ispis na papiru A4, ali ne možete jamčiti da je pisač postavljen na zadane vrijednosti. Jedna sjevernoamerička zemlja koristi nestandardnu ​​veličinu papira koja je kraća i šira od A4. Većina pisača postavljena je za ispis u portretnom načinu (gdje je uži smjer širina, ali neki se mogu postaviti na krajolik gdje je dulja dimenzija širina. Naravno, svaki pisač također ima različite zadane margine na vrhu, dnu i bočnim stranama stranicu prije nego što vlasnici uđu i promijene sve postavke kako bi pisač postao onakav kakav jesu želite.

S obzirom na sve ove faktore, nemate načina da odredite hoće li zadani pisač sa zadanom konfiguracijom ispisati vaš web stranicu na A3 s zanemarljivim maržama ili na A5 s ogromnim maržama (ostavljajući nešto više od područja veličine poštanske marke u sredini stranica). Vjerojatno možete pretpostaviti da će većina imati stranicu ispisa na stranici od približno 16cm x 25cm (plus ili minus 80%).

Potrebe za ispisom

Budući da se pisači toliko razlikuju između vaših potencijalnih posjetitelja (je li netko spomenuo laserske pisače, tintne pisače, obojene ili crno-bijele samo, kvaliteta fotografije, način skice i puno više) nemate načina da kažete što će trebati učiniti da bi razumno ispisali stranicu format. možda imaju zaseban pisač ili drugi upravljački program za isti pisač koji pruža potpuno različite postavke posebno za web stranice.

Zatim slijedi pitanje što će možda htjeti ispisati. Žele li cijelu stranicu ili su odabrali samo dio stranice koji žele ispisati? Ako vaša web lokacija koristi okvire, žele li ispisati sve okvire onako kako se pojavljuju na stranici, žele li ispisati svaki okvir odvojeno ili samo žele ispisati određeni okvir?

Potreba odgovora na sva ova pitanja čini presudnim da se dijaloški okvir ispisa pojavi kad god se oni pojave žele ispisati nešto kako bi bili sigurni da su postavke ispravne prije nego što pritisnu ispis dugme. Većina preglednika također pruža mogućnost dodavanja gumba za "brzo ispis" na jednoj od alatnih traka preglednika da biste to omogućili stranica koja će se ispisati na zadani pisač koristeći zadane postavke preglednika o tome što treba ispisati i kako.

Javascript

Preglednici ne čine ovu mnoštvo postavki preglednika i pisača dostupnim Javascriptu. Javascript se primarno bavi izmjenom struje web stranica i tako internetski preglednici pružaju minimalne informacije o samom pregledniku, a pored toga i nikakve podatke o dostupnom operativnom sustavu Javascript jer Javascript ne mora znati te stvari da bi obavljao one stvari koje je Javascript trebao raditi.

Osnovna sigurnost kaže da ako nešto poput Javascripta ne treba znati o operativnom sustavu i konfiguracija preglednika kako bi se manipulirala web stranicom, a zatim to ne bi trebalo biti dostupno informacija. Nije kao da bi Javascript trebao moći mijenjati postavke pisača u odgovarajuće vrijednosti ispis trenutne stranice zato što nije ono za što je Javascript - to je posao ispisa dijalog. Preglednici stoga Javascriptu stavljaju na raspolaganje samo one stvari koje Javascript mora znati, poput veličine zaslona, dostupnog prostora u prozoru preglednika za prikaz stranice i slične stvari koje pomažu Javascriptu da razradi način polaganja stranice. Trenutačna web stranica je jedina briga Javascripta.

intranet

Intraneti su naravno sasvim drugačija stvar. S intranetom, znate da svi pristup stranici koristi određeni preglednik (obično nedavna verzija Internet Explorera) i ima određenu razlučivost zaslona i pristup određenim pisačima. To znači da na intranetu ima smisla bez potrebe za ispisom izravno na pisač prikaz dijaloga za ispis jer osoba koja piše web stranicu zna koji će to biti pisač tiskano na.

Zamjenik Internet Explorera za Javascript (nazvan JScript) stoga ima malo više informacija o pregledniku i operativnom sustavu koje i sam Javascript radi. Pojedinačna računala u mreži koja pokreću intranet mogu se konfigurirati za omogućavanje JScript-a window.print () naredba za pisanje izravno na pisač bez prikazivanja dijaloškog okvira za ispis. Ovu konfiguraciju trebalo bi postaviti pojedinačno na svakom klijentu računalu i znatno je izvan okvira članka o Javascriptu.

Kada su u pitanju web stranice na Internetu, apsolutno ne možete postaviti Naredba Javascript poslati izravno na zadani pisač. Ako vaši posjetitelji to žele, na alatnoj traci preglednika morat će postaviti vlastiti gumb "brzog ispisa".