poniedziałek, 9 kwietnia 2018

Jak drukować bez sterowników – Windows 10

Bezpośrednią inspiracją do powstania tego artykułu okazał się komentarz do wpisu „Jak drukować bez sterowników?” opublikowany przez użytkownika Reprotechnika dnia 28 marca 2018 roku, w którym stwierdza on, że pod Windows 10 to nie działa.

W poprzednim wpisie pokazałem wprawdzie, że jeśli drukarka obsługiwana jest przez Windows XP, to nadal można drukować bez sterowników, nie tylko z Linuksa, ale również z systemu Windows 10. Co jednak, gdy komputer z fizycznie podłączoną drukarką pracuje pod kontrolą tego ostatniego systemu? Miałem wątpliwości, czy pod Windows 10 da się skonfigurować wirtualną drukarkę postscriptową, tak aby można było w sieci drukować z poziomu innych systemów operacyjnych nawet wówczas, gdy nie obsługują one danego modelu drukarki fizycznej.

Wprawdzie nie miałem potrzeby realizowania takiej konfiguracji na potrzeby mojej sieci domowej (drukarka w dalszym ciągu jest obsługiwana przez komputer z XP), ale problem nie dawał mi spokoju i postanowiłem sprawdzić. Dzisiaj już wiem: da się w systemie Windows 10 skonfigurować wirtualną drukarkę postscriptową i drukować na niej bez sterowników (a właściwie z wykorzystaniem sterownika PostScript, który jest dostępny praktycznie w każdym normalnym systemie), nawet jeśli ten Windows 10 jest 64-bitowy, nawet jeśli chcemy drukować z poziomu tak starego systemu jak Windows 98 czy 95 i nawet wtedy, jeśli fizyczna drukarka jest jakimś najnowszym „wynalazkiem” nieobsługiwanym przez żaden system operacyjny poza Windows 10.

Zanim przejdę dalej chciałbym zaznaczyć, że wpis ten jest uzupełnieniem artykułów „Jak drukować bez sterowników?” oraz „Drukujemy z Linuksa (i innych systemów) na drukarce Windows”. Podane tam informacje są niezbędne do poprawnego skonfigurowania środowiska druku.

Konfigurujemy wirtualną drukarkę PostScript

Potrzebne będą najnowsze wersje następujących programów:
  • Ghostscript
  • GSview
  • RedMon
Komplet linków do pobrania można znaleźć na tej stronie.
Ponadto przyda się aplikacja cmdow.exe, którą umieściłem tutaj. Musiałem go skompresować, bo jak wrzuciłem plik EXE, to po jakimś czasie pliku nie można było pobrać. Gdyby link przestał działać, dajcie znać w komentarzu.

Po pobraniu plików (Ghostscript i GSview w wersji 32-bitowej lub 64-bitowej odpowiednio do systemu) instalujemy je w kolejności, w jakiej zostały wymienione. Niestandardowo przebiega instalacja RedMona: należy „ręcznie” utworzyć katalog, skopiować do niego pliki z archiwum i dopiero w tym katalogu uruchomić setup.exe. Koniecznie trzeba zapamiętać (zapisać) katalogi, w których zostało zainstalowane oprogramowanie. U mnie wygląda to następująco (może się przydać dla ustalenia uwagi:
  • C:\Program Files\gs\gs9.23
  • C:\Program Files\gs\gsview5.0
  • C:\Program Files\gs\redmon
  • C:\Util\cmdow.exe
Teraz tworzymy plik typu BAT niezbędny do komunikacji z drukarką fizyczną. Szczegółowe zasady tworzenia tego pliku podałem w pierwszym z podlinkowanych wpisów. U mnie zawartość tego pliku wygląda następująco (publikuję tylko jako przykład, należy go dostosować do swojego środowiska):

c:\util\cmdow @ /HID
C:\PROGRA~1\gs\gsview5.0\gsview\gsprint.exe -printer "HP DeskJet 840C na AXIS 540+" -color -

Kolejnym krokiem będzie (uwaga: inaczej niż pod XP) utworzenie wirtualnego portu drukarki, który będzie przekierowywał wydruki do naszego pliku wsadowego. Pod Windows 10 musimy wykonać tę czynność z uprawnieniami administratora. Otwieramy zatem okno wiersza poleceń używając funkcji „Uruchom jako administrator” i wprowadzamy polecenie jak niżej:


Spowoduje to otwarcie okna właściwości serwera wydruku z wymaganymi uprawnieniami. Klikamy zakładkę „Porty”, następnie przycisk „Dodaj port”, wybieramy „Redirected Port” (będzie dostępny, jeśli prawidłowo zainstalowaliśmy RedMona), klikamy przycisk „Nowy port...” i ustalamy jego nazwę. Proponuję nie zmieniać domyślnej: „RPT1:”.


Po dodaniu portu klikamy przycisk „Konfiguruj port...” i wpisujemy ścieżkę do utworzonego wcześniej pliku BAT.


Teraz można już skonfigurować naszą wirtualną drukarkę (jak to robić podałem szczegółowo w poprzednim wpisie). W opcjach wybieramy „Dodaj drukarkę lokalną lub sieciową z ustawieniami ręcznymi”, jako port drukarki – utworzony przed chwilą port wirtualny (RPT1:),... 


jako sterownik – jakiś sterownik drukarki postscriptowej dostępny w systemie, u siebie dobre wyniki uzyskałem z HP Color Laseret 4500PS.


Jeszcze jakaś sensowna nazwa drukarki i gotowe.


Jest bardzo ważne, aby po skonfigurowaniu drukarki wykonać wydruk strony testowej i rozwiązać ewentualne problemy.

Kolejnym krokiem będzie udostępnienie naszej wirtualnej drukarki w sieci z wykorzystaniem usług drukowania dla systemów Linux/Unix (LPD/LPR). Jak to zrobić w systemie Windows 10 podałem w poprzednim wpisie (punkt 5).


Drukujemy w sieci

Teraz możemy już zainstalować drukarkę sieciową w docelowym systemie. Jak to zrobić w przypadku Linuksa i Windows 10 (pod XP jest podobnie) opisywałem poprzednio.

Nie byłbym jednak dinozaurem, gdybym nie spróbował drukowania z poziomu Windows 98 i tu pojawia się problem: ten system nie ma wbudowanej obsługi drukarek LPR, nie obejdzie się zatem bez dodatkowego softu. W internecie znalazłem program KPrint, stworzony kiedyś przez firmę Koyocera dla Windows 95/98/NT/2000/XP, w celu umożliwienia obsługi sieciowej produkowanych przez nich profesjonalnych drukarek. Spróbujmy go wykorzystać do naszych celów.

Instalujemy KPrint (w standardowy dla Windows sposób) i w odpowiednim momencie zaznaczamy opcję uruchomienia kreatora portu (można go też uruchomić po zakończeniu instalacji).


Wybieramy drukowanie z użyciem LPR.


Wpisujemy adres IP naszego komputera z Windows 10 i nazwę nadaną wirtualnej drukarce podczas udostępniania (nazwę kolejki LPD).


W systemie zostanie utworzony port drukarki LPR. Proponuję nie zmieniać jego domyślnej nazwy.


Można już przystąpić do konfiguracji drukarki. W kreatorze wybieramy opcję „Drukarka lokalna” (właśnie tak, nie sieciowa) 


i sterownik drukarki postscriptowej. Tu ciekawostka: używany przeze mnie dotychczas sterownik HP Color LaserJet PS (patrz wpis „Jak drukować bez sterowników”) nie chciał „dogadać się” z oprogramowaniem Koyocera. Drukowały się jakieś śmieci i fragmenty komunikatów PostSriptu. Jednakże wybór sterownika Apple LaserWriter 12/640 PS daje poprawne wyniki.


Jako port drukarki wskazujemy wirtualny port LPR utworzony w programie Koyocera.


Jeszcze tylko jakaś nazwa dobrze opisująca naszą drukarkę i…



nie, teraz jeszcze nie powinniśmy drukować strony testowej, ponieważ musimy wyłączyć dwukierunkową obsługę drukarki.


We właściwościach drukarki wybieramy zakładkę „Szczegóły”…


klikamy przycisk „Ustawienia buforowania...”


i zaznaczamy odpowiednią opcję.


Można już spróbować wydrukować stronę testową. Jeśli wszystko działa poprawnie, powinniśmy otrzymać taki wynik:

Tak więc w epoce Windows 10 również da się drukować bez sterowników.

12 komentarzy:

  1. Nie wiedziałem o tym, teraz będzie mi łatwiej bo nie zawsze jest czas żeby szukać sterownika do danej marki i typu drukarki. Szczególnie że używam różnych wielu różnych rodzajów drukarek (laserowe i atramentowe od różnych producentów). A wszędzie szukałem podobnego sposobu! Dzięki :)

    OdpowiedzUsuń
  2. Ehh, dla zwykłego laika chyba i tak łatwiej będzie poszukać tych nieszczęsnych sterowników ;) No, ale poradnik świetny!

    OdpowiedzUsuń
  3. Bardzo dobrze napisany poradnik. Aczkolwiek, to i tak będzie trudne dla osoby, która na co dzień nie zajmuje się pracą przy komputerze. I zdecydowanie łatwiejsze będzie poszukanie sterowników.

    OdpowiedzUsuń
  4. Nie wiedziałem o tym, dzięki. Posiadam kilka laptopów i czasem wkurzało mnie to, że na każdym z nich musiałem instalować sterowniki.

    OdpowiedzUsuń
  5. ha jednak nie taki diabeł straszny

    OdpowiedzUsuń
  6. I to jest doprawdy poradnik świetnie napisany. Dzięki tobie wiem już jak pozbyć się wirusów ze swojego komputera :)

    Pozdrawiam i zapraszam do siebie bardzo serdecznie.

    OdpowiedzUsuń
  7. Właśnie kupiłem urządzenie wielofunkcyjne laserowe i myślałem, że będę musiał szukać sterowników do każdego komputera w domu, a jednak można się obejść bez tego.

    OdpowiedzUsuń
  8. Są teraz sprzęty super jeśli chodzi o jakość.

    OdpowiedzUsuń
  9. Nawet nie wiedziałem że się da coś wydrukować bez sterowników.

    OdpowiedzUsuń
    Odpowiedzi
    1. Tytuł wpisu jest (celowo) trochę przewrotny. Tak naprawdę jakiś sterownik musi być. W tym przypadku korzystam ze sterownika PostScript, który jest dostępny właściwie w każdym systemie operacyjnym. Ale rzeczywiście w ten sposób można ominąć problem braku dedykowanego sterownika do konkretnej drukarki, a o to właśnie chodziło.

      Usuń