Spausdinkite tiesiai į spausdintuvą naudodami „JavaScript“

Vienoje užklausoje, kuri labai išryškėja įvairiuose „Javascript“ forumuose, klausiama, kaip nusiųsti puslapį tiesiai į spausdintuvą, prieš tai nerodant spausdinimo dialogo langas.

Užuot tiesiog tau tai pasakojęs to negalima padaryti galbūt paaiškinimas, kodėl tokia galimybė neįmanoma, būtų naudingesnis.

Kuris spausdinimo dialogo langas pasirodo, kai kas nors paspaudžia spausdinimo mygtukas jų naršyklėje arba „Javascript“ window.print () Metodo vykdymas priklauso nuo operacinės sistemos ir to, kokie spausdintuvai yra įdiegti kompiuteryje.

Kadangi dauguma žmonių savo kompiuteryje naudoja „Windows“, pirmiausia aprašykime, kaip spausdinimo sąranka veikia toje operacinėje sistemoje. „* Nix“ ir „Mac“ operacinės sistemos detalėmis šiek tiek skiriasi, tačiau iš esmės jos yra panašios.

Spausdinimo dialogas

„Windows“ spausdinimo dialogo lange yra dvi dalys. Pirmasis iš jų yra „Windows API“ (programų programavimo sąsajos) dalis. API yra įprastų kodo dalių, laikomų įvairiuose DLL (Dinaminių nuorodų biblioteka

instagram viewer
) failai, kurie yra sistemos Windows dalis Operacinė sistema. Bet kuri „Windows“ programa gali (ir turėtų) paskambinti API, kad atliktų įprastas funkcijas, tokias kaip spausdinimo dialogo lango pateikimas, kad jis tai atliktų dirbkite vienodai visose programose ir neturėkite skirtingų parinkčių skirtingose ​​vietose, kaip spausdinimo parinktis darė DOS programoje dienų. Spausdinimo dialogo API taip pat teikia bendrą sąsają, leidžiančią visoms programoms pasiekti tą patį spausdintuvo tvarkyklių rinkinį nei spausdintuvų gamintojai, norėdami sukurti spausdintuvo tvarkyklės programinę įrangą kiekvienai atskirai programai, kurią norėjo naudoti tai.

Kita spausdinimo dialogo lango pusė yra spausdintuvo tvarkyklės. Yra kelios skirtingos kalbos, kuriomis skirtingi spausdintuvai supranta, kad naudojasi spausdindami puslapį (pvz.,. PCL5 ir „Postscript“). Spausdintuvo tvarkyklė nurodo „Print API“, kaip išversti standartinį vidinio spausdinimo formatą kad operacinė sistema į pasirinktinę žymėjimo kalbą supranta konkretų spausdintuvą supranta. Jis taip pat pakoreguoja parinktis, kurias rodo dialogo langas Spausdinti, kad atspindėtų konkretaus spausdintuvo siūlomas parinktis.

Spausdintuvo valdymas

Atskirame kompiuteryje gali būti neįdiegti spausdintuvai, gali būti vienas vietinis spausdintuvas prieiga prie kelių spausdintuvų tinkle, netgi gali būti nustatyta spausdinti į PDF arba iš anksto suformatuotą spausdinimą byla. Kai yra apibrėžti daugiau nei vienas „spausdintuvas“, vienas iš jų yra laikomas numatytuoju spausdintuvu, tai reiškia, kad jis yra tas, kuris spausdinimo dialogo lange rodo savo informaciją, kai jis pasirodo pirmą kartą.

Operacinė sistema stebi numatytąjį spausdintuvą ir identifikuoja tą spausdintuvą pagal įvairias kompiuterio programas. Tai leidžia programoms perduoti papildomą parametrą spausdinimo API, nurodantį spausdinti tiesiai į numatytąjį spausdintuvą, prieš tai neparodžius spausdinimo dialogo lango. Daugelis programų turi dvi skirtingas spausdinimo parinktis - meniu įrašą, kuriame rodomas spausdinimo dialogas, ir įrankių juostos greito spausdinimo mygtuką, kuris siunčiamas tiesiai į numatytąjį spausdintuvą.

Kai turite internetinį puslapį, kurį lankytojai ketina spausdinti, beveik nėra informacijos apie tai, kokį spausdintuvą (-us) jie turi. Daugelis spausdintuvų visame pasaulyje sukonfigūruoti spausdinti ant A4 formato popieriaus, tačiau jūs negalite garantuoti, kad spausdintuvas yra nustatytas kaip numatytasis. Viena Šiaurės Amerikos šalis naudoja nestandartinį popieriaus formatą, kuris yra trumpesnis ir platesnis nei A4. Daugelis spausdintuvų yra paruošti spausdinti portreto režimu (kai siauresnė kryptis yra plotis, bet kai kurie gali būti nustatyti kraštovaizdyje, kur ilgesnis matmuo yra plotis. Be abejo, kiekvienas spausdintuvas taip pat turi skirtingas numatytąsias paraštes viršuje, apačioje ir šonuose puslapis net prieš savininkams įeinant ir pakeitus visus parametrus, kad spausdintuvas būtų toks, koks yra nori.

Atsižvelgiant į visus šiuos veiksnius, jūs negalite pasakyti, ar numatytasis spausdintuvas su jo numatytąja konfigūracija išspausdins jūsų internetą puslapis ant A3 su nežymiomis paraštėmis arba ant A5 su didžiulėmis paraštėmis (paliekant šiek tiek daugiau nei pašto ženklo dydžio plotas viduryje puslapis). Tikriausiai galite manyti, kad daugumos puslapio spausdinimo plotas bus maždaug 16 cm x 25 cm (plius arba minus 80%).

Spausdinimo poreikiai

Kadangi jūsų potencialių lankytojų spausdintuvai labai skiriasi (ar kažkas paminėjo lazerinius spausdintuvus, rašalinius spausdintuvus, spalvotus ar nespalvotus spausdintuvus) tik nuotraukų kokybė, juodraščio režimas ir dar daugiau) jūs negalite pasakyti, ką jie turės padaryti, kad pagrįstai išspausdintų jūsų puslapį formatas. galbūt jie turi atskirą spausdintuvą arba antrą to paties spausdintuvo tvarkyklę, teikiančią visiškai skirtingus parametrus, specialiai tinklalapiams.

Kitas klausimas, ką jie gali norėti atspausdinti. Ar jie nori viso puslapio, ar yra pasirinkę tik tą puslapio dalį, kurią jie nori spausdinti? Jei jūsų svetainė naudoja rėmus, ar jie nori atspausdinti visus kadrus taip, kaip jie atrodo puslapyje, ar jie nori atspausdinti kiekvieną kadrą atskirai, ar tiesiog nori atspausdinti tam tikrą rėmelį?

Poreikis atsakyti į visus šiuos klausimus reiškia, kad spausdinimo dialogo langas pasirodo visada norėsite ką nors atspausdinti, kad jie galėtų įsitikinti, ar visi nustatymai yra teisingi prieš pradedant spausdinti mygtuką. Daugelyje naršyklių taip pat suteikiama galimybė prie vienos iš naršyklės įrankių juostų pridėti mygtuką „greitas spausdinimas“ puslapis, kuris bus spausdinamas numatytuoju spausdintuvu, naudojant numatytuosius naršyklės nustatymus, kas bus spausdinama ir kaip.

„Java“ scenarijus

Naršyklės neleidžia „Javascript“ naudotis daugybe naršyklės ir spausdintuvo nustatymų. „Javascript“ pirmiausia susijęs su srovės modifikavimu tinklo puslapis todėl žiniatinklio naršyklėse pateikiama minimali informacija apie pačią naršyklę, o informacijos apie turimą operacinę sistemą nėra „Java“ scenarijus nes „Javascript“ nereikia žinoti tų dalykų, kad būtų galima atlikti tuos darbus, kuriuos „Javascript“ ketinama atlikti.

Pagrindinis saugumas sako, kad jei kažkas panašaus į „Javascript“ nereikia žinoti apie operacinę sistemą ir naršyklės konfigūracija, kad būtų galima manipuliuoti tinklalapiu, tada ji neturėtų būti teikiama informacija. Tai nėra taip, kaip „Javascript“ turėtų sugebėti pakeisti spausdintuvo parametrus į tinkamas spausdinti dabartinį puslapį, nes tam nėra skirtas „Javascript“ - tai yra spausdinimo darbas dialogo langas. Todėl naršyklės „Javascript“ pateikia tik tuos dalykus, kuriuos „Javascript“ turi žinoti, pvz., Ekrano dydį, laisva vieta naršyklės lange rodyti puslapį ir panašius dalykus, kurie padeda „Javascript“ nustatyti, kaip išdėstytas puslapis. Dabartinis internetinis puslapis yra vienintelis „Javascript“ rūpestis.

Intranetai

Intranetai, be abejo, yra visiškai kitas dalykas. Su intranetu jūs žinote, kad visi patekti į puslapį naudoja konkrečią naršyklę (paprastai naujausią „Internet Explorer“ versiją) ir turi specifinę ekrano skiriamąją gebą ir prieigą prie konkrečių spausdintuvų. Tai reiškia, kad intranete yra prasminga spausdinti tiesiai į spausdintuvą be rodomas spausdinimo dialogo langas, nes tinklalapį rašantis asmuo žino, kuris spausdintuvas jis bus atspausdinta ant.

Taigi „Internet Explorer“ „Java“ pakaitalas (vadinamas JScript) turi šiek tiek daugiau informacijos apie „Javascript“ naršyklę ir operacinę sistemą. Atskiri tinklo kompiuteriai, kuriuose veikia vidinis tinklas, gali būti sukonfigūruoti leisti JScript window.print () komanda rašyti tiesiai į spausdintuvą, nerodant spausdinimo dialogo lango. Ši konfigūracija turėtų būti nustatoma atskirai kiekviename kliento kompiuteryje ir yra žymiai didesnė už „Javascript“ straipsnio taikymo sritį.

Kalbant apie interneto puslapius internete, nėra jokio būdo, kurį galite nustatyti „Javascript“ komanda siųsti tiesiai į numatytąjį spausdintuvą. Jei lankytojai nori tai padaryti, jie turės nustatyti savo „greito spausdinimo“ mygtuką savo naršyklės įrankių juostoje.