Drukuj bezpośrednio na drukarce za pomocą JavaScript

Jedno zapytanie, które pojawia się często na różnych forach Javascript, pyta, jak wysłać stronę bezpośrednio do drukarki bez uprzedniego wyświetlenia okno dialogowe drukowania.

Zamiast ci to powiedzieć nie da się tego zrobić być może bardziej przydatne byłoby wyjaśnienie, dlaczego taka opcja nie jest możliwa.

Które okno dialogowe drukowania jest wyświetlane, gdy ktoś naciśnie przycisk przycisk drukowania w przeglądarce lub Javascript window.print () sposób działania zależy od systemu operacyjnego i od tego, jakie drukarki są zainstalowane na komputerze.

Ponieważ większość osób korzysta z systemu Windows na swoim komputerze, opiszmy najpierw, jak działa konfiguracja drukowania w tym systemie operacyjnym. Systemy operacyjne * nix i Mac różnią się nieznacznie szczegółami, ale ogólnie są skonfigurowane podobnie.

Drukuj okno dialogowe

Okno dialogowe drukowania w systemie Windows składa się z dwóch części. Pierwszy z nich jest częścią interfejsu API systemu Windows (interfejs programowania aplikacji). Interfejs API to zestaw wspólnych elementów kodu przechowywanych w różnych bibliotekach DLL (

instagram viewer
Biblioteka linków dynamicznych), które są częścią systemu Windows system operacyjny. Każdy program systemu Windows może (i powinien) wywoływać interfejs API w celu wykonywania typowych funkcji, takich jak wyświetlanie okna dialogowego Drukuj, aby to zrobił działają tak samo we wszystkich programach i nie mają różnych opcji w różnych miejscach, tak jak opcja drukowania w programie DOS dni. Print Dialog API zapewnia również wspólny interfejs, umożliwiający wszystkim programom dostęp do tego samego zestawu sterowników drukarek niż producenci drukarek, którzy muszą tworzyć oprogramowanie sterowników dla swoich drukarek dla każdego programu, który chciałby użyć to.

Sterowniki drukarki stanowią drugą połowę okna dialogowego drukowania. Istnieje kilka różnych języków, które różne drukarki rozumieją, których używają do kontrolowania sposobu drukowania strony (np. PCL5 i Postscript). Sterownik drukarki instruuje Print API, jak przetłumaczyć standardowy wewnętrzny format wydruku że system operacyjny rozumie niestandardowy język znaczników określony przez drukarkę rozumie Dostosowuje również opcje wyświetlane w oknie dialogowym Drukuj, aby odzwierciedlić opcje oferowane przez określoną drukarkę.

Obsługa drukarki

Pojedynczy komputer może nie mieć zainstalowanych drukarek, może mieć jedną drukarkę lokalną, może tak być dostęp do kilku drukarek przez sieć, może nawet zostać skonfigurowany do drukowania do formatu PDF lub wydruku w formacie preformatowanym plik. Jeśli zdefiniowano więcej niż jedną „drukarkę”, jedna z nich jest oznaczona jako drukarka domyślna, co oznacza, że ​​to ona wyświetla swoje szczegóły w oknie dialogowym drukowania, gdy pojawia się po raz pierwszy.

System operacyjny śledzi domyślną drukarkę i identyfikuje ją w różnych programach na komputerze. Dzięki temu programy mogą przekazać dodatkowy parametr do interfejsu API drukowania, informując go, aby drukował bezpośrednio na domyślnej drukarce bez uprzedniego wyświetlania okna dialogowego drukowania. Wiele programów ma dwie różne opcje drukowania - pozycję menu, która wyświetla okno dialogowe drukowania oraz przycisk szybkiego drukowania paska narzędzi, który wysyła bezpośrednio do domyślnej drukarki.

Kiedy masz stronę internetową, którą odwiedzający zamierzają wydrukować, nie masz prawie żadnych informacji na temat dostępnych drukarek. Większość drukarek na całym świecie jest skonfigurowana do drukowania na papierze A4, ale nie można zagwarantować, że drukarka jest skonfigurowana na tę wartość domyślną. W jednym kraju w Ameryce Północnej zastosowano niestandardowy rozmiar papieru, który jest krótszy i szerszy niż A4. Większość drukarek jest skonfigurowana do drukowania w trybie pionowym (gdzie węższy kierunek to szerokość, ale niektóre można ustawić na krajobraz, gdzie dłuższy wymiar to szerokość. Oczywiście każda drukarka ma także inne domyślne marginesy u góry, u dołu i po bokach stronę, zanim właściciele wejdą i zmienią wszystkie ustawienia, aby ustawić drukarkę tak, jak oni chcieć.

Biorąc pod uwagę wszystkie te czynniki, nie można stwierdzić, czy domyślna drukarka z domyślną konfiguracją wydrukuje sieć strona na A3 z nieistotnymi marginesami lub na A5 z ogromnymi marginesami (pozostawiając niewiele więcej niż obszar wielkości znaczka pocztowego na środku strona). Prawdopodobnie można założyć, że większość stron będzie miała obszar wydruku na stronie o wymiarach około 16 cm x 25 cm (plus lub minus 80%).

Potrzeby drukowania

Ponieważ drukarki różnią się bardzo między potencjalnymi użytkownikami (czy ktoś wspomniał o drukarkach laserowych, atramentowych, kolorowych lub czarno-białych) tylko, jakość zdjęcia, tryb szkicu i wiele więcej) nie możesz powiedzieć, co trzeba zrobić, aby wydrukować stronę w rozsądnym zakresie format. być może mają osobną drukarkę lub drugi sterownik dla tej samej drukarki, zapewniając zupełnie inne ustawienia specjalnie dla stron internetowych.

Następnie przychodzi kwestia tego, co mogą chcieć wydrukować. Czy chcą całą stronę, czy wybrali tylko część strony, którą chcą wydrukować? Jeśli Twoja witryna korzysta z ramek, czy chcą wydrukować wszystkie ramki w sposób, w jaki pojawiają się na stronie, czy chcą wydrukować każdą ramkę osobno, czy po prostu chcą wydrukować określoną ramkę?

Konieczność odpowiedzi na wszystkie te pytania sprawia, że ​​niemal konieczne jest, aby okno dialogowe drukowania pojawiało się za każdym razem chcą wydrukować coś, aby upewnić się, że wszystkie ustawienia są prawidłowe przed wydrukowaniem przycisk. Większość przeglądarek umożliwia także dodanie przycisku „szybkiego drukowania” do jednego z pasków narzędzi przeglądarki, aby na to zezwolić strona, która ma zostać wydrukowana na domyślnej drukarce przy użyciu domyślnych ustawień przeglądarki co do tego, co ma zostać wydrukowane i w jaki sposób.

JavaScript

Przeglądarki nie udostępniają tak wielu ustawień przeglądarki i drukarki dla Javascript. JavaScript dotyczy przede wszystkim modyfikacji prądu Strona internetowa dlatego przeglądarki internetowe dostarczają minimalne informacje o samej przeglądarce i prawie żadnych informacji o systemie operacyjnym JavaScript ponieważ JavaScript nie musi wiedzieć o tych rzeczach, aby wykonywać te czynności, do których JavaScript jest przeznaczony.

Podstawowe zabezpieczenia mówią, że jeśli coś takiego jak Javascript nie musi wiedzieć o systemie operacyjnym i konfiguracja przeglądarki w celu manipulowania stroną internetową, nie powinna być w to wyposażona Informacja. To nie jest tak, że Javascript powinien mieć możliwość zmiany ustawień drukarki na odpowiednie wartości drukowanie bieżącej strony, ponieważ nie do tego służy Javascript - to jest zadanie drukowania dialog. Przeglądarki udostępniają więc Javascript tylko te rzeczy, które JavaScript musi wiedzieć, takie jak rozmiar ekranu, czyli dostępna przestrzeń w oknie przeglądarki aby wyświetlić stronę i podobne rzeczy, które pomagają JavaScriptowi dowiedzieć się, jak jest ułożona strona. Obecna strona internetowa jest jedyną troską Javascript.

Intranety

Intranety to oczywiście zupełnie inna sprawa. Dzięki intranetowi wiesz, że wszyscy dostęp do strony używa określonej przeglądarki (zwykle najnowszej wersji Internet Explorera) i ma określoną rozdzielczość ekranu oraz dostęp do określonych drukarek. Oznacza to, że intranet ma sens, aby móc drukować bezpośrednio na drukarce bez wyświetlenie okna dialogowego drukowania, ponieważ osoba pisząca stronę internetową wie, która to drukarka nadrukowany na.

Internet Explorer zastępuje Javascript (zwany JScript), dlatego ma nieco więcej informacji na temat przeglądarki i systemu operacyjnego, które robi sam Javascript. Poszczególne komputery w sieci z intranetem mogą być skonfigurowane tak, aby zezwalały na JScript window.print () polecenie napisz bezpośrednio do drukarki bez wyświetlania okna dialogowego drukowania. Ta konfiguracja musiałaby zostać skonfigurowana indywidualnie na każdym komputerze klienckim i wykracza daleko poza zakres artykułu na temat Javascript.

Jeśli chodzi o strony internetowe w Internecie, absolutnie nie ma sposobu, aby skonfigurować Polecenie JavaScript aby wysłać bezpośrednio do domyślnej drukarki. Jeśli odwiedzający chcą to zrobić, będą musieli skonfigurować własny przycisk „szybkiego drukowania” na pasku narzędzi przeglądarki.

instagram story viewer