Ostatnio musiałem się zmierzyć z problemem zastąpienia drukarki igłowej drukarką laserową. Niestety firma używa archaicznego DOSowego programu zrobionego na zamówienie. Co prawda drukarka jaką kupili miała własny procesor druku i teoretycznie obsługiwała emulację EPSONa, jednak w praktyce obsługa emulacji sprowadzała się do odfiltrowywania kodów sterujących, a wydruki z programu używały druku zagęszczonego (ale nie na całej stronie). Oczywiście nie muszę wspominać, że polskie znaki były kodowane w standardzie Mazovii.
Tyle tytułem wstępu, teraz do rzeczy:
W systemie trzeba zainstalować drukarkę "Generic / Text Only", przypisać ją do nowo utworzonego "Portu lokalnego" o nazwie "c:\spool.dat" i udostępnić jako TXTPRN (nazwa w zasadzie dowolna ale tego się będę trzymał w przykładzie).
Następnie trzeba tę drukarkę zamapować pod port LPT1 (albo jakiś inny LPTx). Dokonujemy tego z poziomu wiersza poleceń wydając następującą komendę (musi być aktywne jakiekolwiek połączenie sieciowe):
Ostatni krok to pobranie i skopiowanie do jakiegoś folderu na dysku mojego programu DOSprint i dodanie skrótu do tego programu do autostartu. Program wyświetla jedynie ikonę w zasobniku systemowym, przy pierwszym uruchomieniu trzeba wybrać drukarkę.
Program wymaga prawa do zapisu na dysku c: oraz zainstalowanego środowiska uruchomieniowego .NET w wersji 2.0. Obsługuje podstawowe formatowanie (druk zagęszczony i powiększony) oraz kod końca strony. Dokonuje też konwersji kodowania polskich liter z Mazovii na UTF-8.
Alternatywnie można użyć jednego z poniższych programów Shareware, mają one o wiele bardziej rozbudowaną obsługę formatowania tekstu:
Nix-Ware.com DOS printer emulator (59,00zł)
DOSprn (49,21zł)
@SwIt Printfil (79,00€)
DOS2USB (19,99$)
Jest też darmowy WinPrint (po zgłoszeniu uwag autorowi działa nawet lepiej niż mój ale podobnie jak w moim druk zagęszczony jest realizowany jako regularny, tylko mniejszą czcionką):
WinPrint
Zamiast mapowania portu LPT1 przez net use możliwe jest użycie programów rezydentnych DOSu przechwytujących odwołania do portu LPT1 i przekierowujące je do pliku, jak np. prn2file (prn2fil3.zip).
Poniżej wydruk tej samej strony do PDF przy pomocy kolejno DOSprint, WinPrint, DOSprn, DOS Printer (czcionka użyta do renderowania strony to Lucida Console):
***
Zamieściłem poprawioną wersję programu DOSprint.
Tyle tytułem wstępu, teraz do rzeczy:
W systemie trzeba zainstalować drukarkę "Generic / Text Only", przypisać ją do nowo utworzonego "Portu lokalnego" o nazwie "c:\spool.dat" i udostępnić jako TXTPRN (nazwa w zasadzie dowolna ale tego się będę trzymał w przykładzie).
Następnie trzeba tę drukarkę zamapować pod port LPT1 (albo jakiś inny LPTx). Dokonujemy tego z poziomu wiersza poleceń wydając następującą komendę (musi być aktywne jakiekolwiek połączenie sieciowe):
net use LPT1 \\127.0.0.1\TXTPRN /persistent:yes
Ostatni krok to pobranie i skopiowanie do jakiegoś folderu na dysku mojego programu DOSprint i dodanie skrótu do tego programu do autostartu. Program wyświetla jedynie ikonę w zasobniku systemowym, przy pierwszym uruchomieniu trzeba wybrać drukarkę.
Program wymaga prawa do zapisu na dysku c: oraz zainstalowanego środowiska uruchomieniowego .NET w wersji 2.0. Obsługuje podstawowe formatowanie (druk zagęszczony i powiększony) oraz kod końca strony. Dokonuje też konwersji kodowania polskich liter z Mazovii na UTF-8.
Alternatywnie można użyć jednego z poniższych programów Shareware, mają one o wiele bardziej rozbudowaną obsługę formatowania tekstu:
Nix-Ware.com DOS printer emulator (59,00zł)
DOSprn (49,21zł)
@SwIt Printfil (79,00€)
DOS2USB (19,99$)
Jest też darmowy WinPrint (po zgłoszeniu uwag autorowi działa nawet lepiej niż mój ale podobnie jak w moim druk zagęszczony jest realizowany jako regularny, tylko mniejszą czcionką):
WinPrint
Zamiast mapowania portu LPT1 przez net use możliwe jest użycie programów rezydentnych DOSu przechwytujących odwołania do portu LPT1 i przekierowujące je do pliku, jak np. prn2file (prn2fil3.zip).
Poniżej wydruk tej samej strony do PDF przy pomocy kolejno DOSprint, WinPrint, DOSprn, DOS Printer (czcionka użyta do renderowania strony to Lucida Console):




***
Zamieściłem poprawioną wersję programu DOSprint.