2012-06-17 2 views
0

Мне нужно отправить последовательность управляющих кодов (десятичных чисел 27, 112, 0, 25 и 250) на принтер USB «Принтер Epson TM» с использованием Powershell.Отправить коды управления принтером с помощью Powershell

Я хотел бы поместить управляющие коды в десятичное число в текстовом файле. например keys.txt.

Содержание keys.txt

27 
112 
0 
25 
250 

Что это самый простой способ, чтобы послать управляющие коды к принтеру USB? Я думаю, нужно ли мне создать принтер «Общий/только текст», указывающий на тот же USB-порт, а затем использовать Out-Printer «Generic/Text only» для отправки управляющих кодов.

Я попытался

gc keys.txt | out-printer "Generic/Text only" 

, но результат был не то, что я хотел. Буду признателен за любую оказанную помощь.

Благодаря

+0

Вы должны быть 'в состоянии открыть поток к port' принтера и написать ваши команды. –

ответ

0

Вы должны быть в состоянии open a stream to the printer port и написать ваши команды

что-то вроде this вы можете достичь в C#. Просто позвоните или преобразовать это в PowerShell, как описано здесь - http://msdn.microsoft.com/en-us/gg981616

System.IO.StreamWriter sr = new System.IO.StreamWriter(@"\\.\LPT1"); 
sr.Write(0x1b); 
sr.Write('k'); 
sr.Write('1'); 
sr.Write("Hello"); // print in Sans Serif 
sr.WriteLine(); 
sr.Flush(); 
sr.Close(); 
+0

Но «писатель» начинается с «w» :). – Shibumi

+0

Это не работает. У меня есть ошибка: FileStream не откроет устройства Win32, такие как дисковые разделы и ленточные накопители. Избегайте использования «\\. \» В пути. – Trurl

+0

Может быть, вы можете google по этой конкретной ошибке и попробовать по-другому. –

0
$s = [char]0x1B +[char]0x70 + [char]0x00 + [char]0x19 + [char]0xFA 
Out-Printer -Name <yourprinter> $s 
+0

Спасибо, Дэвид. Я обнаружил, что если я прочитаю коды из файла, мне нужно замаскировать их с помощью [char] [byte]. Однако я просто нашел другую проблему. Если я посылаю управляющие коды на принтер с помощью команды Out-Printer, есть дополнительные символы (0a, 20, 30, 33 и т. Д.), Отправленные с моими собственными кодами на принтер. Я думал, что в драйвере принтера может быть что-то настраиваемое, но я не смог найти его. Драйвер Generic/Text был настолько прост ... Я не знаю, что пошло не так. –

+0

Я только что нашел прошивку драйвера принтера, которая решила проблему! Драйвер Windows Generic/Text Only не очень хорош в прохождении через .... –