Drukowanie z programów DOS na Windows 11 – vDos, DOSBox-X, Printfil, DOSprn, drukarki USB

Pytanie

Jak drukować z programu dos na windows 11

Odpowiedź Sztucznej Inteligencji


Bezpośrednia odpowiedź na pytanie

  • Najpewniejszym sposobem drukowania z aplikacji DOS w Windows 11 (64 bit) jest uruchomienie programu DOS w emulatorze (np. vDos lub DOSBox-X) albo użycie dedykowanego „przechwytującego” oprogramowania (np. Printfil / DOSprn), które przekieruje dane wysyłane na wirtualny port LPT do dowolnej drukarki widzianej przez Windows.
  • Kluczowe kroki: zainstaluj emulator → zamontuj katalog z aplikacją DOS → włącz wirtualny port LPT → przekieruj wydruk do drukarki lub pliku PDF.

Szczegółowa analiza problemu

  1. Architektura i ograniczenia
    • Windows 11 64-bit nie posiada już NTVDM, więc nie uruchamia natywnie 16-bitowych programów DOS ani nie wystawia fizycznych portów LPT/COM.
    • Nowoczesne drukarki (USB, Wi-Fi, GDI) nie rozumieją sekwencji ESC/P lub PCL wysyłanych bezpośrednio przez stare programy.
    • Konieczne jest więc „pośrednictwo” – emulator lub oprogramowanie przechwytujące strumień drukowania.

  2. Metody i ich praktyczna implementacja

    a) vDos (najprostsze, bezpłatne do zastosowań prywatnych)

    1. Pobierz z www.vdos.info i zainstaluj.
    2. Utwórz folder, np. C:\DOS\APP i skopiuj tam program.
    3. W pliku autoexec.txt dodaj:
      USE C: C:\DOS\APP
      C:
    4. Domyślnie vDos przechwytuje LPT1 → wysyła na domyślną drukarkę Windows lub tworzy PDF (konfig. w config.txt: LPT1 = PDF).
    5. W programie DOS ustaw drukarkę na LPT1 i wydrukuj – zadanie pojawi się w buforze Windows lub w katalogu vDos jako PDF.

    b) DOSBox-X (open-source, większa kontrola nad sprzętem)
    • Sekcje konfig.:

         [parallel]
         parallel1 = printer
         [printer]
         printer = true
         dpi      = 300
         multipage= false
         output   = printer

    • Wydruk kierowany na LPT1 trafia do sterownika Windows, ewentualnie do pliku .PNG/.PS.
    • Przy aplikacjach graficznych (np. AutoCAD R10) umożliwia przechwycenie grafiki wektorowej PostScript.

    c) Oprogramowanie przechwytujące (Printfil, DOSprn, DOSPrinter)
    • Instalowane w systemie hosta — nie wymaga emulacji całego DOS-a.
    • Monitoruje porty LPT/COM lub wskazany folder z plikami .PRN/.TXT.
    • Obsługuje dowolną drukarkę Windows, w tym „Microsoft Print to PDF”.
    • Printfil 5.28 deklaruje pełne wsparcie Windows 11/Server 2022.

    d) NTVDMx64 + dospr (dla entuzjastów; wymaga modyfikacji Secure Boot)
    • Port NTVDM przeniesiony do 64-bit; niekiedy działa w 22H2/24H2, ale jest wrażliwy na aktualizacje systemu.
    • Drukowanie obsługiwane skryptem dospr, który tłumaczy ESC/P lub PCL na GDI.
    • Rozwiązanie niestabilne – odradzane w środowiskach produkcyjnych.

    e) Maszyna wirtualna (VirtualBox/VMware + Windows XP 32-bit)
    • Daje pełne NTVDM i realne LPT1 w warstwie gościa.
    • W hostcie instalujesz sterownik „Port LPT passthrough” lub udostępniasz drukarkę sieciowo i w VM mapujesz:

         net use lpt1: \\HOST\DRUKARKA

    • Metoda zasobo- i licencjochłonna, ale czasem jedyna dla bardzo specyficznego oprogramowania.

  3. Obsługa polskich znaków
    • DOS używa strony kodowej 852; po przechwyceniu może być konieczne konwertowanie na Windows-1250 lub UTF-8.
    • vDos posiada opcję CODEPAGE = 852 oraz mapowanie diakrytyków do Unicode.

  4. Diagnostyka
    • Test portu w emulatorze: echo TEST> LPT1.
    • W Windows sprawdź kolejkę wydruku (control printers → kolejka).
    • Jeśli wydruk jest pusty → prawdopodobnie drukarka jest GDI i wymaga Printfil/DOSprn.


Aktualne informacje i trendy

  • Wersje Windows 11 24H2 dalej nie przywracają NTVDM; trend → pełna rezygnacja z 16-bit.
  • Drukarki coraz częściej oferują tylko protokoły IPP/AirPrint; brak trybu RAW-PJL/ESC/P świadczy o konieczności tłumaczenia strumieni DOS-owych.
  • Oprogramowanie Printfil/DOSprn aktualizowane (2024) – wsparcie PDF/A, zabezpieczonego drukowania, konteneryzacji (Docker Desktop).
  • Coraz popularniejsze jest przenoszenie starych aplikacji do SaaS lub pisanie mikro-serwisów konwertujących wyjście DOS → PDF → wydruk sieciowy (CUPS/IPP).

Wspierające wyjaśnienia i detale

  • LPT (Line Printer Terminal) – 8-bitowa magistrala równoległa; w DOS występowała pod adresami 0x378, 0x278.
  • GDI-printer – drukarka, która przyjmuje bitmapę z Windows, nie rozumie kodów ESC/P ani PCL.
  • emulator vs. „print capture”
    • Emulator (vDos/DOSBox-X): pełne środowisko DOS, lepsza kompatybilność z aplikacją.
    • Print-capture (Printfil/DOSprn): działa na programie DOS uruchomionym przez emulator lub 32-bit CMD.

Aspekty etyczne i prawne

  • Licencje: vDos darmowy w zastosowaniach prywatnych; Printfil jest shareware (licencja per stanowisko).
  • Bezpieczeństwo: NTVDMx64 wymaga wyłączenia/obejścia Secure Boot – może naruszać polityki IT.
  • Ochrona danych: przechwytywane wydruki mogą zawierać dane wrażliwe; zalecane szyfrowanie dysków tymczasowych i prawidłowe czyszczenie folderu spool.

Praktyczne wskazówki

  1. Zacznij od vDos – w 90 % przypadków działa „out-of-the-box”.
  2. Jeżeli potrzebujesz drukowania graficznego (np. faktury z logo) → DOSBox-X z outputem PostScript lub Printfil.
  3. Koniecznie zrób kopię zapasową plików programu i ustawień przed migracją.
  4. Po pomyślnym wydruku zapisz procedurę w dokumentacji działu IT (kroki instalacji, wersje narzędzi).

Ewentualne zastrzeżenia lub uwagi dodatkowe

  • Aplikacje DOS wymagające portu COM (np. drukarki szeregowe) – w emulatorach trzeba skonfigurować [serial] i mapować na wirtualny port COMx→USB.
  • Drukarki fiskalne: często posiadają własne sterowniki Windows, przez co przechwytywanie LPT może nie wystarczyć.
  • NTVDMx64 po każdej dużej aktualizacji Windows może przestać działać – wymaga ciągłej pielęgnacji.

Sugestie dalszych badań

  • Analiza automatycznej konwersji strumienia DOS → PDF/A zgodnego z archiwizacją e-faktur.
  • Konteneryzacja środowiska DOS (Docker + FreeDOS + vDos) dla łatwego przenoszenia pomiędzy stanowiskami.
  • Migracja kodu źródłowego aplikacji DOS do nowoczesnych języków (QB64, FreePascal).

Krótkie podsumowanie

Drukowanie z programu DOS na Windows 11 wymaga obejścia braku NTVDM i portów LPT. Najpraktyczniejsze rozwiązanie to:

  1. uruchomienie aplikacji DOS w emulatorze (vDos lub DOSBox-X) z wirtualnym LPT → wydruk trafia do sterownika Windows lub PDF,
  2. lub zainstalowanie programu przechwytującego (Printfil/DOSprn), który konwertuje strumień LPT do dowolnej drukarki.

Dzięki tym narzędziom możesz bezpiecznie kontynuować korzystanie ze starych aplikacji, z zachowaniem pełnej kompatybilności z drukarkami USB, sieciowymi i wirtualnymi Windows 11.

Oceń odpowiedź:

Zadaj dodatkowe pytanie Sztucznej Inteligencji

Czekaj (1min)...
Zastrzeżenie: Odpowiedzi udzielone przez sztuczną inteligencję (model językowy) mogą być niedokładne i wprowadzające w błąd. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi powinny być zweryfikowane przez użytkownika.