2016-04-18 10 views
0

ich versuche, nach jeder Zeile zu schneiden Papier in VB6 hier sind der CodePOS-Drucker Cutter Schneiden auf falscher Stelle

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 

es einen Zeilendruck nach dann das Papier geschnitten werden sollte, sondern es beginnt Papier von der Schneid top

kann mir irgendjemand dabei helfen?

update: im Grunde, was ich will, ist kleine Tags zu machen, wo Datum und Rechnung darauf geschrieben und maximal 1 cm lang.

Antwort

0

Sie führen einen Teilschnitt (ESC m) innerhalb Ihrer Schleife nach jeder zu druckenden Zeile durch. Ich glaube, Sie wahrscheinlich diese Zeile entfernen möchten:

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

Nach der Schleife Sie dann einen Feed-and-Cut (teilweise geschnitten) Betrieb (GS V 66 0) durchführen, nachdem die Schleife abgeschlossen ist. Ich denke, dass Sie diese Linie wahrscheinlich beibehalten möchten, um den Schnitt auszuführen, nachdem Sie gedruckt haben.

+0

danke für die Antwort ich benutze (ESC m), weil ich Teilschnitt mit (GS V 66 0) brauche, wird eine große Lücke geben. – mortypk

+0

im Grunde, was ich will, ist kleine Tags zu machen, wo Datum und Rechnung darauf geschrieben und maximal 1 cm lang. – mortypk

+0

Die Metriken variieren je nach Druckermodell, aber 'ESC m' schneidet an der aktuellen Rollenposition - im Allgemeinen müssen Sie vor dem Schneiden einige Zeilen hochfahren oder Sie schneiden 'zu früh'. Das ist genau das, was "GS V 66 0" tun soll - es führt das Papier so ein, dass alle laufenden Druckvorgänge vor dem Schneiden erledigt sind. Sie könnten versuchen, zusätzliche Leerzeilen vor dem Schneiden zu drucken. Beachten Sie jedoch, dass bei Verwendung eines anderen Druckerherstellers/Modells möglicherweise nicht die gleichen Ergebnisse erzielt werden. – MarkL