Esc/pos #484522


#0 by Curiosa
Доброго вам дня! Возникла проблема с печатью на термопринтере. Как осуществить вывод, т.е каким способом подать pos команду на com порт?
#1 by ДенисЧ
Открыть файл COM1: и писать туда?
#2 by sergeante
эммм... copy /B file.txt com1: нихт?
#3 by Curiosa
ТОгда на печать выйдет содержимое файла, сама команда не выполнится. Вот пример из мануала:
#4 by ДенисЧ
Кто тебе мешает послать в порт chr$(&h1b) ?
#5 by smaharbA
<nul set /p ?>com1:
#6 by Curiosa
Насколько я понял это некая переменная char, где ее значение задать? Посылаю - выпечатывается chr$(&h1b). <nul set /p ?>com1: - отказано в доступе.
#7 by sergeante
тебе бинарный файл посылать надо. А файл сформировать чем-нибудь необходимо естесственно.
#8 by Иду
я в winhex-се, файлик/и создал - сохранил, файлик в термопринтер copy делаю (он нечитабелен но все отрабатывает нормально. Через вбс, чтобы окошки не прыгали Const OverwriteExisting = True Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") objFSO.CopyFile "C:Termoinit" , "com1" а в init - содержится: @ M1 первая строка это и есть h1b
#9 by Иду
winhex - это программа такая. Универсальный кекс-редактор.
#10 by Curiosa
> Const OverwriteExisting = True.... Это на чем написано ? winhex?
#11 by Curiosa
т.е в winhex-e
#12 by Curiosa
Проблема не в выводе текста, нужно распечатать изображение.
#13 by smaharbA
кстати фсо может само писать в сом
#14 by smaharbA
изображение готовое или сформировать в графике ескейпами ?
#15 by Curiosa
Что значит оформлять в графике ескейпами?
#16 by smaharbA
как в примере из
#17 by Curiosa
Мне одно не понять, это где-то компилировать надо, или просто какой-то командой выдать бинарник на печать?
#18 by Иду
Оно то да, но этой писанине уже лет шесть, а работает=не трожь. Это ты Epson OPOS командами логотип решил вставить? Есть и приблуды по преобразованию битмапов, но оно такое кривое оттеда выходить (псевдографика), что и пробовать не надо. Ничего "компилировать" не надо качаешь чото типа набираеш свои буквоцифры, файл-сохранить как AllFiles и copy то что получилось в com порт. Всё.
#19 by Иду
Не помню я, для чего Const OverwriteExisting = True может для реализации печати в com-порт, "одновременно", с нескольких компов чото было... а может просто пива перепил.
#20 by Иду
+ это текстовое содержимое файла (к примеру) inittermo.vbs по расширению, он обрабатывается vbs сервером практически любой вынь машинки. На w98-й (помнится) какие-то замороки были.
#21 by Curiosa
По описанию принтер должен печатать штрих код, наверное он способен и на графику.Есть идеи?  Качество уже второй вопрос. Я имел в виду куда прописывать: Const OverwriteExisting = True Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") objFSO.CopyFile "C:Termoinit" , "com1" Почему записывать файлы нужно через winhex?
#22 by sergeante
Const OverwriteExisting = True Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") objFSO.CopyFile "C:Termoinit" , "com1" Это пишется в текстовый файл с расширением .vbs Он нужен только для вывода содержимого C:Termoinit на ком-порт Можно просто в командной строке выполнить "copy /B C:Termoinit com1:" А вот сам двоичный файл C:Termoinit надо создать - "набить" инфой которую будешь отсылать принтеру. Те самые &h1b и подобное.
#23 by Curiosa
Попробовал все вышеперечисленное, возникла проблема: принтер печатает последнюю строку документа в следующей печати, с чем это может быть связяно?
#24 by Иду
Пустую строку с Энтером ему запуливай после печати. Это можно в блокноте соорудить. Поймет.
#25 by Curiosa
Вот что к принтеру прилогается относитьельно штрихкода. Barcode control commands Select barcode height Format? ASCII        ? GS   h      n         Metrication  : 29   104    n         Hexadecimal  : 1D   68     n   Notes?n specifies the number of dots in the vertical direction?n is 162. Print barcode         Format? ASCII      ? GS    k        m     n     d1…..dk        Metrication ? 29   107      m     n     d1…..dk        Hexadecimal ? 1D   6B            m     n       d1…..dk       Notes?    m=69        CODE39    ?<=n<=255 n indicates the number of barcode bytes. d1 … dk indicates barcode bytes. Это как можно использовать для его печати?
#26 by Гость из Мариуполя
просто тупо писать из 1С в текстовый файлик в ДОС-кодировке что-то типа (возьмем пример из : Текст.КодоваяСтраница; Текст.ДобавитьСтроку(Симв+"@"); // инициализация Текст.ДобавитьСтроку(Симв+"a"+Симв); // центрировать позицию Текст.ДобавитьСтроку(Симв+"!"+Симв); // выбрать шрифт A Текст.ДобавитьСтроку("Январь 14, 2002  15:00"); Текст.ДобавитьСтроку(Симв+"d"+Симв); // прогнать три строчки Текст.ДобавитьСтроку(Симв+"a"+Симв); // прижать влево Текст.ДобавитьСтроку(Симв+"!"+Симв); // выбрать шрифт B и т.д. а потом этот файлик запульнуть согласно в ДОС-кодировке, напомню.
#27 by Curiosa
Как это писать из 1С?
#28 by Гость из Мариуполя
как, как... пальчиками по клавиатуре. открой синтаксис-помощник и прочитай про "Текст".
#29 by Гость из Мариуполя
ну или ЖКК, глава - "Работа с текстом".
#30 by Curiosa
Не очень тебя понимаю, дай ссылку пжл
#31 by Гость из Мариуполя
в тебе сказали - файлик нужно набить инфой. в тебе показали, как можно набить его инфой. блин, первоначальный вопрос о чем был - как выдать ESC последовательность или как работать с текстовыми файлами? ; ;
#32 by Curiosa
Угу, первоночально  они и до сих пор вопрос как выдать ESC последовательность, если конкретнее через что ее написать.
#33 by mr_fix
В текстовом редакторе набираешь жмешь Alt и набираешь на цифровой клавиатуре  27 (код клавиши Esc) и все необходимые получается &#8592; - и все необходимые управляющие коды с кодом до 32  таким же макаром через Alt &#8592;M &#8592;H &#8592;@ а дальше как в Alt 10 -возврат каретки Alt 13 - перевод строки &#9689; &#9834;
#34 by mr_fix
+ сорри, &#8592 и аналогичное символами заменились управляющие коды при отправке сообщения на форум :)
#35 by Ковычки
это уже не смешно - через адинес к примеру
#36 by sergeante
Это уже не смешно, думалка то на что? Онторнет не только для того, чтобы вопросы задавать, но и для поиска информации. Тебе дали практически полное решение вопроса. Мелкие мелочи своим межушным нервным узлом мог бы додумать. А ты грузишь народ .
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С