Printige otse JavaScripti abil printerisse

click fraud protection

Üks päring, mis ilmub paljudes Javascripti foorumites palju, küsib, kuidas saata leht otse printerisse, ilma et kuvataks prindi dialoogiboks.

Selle asemel, et lihtsalt teile seda öelda seda ei saa teha võib-olla oleks kasulikum selgitada, miks selline võimalus pole võimalik.

Milline printimise dialoogiboks kuvatakse, kui keegi nuppu vajutab printimisnupp nende brauseris või Javascriptis window.print () meetodi käitamine sõltub opsüsteemist ja arvutist installitud printeritest.

Kuna enamik inimesi käitab Windowsi oma arvutis, kirjeldame kõigepealt, kuidas printimise häälestus sellel opsüsteemil töötab. * Nix ja Mac operatsioonisüsteemid erinevad üksteisest pisut, kuid on üldiselt üles seatud sarnased.

Prindidialoog

Windowsi prindidialoogiboksil on kaks osa. Neist esimene on osa Windows API-st (rakenduste programmeerimisliides). API on levinud kooditükkide kogum, mida hoitakse erinevates DLL-ides (Dünaamiliste linkide kogu) Windowsi osaks olevad failid operatsioonisüsteem. Iga Windowsi programm saab (ja peakski) kutsuma API-liidese, et täita tavalisi funktsioone, näiteks kuvada dialoogiboks Print (Prindi) töötage kõikides programmides ühtemoodi ja neil pole erinevates kohtades erinevaid võimalusi, nagu prindivalik tegi DOS-programmis päeva. Prindidialoogi API pakub ka ühist liidest, mis võimaldab kõikidel programmidel juurdepääsu samale printeridraiverite komplektile kui printeritootjad, kes peavad iga oma soovida saanud programmi jaoks oma printerile draiveritarkvara looma seda.

instagram viewer

Printeridraiverid on prindidialoogi teine ​​pool. On palju erinevaid keeli, mida erinevad printerid mõistavad, kuidas nad lehe printimiseks kontrollivad (nt. PCL5 ja Postscript). Printeridraiver juhendab Print API-d, kuidas tõlkida standardne sisemine printimisvorming et operatsioonisüsteem mõistab konkreetse printeri kohandatud märgistuskeelt saab aru. Samuti kohandab see suvandeid, mida dialoogiboks Prindi kuvab, et kajastada konkreetse printeri pakutavaid suvandeid.

Printeri kasutamine

Üksikus arvutis ei pruugi olla printereid installitud, sellel võib olla üks kohalik printer Kui teil on võrgu kaudu juurdepääs mitmele printerile, võib see olla seadistatud isegi PDF-vormingus printimiseks või eelvormindatud printimiseks faili. Kui on määratletud rohkem kui üks "printer", nimetatakse üks neist vaikeprinteriks, mis tähendab, et see kuvab selle üksikasjad esmakordsel ilmumisel printimisdialoogis.

Opsüsteem jälgib vaikimisi printerit ja tuvastab selle printeri arvuti erinevate programmide vahel. See võimaldab programmidel edastada printimisliidesesse lisaparameetri, öeldes, et see tuleb printida otse vaikeprinteri, ilma et enne ilmuks prindidialoogi. Paljudel programmidel on kaks erinevat printimisvalikut - menüükirje, mis kuvab printimisdialoogi, ja tööriistariba kiirprintimise nupp, mis saadetakse otse vaikeprinteri juurde.

Kui teil on Internetis veebileht, mida teie külastajad prindivad, pole teil enam teavet selle kohta, milline printer (id) neil on saadaval. Enamik printereid kogu maailmas on konfigureeritud printima A4-formaadis paberile, kuid te ei saa garanteerida, et printer on vaikimisi seadistatud. Üks Põhja-Ameerika riik kasutab mittestandardset paberiformaati, mis on lühem ja laiem kui A4. Enamik printereid on loodud printimiseks portreerežiimis (kus kitsam suund on laius, kuid mõned võivad olla seatud maastikule, kus pikem mõõde on laius). Muidugi, igal printeril on ka erinevad ülemised, alumised ja külgmised veerised isegi enne, kui omanikud sisse lähevad, ja muudavad kõiki sätteid, et saada printer samamoodi nagu nad ise tahavad.

Kõiki neid tegureid arvesse võttes ei saa te kuidagi öelda, kas vaikekonfiguratsiooniga vaikimisi printer prindib teie veebi Lehel A3 on ebaoluliste veeristega või A5 hiiglaslike veeristega (jättes keskpaiga postmargi suuruse ala pisut enamaks kui postmargi suurune ala) leht). Võib arvata, et enamiku prindiala on lehel umbes 16 cm x 25 cm (pluss või miinus 80%).

Trükkimisvajadused

Kuna printerid erinevad teie potentsiaalsete külastajate vahel nii palju (kas keegi mainis laserprinterit, tindiprinterit, värvilist või mustvalget?) ainult fotokvaliteet, mustandirežiim ja palju muud) teil pole võimalust öelda, mida nad peavad teie lehe mõistlikuks väljatrükkimiseks tegema, vormingus. võib-olla on neil sama printeri jaoks eraldi printer või teine ​​draiver, mis pakuvad spetsiaalselt veebilehtede jaoks täiesti erinevaid sätteid.

Järgmisena tuleb küsimus, mida nad võiksid printida. Kas nad soovivad kogu lehte või on nad valinud ainult selle lehe osa, mida nad tahavad printida? Kui teie sait kasutab raame, kas nad tahavad printida kõik raamid nii, nagu lehel ilmuvad, kas nad tahavad printida iga kaadri eraldi või tahavad nad lihtsalt printida konkreetse raami?

Kõigile neile küsimustele vastamise tõttu on prindidialoogi ilmumine nende ilmumisel peaaegu hädavajalik tahavad midagi printida, et nad saaksid enne prindile jõudmist veenduda, kas sätted on õiged nuppu. Enamik brausereid pakub ka võimaluse lisada ühele brauseri tööriistaribale "kiire printimise" nupp leht, mis prinditakse vaikeprinteri abil, kasutades brauseri vaikeseadeid selle kohta, mida printida ja kuidas.

Javascript

Brauserid ei tee seda arvukat brauseri ja printeri seadeid Javascripti jaoks kättesaadavaks. Javascript tegeleb peamiselt voolu muutmisega veebileht ja nii pakuvad veebibrauserid brauseri enda kohta minimaalset teavet ja puuduvad andmed selle kohta, milline on saadavalolev opsüsteem Javascript kuna Javascript ei pea neid asju teadma, et teha neid asju, mida Javascript on ette nähtud.

Põhiturve ütleb, et kui midagi Javascripti taolist pole vaja teada opsüsteemi ja veebilehe manipuleerimiseks brauseri konfiguratsiooni, siis ei tohiks seda sellega varustada teave. See ei ole nii, nagu Javascript peaks suutma muuta printeri sätted väärtustele praeguse lehe printimine, kuna Javascript pole selleks mõeldud - see on printimise ülesanne dialoogi. Seetõttu teevad brauserid Javascripti jaoks kättesaadavaks ainult need asjad, mida Javascript peab teadma, näiteks ekraani suurus, vaba ruumi brauseriaknas lehe kuvamiseks ja sarnased asjad, mis aitavad Javascriptil välja töötada lehe kujundus. Praegune veebileht on Javascripti ainus mure.

Sisevõrgud

Sisevõrgud on muidugi täiesti erinev asi. Sisevõrgu kaudu teate, et kõik lehele pääsemine kasutab konkreetset brauserit (tavaliselt Internet Exploreri uusim versioon) ning sellel on konkreetne ekraani eraldusvõime ja juurdepääs kindlatele printeritele. See tähendab, et sisevõrgus on mõistlik otse ilma printerita printida printimisdialoogi kuvamine, kuna veebilehte kirjutav inimene teab, milline printer sellest saab trükitud.

Javascripti Internet Exploreri asendajal (nimega JScript) on brauseri ja opsüsteemi kohta veidi rohkem teavet, mida Javascript ise teeb. Sisevõrku töötavaid üksikuid arvuteid võib olla võimalik konfigureerida Jcripti lubama window.print () käsk kirjutage otse printerisse ilma printimisdialoogi kuvamata. See konfiguratsioon tuleks seadistada iga kliendi arvutis eraldi ja see ületab Javascripti käsitleva artikli ulatust.

Interneti veebilehtedel pole absoluutselt mingit võimalust, et saate a Javascripti käsk otse vaikeprinteri saatmiseks. Kui külastajad soovivad seda teha, peavad nad oma brauseri tööriistaribal seadistama oma nupu "kiire printimine".

instagram story viewer