2016-04-18 17 views
0

я пытаюсь Отрежьте бумагу после каждой строки в VB6 здесь кодPOS Резак Принтер для резки на неправильном месте

Open "LPT1" For Output As #1 
Print #1, Chr$(&H1B); "@"; 'Initializes the printer (ESC @) 
Print #1, Chr$(&H1B); "d"; Chr$(0); 'Prints and line feeding (ESC d) 
Print #1, Chr$(&H1B); "!"; Chr$(17); 'Selects double-height mode 
For a = 1 To 5 
Print #1, "14-January Invoice 01000"; Chr$(&HA); 'Prints and line feed 
Print #1, Chr$(&H1B); "m"; Chr$(&HA); 'Cut Paper 
Next 
Print #1, Chr$(&H1D); "V"; Chr$(66); Chr$(0); 
Close #1 

следует печатать линию после того, как разрезают бумагу, но она начала резки бумаги из наверх

Любой орган может мне помочь в этом?

обновление: в основном то, что я хочу, состоит в том, чтобы сделать небольшие теги, на которых записана дата и счет, и тег max 1 см длиной.

ответ

0

Выполняется частичный разрез (ESC m) внутри вашей петли после каждой строки, которую вы печатаете. Я думаю, что вы, вероятно, хотите, чтобы удалить эту строку:

Print #1, Chr$(&H1B); "m"; Chr$(&HA); 'Cut Paper 

После цикла, вы затем выполнить операцию подачи, и вырежьте (частичный разрез) (GS V 66 0) после того, как цикл завершается. Я думаю, вы, вероятно, захотите, чтобы эта строка выполняла разрез после того, как вы напечатали.

+0

спасибо за ответ, я использую (ESC m), потому что мне нужно частично разрезать (GS V 66 0), даст большой пробел. – mortypk

+0

В основном то, что я хочу, - это сделать небольшие теги, на которых написана дата и счет, и тег max 1 см длиной. – mortypk

+0

Показатели различаются в зависимости от модели принтера, но «ESC m» будет сокращаться в текущем положении ролика - как правило, перед резкой вы должны подпитывать некоторое количество строк, или вы слишком быстро разрезаете ». Именно это означает «GS V 66 0» - он подает бумагу так, чтобы всякая текущая печать поднималась и не срабатывала перед резкой. Вы можете попробовать распечатать дополнительные пустые строки перед резкой, но имейте в виду, что если используется другой поставщик/модель принтера, вы можете не получить одинаковые результаты. – MarkL