Tisk ve Windows z DOSové aplikace: Porovnání verzí

Z Milan Kerslager
Přejít na: navigace, hledání
m (Řešené problémy: fix)
m (Připojení lokální USB tiskárny: fix)
Řádka 50: Řádka 50:
 
  net use lpt1: \\127.0.0.1\nazevsharetiskarny /persistent:yes
 
  net use lpt1: \\127.0.0.1\nazevsharetiskarny /persistent:yes
  
V případě, že je aktivní UAC, je nutné spustit příkaz pomocí <code>runas</code> (nebo spustit příkazový řádek jako správce, viz výše):
+
V případě, že je aktuální uživatel není správce, spusťte výše uvedený příkaz pomocí <code>runas</code> (nebo z uživatele udělejte správce ve správě uživatelských účtů):
  
 
  runas /user:administrator "net use lpt1: \\127.0.0.1\nazevsharetiskarny /persistent:yes"
 
  runas /user:administrator "net use lpt1: \\127.0.0.1\nazevsharetiskarny /persistent:yes"

Verze z 18. 4. 2013, 18:47

Tisk z DOSové aplikace v systémech Windows 2000 (a novějších Windows XP, Windows Vista, Windows 7) funguje bez nastavování pouze v případě, že je tiskárna připojena přímo na paralelní port. V případě, že je používána USB tiskárna nebo síťová tiskárna, je nutné zajistit náhradní řešení.

Tisk v DOSu

Aplikace v DOSu při tisku posílají data pomocí volání dosové služby přímo do tiskárny připojené přes paralelní port. Aplikace pro paralelní port používá symbolická jména (LPT1, LPT2 atd., PRN je mapováno na LPT1). Tiskárna je buď přepnuta do textového režimu a přijímá ASCII kódy znaků, které má vytisknout, nebo je v grafickém režimu, kdy jsou přijímaná data interpretována jako bitmapa obrázku, který má být tiskárnou vykreslen (po řádcích). Díky průchodu dat skrze službu DOSu je možné tok dat přesměrovat například do souboru, v prostředí Windows pak i na síťovou tiskárnu (kterou neobsluhuje sám DOS, ale systém Windows), k čemuž se využívá příkaz net use.

Zhruba od roku 2000 jsou však prodávány tiskárny, které se připojují přes USB, což je vlastně sériový port. Systém DOS je bohužel starší a nepočítá s tiskárnou připojenou sériovým portem, a tak mají v současné době uživatelé problém, pokud mají tiskárnu připojenou přes USB port. V takovém případě však existuje jednoduché řešení, které je založeno na přepojení paralelního DOS portu (PRN, LPT1, LPT2 apod.) na sdílenou síťovou tiskárnu (ať už lokálně připojenou nebo nebo připojenou k jinému počítači).

V případě, že je vaše tiskárna připojena na paralelní port a používáte Windows 95 nebo Windows 98, lze nastavit „zachytávání portu“ přímo v grafickém dialogu nastavení vlastností tiskárny. Ve Windows 2000, Windows XP nebo novějších je pak možné využít stejného postupu, jaký je uveden v tomto textu.

Nasdílení USB tiskárny

Pro oba případy tisku na USB tiskárnu z DOSu je nutné tuto USB tiskárnu ve Windows nejprve nasdílet, tj. zpřístupnit ji pro tisk z jiných počítačů. Sdílení se nastavuje v počítači, ke kterému je USB tiskárna připojena.

Ve Windows 7 (pro Windows XP je postup obdobný) otevřete okno s tiskárnami (Start → Zařízení a tiskárny). Připojená a zapnutá USB tiskárna by zde ve skupině Tiskárny a faxy měla být zobrazena. Je-li šedivá, je odpojena (zkontrolujte USB kabel a připojení tiskárny do sítě). Ujistěte se, že je na počítači, ke kterému je tiskárna připojena, možné normálně tisknout. Můžete například zkusit vytisknout zkušební stránku: klikněte na USB tiskárnu pravým tlačítkem, v kontextovém menu zvolte Vlastnosti tiskárny a na úvodní záložce Obecné stiskněte Tisk zkušební stránky (viz obrázek). Ve stejném okně (Vlastnosti tiskárny) zvolte záložku Sdílení a zde zaškrtněte volbu Sdílet tuto tiskárnu (viz obrázek).

Obsah políčka Název sdílené složky přepište tak, aby v něm nebyly mezery. Zvolený název v políčku Název sdílené složky si zapamatujte (v tomto textu je použit zástupný text „nazevsharetiskarny“, tj. u vás místo něj použijete například „lj1300“). Tento zvolený název bude dále potřeba jako parametr příkazu net use (viz níže).

Připojení USB tiskárny v DOSu

Pozor: USB tiskárnu z DOSu je nutné tuto USB tiskárnu ve Windows nejprve nasdílet (viz předchozí kapitola).

Pro DOSové aplikace se nastavuje přesměrování příslušného DOS portu (PRN, LPT1 apod.) globálně pro celý počítač (resp. pro právě přihlášeného uživatele) pomocí příkazu net use, který spustíme v okně příkazového řádku (nastavení je globální, takže ovlivní všechny spouštěné DOSové aplikace). Pro zjištění aktuálního nastavení spusťte okno příkazového řádku v menu Start → Všechny programy → Příslušenství → Příkazový řádek. POZOR: v systémech Windows Vista, Windows 7 a Windows 8 s aktivním UAC je nutné spustit Příkazový řádek jako správce (klikněte na ikonu Příkazový řádek pravým tlačítkem a vyberte Spustit jako správce).

V okně příkazového řádku zadejte příkaz net use, který nejprve zobrazí, že nic není připojeno, jako je vidět v následujícím příkladu:

C:\Users\Uživatel>net use
Nová připojení budou zapamatována.

V seznamu nejsou žádné položky.

Zobrazení sdílených prostředků

Nejprve si (pro jistotu) vypište všechny sdílené prostředky ve vašem počítači příkazem net view \\127.0.0.1, jak je naznačeno v následujícím příkladu. Mezi nimi MUSÍ být uvedena tiskárna (resp. její název), který jste si nastavili (viz obrázek 2 výše), jinak nepůjde v dalším kroku připojit příkazem net use.

C:\Users\Uživatel>net view \\127.0.0.1
Sdílené prostředky na \\127.0.0.1
Název sdílené položky Typ Použito jako Komentář
-------------------------------------------------------------------------------
nazevsharetiskarny Tisk Canon MP260 series Printer
Users Disk
Příkaz byl úspěšně dokončen.

Ve výše uvedeném výpisu je vidět, že je skutečně sdílena tiskárna pod názvem „nazevsharetiskarny“, který bude použit dále (vy zde uvidíte název, který jste si vyplnili do políčka podle obrázku 2).

Připojení lokální USB tiskárny

Aby data, která DOSová aplikace odesílá při tisku do portu tiskárny PRN, LPT1 apod., byla přesměrována do zvolené nasdílené lokálně připojené USB tiskárny, jejíž sdílený název je „nazevsharetiskarny“ (váš konkrétní sdílený název je zřejmě jiný podle návodu v textu výše), zadejte v okně příkazového řádku:

net use lpt1: \\127.0.0.1\nazevsharetiskarny /persistent:yes

V případě, že je aktuální uživatel není správce, spusťte výše uvedený příkaz pomocí runas (nebo z uživatele udělejte správce ve správě uživatelských účtů):

runas /user:administrator "net use lpt1: \\127.0.0.1\nazevsharetiskarny /persistent:yes"

Připojení vzdálené USB tiskárny

Aby data, která DOSová aplikace odesílá při tisku do portu tiskárny PRN, LPT1 apod., byla přesměrována do zvolené USB tiskárny, která je připojena ke vzdálenému počítači s názvem „nazevserveru“ a jejíž sdílený název je „nazevsharetiskarny“ (váš konkrétní sdílený název je zřejmě jiný podle návodu v textu výše), zadejte v okně příkazového řádku:

V okně příkazového řádku zadejte:

net use lpt1: \\nazevserveru\nazevsharetiskarny /persistent:yes

Odpojení tiskárny

Odstranění propojení LPT1: se síťovou tiskárnou:

net use lpt1: /delete

Řešené problémy

Došlo k systémové chybě 5

Obr. 11 Okno pro vypnutí UAC (Řízení uživatelských účtů, anglicky User Acces Control).

Pokud příkaz net use lpt1: \\127.0.0.1\nazev skončí chybou „Došlo k systémové chybě 5“, je nutné spustit příkazové okno jako správce (tj. nestačí, aby byl uživatel členem skupiny správců, tj. skupiny Administrators). V menu Start → Všechny programy → Příslušenství → Příkazový řádek klikněte na ikonu Příkazový řádek pravým tlačítkem a vyberte Spustit jako správce.

Ve Windows Vista a novějších (tj. Windows 7, Windows 8 apod.) nestačí spustit příkaz jako správce, ale je nutné deaktivovat UAC (User Acces Control). Klikněte na tlačítko Start a do vyhledávací kolonky napište zkratku UAC. Ve výsledcích klikněte na „Změnit nastavení Řízení uživatelských účtů", kde přesuňte posuvník úplně dolů (pozice Nikdy neupozorňovat), viz obrázek 11.

Došlo k systémové chybě 66

Pokud příkaz net use lpt1: \\127.0.0.1\nazev skončí chybou „Došlo k systémové chybě 66“, není ve vašem systému Microsoft Windows nainstalována podpora sítě. Proto nelze tiskárnu nasdílet a tím pádem pak ani připojit příkazem net use. Zapomněli jste tedy projít nastavení podle kapitoly Nasdílení USB tiskárny. Pokud nastavení podle této kapitoly (viz výše) provedete, systém vám v okně vlastností tiskárny (viz obrázek 2) po přepnutí na kartu Sdílení nabídne doinstalování potřebné podpory sítě.

Přístup na port LPT1 v DOSu odepřen

Obr. 12: Nastavení tisku přes tiskovou frontu.

Pokud je při tisku z DOSu hlášena chyba „Přístup odepřen“ (Permission denied), je nutné změnit nastavení portu tiskárny tak, aby tisk neprobíhal přímo na port, ale skrze tiskovou frontu Windows. V menu Start → Tiskárny a faxy → kliknout pravým tlačítkem na tiskárnu → Vlastnosti → záložka Upřesnit → Řadit dokumenty do fronty (viz obrázek 12).

Tisk se zdaří, ale tiskárna netiskne

Obr. 13: Nastavení implicitního datového typu na TEXT.

Tisk z DOSové aplikace proběhne, ale tiskárna nic nevytiskne. V tiskové frontě je možné na chvíli vidět, jak tam „problikne“ odeslaná tisková úloha. V takovém případě je nutné změnit nastavení tiskového procesoru ve vlastnostech tiskárny tak, aby implicitním formátem byl typ tisku TEXT (a ne RAW, při kterém tiskárna požadavkům na tisk v podobě ASCII kódů nerozumí). V menu Start → Tiskárny a faxy → kliknout pravým tlačítkem na tiskárnu → Vlastnosti → záložka Upřesnit → Tiskový procesor → vlevo ve sloupci Tiskový procesor vybrat použitou tiskárnu → vpravo ve sloupci Výchozí datový typ nastavit TEXT (viz obrázek 13).

Externí odkazy