mój ojciec nadal używa bardzo starej aplikacji DOS i jestem odpowiedzialny za uruchomienie jej na nowszych systemach. W tej chwili mam problem, który chcę wydrukować, ale program obsługuje tylko bezpośrednie drukowanie na LPT1-3.
Zainstalowałem DosBOX SVN (ykhwong, zgodnie z zaleceniami tutaj ) i skorzystałem z tego przewodnika, aby połączyć LPT1 z moją lokalną drukarką USB .
W tej chwili mogę drukować z aplikacji DOS (pojawia się normalne okno dialogowe drukarki w systemie Windows), ale wydruk jest chaosem. Powinien wydrukować tylko jedną stronę, ale drukuje wiele stron ze wszystkimi literami, takimi jak:
R
e
c
e
i
p
t
Plik konfiguracyjny dla ykhwongs DosBOX zawiera opcje takie jak:
dpi=360
width=85
height=110
Do wydruku, ale nie mam pojęcia, co robią.
Czy ktoś napotkał coś podobnego lub zna inne podejście do rozwiązania mojego problemu? Ważne jest, aby działało automatycznie, więc drukowanie do pliku, a następnie drukowanie na USB nie jest możliwe.
dir > lpt1
przekierowaniem katalogu do LPT1. Czy próbowałeś tego lub czegoś podobnego, aby upewnić się, że nie jest to sama aplikacja, a nie problem z DosBox-to-hostOS? Wiele razy aplikacje DOS próbowały poradzić sobie z danymi wyjściowymi w formacie RAW, więc może być tak, że dodatkowe EOL pochodzi z rutyny drukowania. Sprawdź także ustawienia portu drukarek dla trybu RAW lub spróbuj wydrukować do pliku.Odpowiedzi:
Musisz oszukać aplikację, myśląc, że jest port LPT1
Przed uruchomieniem starego typu aplikacji DOS:
wykorzystanie netto lpt1: \\ 127.0.0.1 \ printer / Persistenst: Tak
Uruchom starą aplikację DOS
Spowoduje to przekierowanie portu LPT1 do udziału i wydrukowanie na drukarce USB. Możesz to zrobić w skrypcie przed uruchomieniem aplikacji.
źródło