Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  2 176
Hei!

Jeg prøver å printe ut et tekstdokument til en Epson thermal printer (type kvitteringprinter).

Jeg ønsker å gjøre følgende:

Skrive tekst og dato til tekst fil og printe ut denne, alt fra en .bat fil. Etter print vil jeg at den skal kutte papiret.

Jeg prøvd følgende løsninger fra command line i Windows 10:

1) write.exe /p test.txt - førte til at den printer ut men den stoppet ikke. Den fortsatte bare å hele "siden", tilsvarende punkt 3)

2) print test2.txt
Unable to initialize device PRN

3) Printe direkte fra wordpad: funker men den printer en hel side, selv om jeg velger "selection only"

4) Printe direkte fra ms word funker, den printer akkurat riktig mengde tekst og kutter papiret, men jeg er nødt til å gjøre det fra command line

5) Printe fra notepad: den printer teksten så fortsetter den å printe blankt, stopper aldri (tror jeg).

Forslag?
Jeg har ikke vært borti i disse printerne selv, men var i det hjelpsomme hjørnet i dag, så jeg har søkt litt. Det ser ut som Epson printeren forventer en ESC/GS kommando for å kutte papiret. Formatet ser slik ut:

Kode

<ESC>@<GS>V\x01"

ESC = 0x1B
GS = 0x1D
Mao så må følgende sendes til printeren for å få den til å kutte papiret (representert som hex verdi):

Kode

0x1B401D5601
Dette kan selvsagt settes sammen med kode, f.eks C++:

Kode

std::string esc = std::to_string(static_cast<char>(0x1B));
std::string gs = std::to_string(static_cast<char>(0x1D));

std::string data = "<Det du vil skrive ut>";

data += "\n"
data += ESC + "@";
data += GS + "V" + static_cast<char>(0x01);

// Send 'data' to printer
Eller så må du få lagt inn denne dataen i txt filen uten å endre den. Kan anbefale deg å lagre utskriften i txt filen, for så å bruke en hex-editor å legge til dataen på slutten.
Trådstarter
2 0
Hei!

Jeg har skjønt det at printeren forventer kommandoer, men har ikke skjønt helt hvordan jeg skal sende de. Jeg kan ikke programmere og tenkte egentlig at det skulle være mulig å sende kommandoer direkte til printeren via windows sin command line, men har ikke klart det enda.

Jeg har nå fått det til med ms word, da den følger windows sine printer instillinger der man kan sette printeren til kutte og feede etter print. (se vedlagt bilde). Notepad og wordpad gjør ikke dette. Wordpad gjøre det forsåvidt, men printer ut hele siden før den kutter, selv om det bare er en linje med tekst.



Så jeg har klart å oppnå det jeg ønsker, men samtidig er det ikke særlig smidig å måtte kjøre printen gjennom ms word hver gang.

Jeg ser for meg følgende:

"lagre tid og dato i fil.txt
print fil.txt
feed litt papir (ca 1-2 cm) i tilelle papirbiten blir for liten
kutt papir
ferdig"

Jeg har også forstått det sånn at man kan bruke en "control font" for å få printeren til å utføre forskjellige kommandoer, som f.eks åpne kassaapparat (ikke relevant for meg). Men kanskje det også er en mulighet. Problemet mitt er at jeg ikke får opp denne fonten slik som beskrevet i manualen.