Próbowałem programowo podawać papier na drukarce pos (Epson TM-U220D). Problem polega na tym, że ostatnia linia dokumentu nie jest drukowana, zamiast tego jest drukowana jako pierwsza linia następnego drukowanego dokumentu. Próbowałem POS dla .NET wysyłając polecenie "ESC | flF", również próbował wysłać surowe polecenie esc/pos za pomocą portu szeregowego, ale to nie działa. Jakieś pomysły?Posuw papieru na drukarce POS C#
Odpowiedz
Jeśli drukarka jest na LPT1, wyłożyć do DOS i dać CMD.EXE lub COMMAND.COM cokolwiek odpowiednik C# jest tego podstawowego wyrażenia:
"ECHO " & Chr(12) & ">LPT1"
Albo to, albo dołączyć Chr (12) do tekstu wyjściowego.
Będziesz potrzebować wcześniej lub później pełnej wersji ESC/POS Application Programming Guide
. Dostałem kopię od mojego sprzedawcy EPSON kilka lat temu. W międzyczasie, mam z Google znalazłem link do FAQ for ESC/POS
tutaj: http://postechgroup.com/updata/support/drivers/EPSON/FAQ_ESCPOS.pdf
w Twoim przypadku, LF
kontroli komenda dane w buforze drukowania i zasila jedną linię w oparciu o bieżący odstępy między wierszami.
ASCII: LF
Hex: 0A
Decimal: 10
jako impuls mówi, trzeba uzyskać form-feed/FF/ASCII 12 do portu drukarki. W C lub C++, jeśli otworzyła swoją drukarkę jako plik, to byłoby
fprintf(printerfile,"%c",12);
Kwestia czasami powstaje na tych drukarkach, że bufor wyjściowy nie jest faktycznie przetwarzanych/zaczerwieniona aż do powrotu karetki jest napisane. Możesz również ręcznie przepłukać strumień. Więc można następnie używać
fprintf(printerfile,"%c%c",12,13);
fflush(printerfile);
Łatwym gubi podczas wyprowadzania do urządzeń takich jak drukarki szeregowej jest to, że komunikacja i drukowanie stało asynchronicznie do głównego aplikacji. Dlatego ważne jest, aby nie zamykać portu drukarki zaraz po zakończeniu drukowania, ponieważ może to spowodować utratę lub uszkodzenie ostatecznego bufora wyjściowego.
(Niestety jest to C zamiast .NET, jestem jednym z tych C++ weteranów, który nie podszedł)
Edit: Czytanie alexandruls komentarzy na temat mojego postu, I MY dobrze mam to źle. Wygląda na to, że otrzymujesz niechciany kanał do formularza, ponieważ ustawiłeś niepoprawnie długość strony lub wartość domyślna jest niepoprawna. Sprawdź grupę poleceń Epsona, aby to pokonać.
Proszę przeczytać najczęściej zadawane pytania dotyczące ESC/POS, prawidłowe polecenie to Line Feed (hex 0A, dziesiętnie 10). – alexandrul
Widzę twój punkt, alexandrul. Wziąłem oryginalny plakat z prośbą o podanie formularza, podczas gdy on mówi "pasza". – bugmagnet
Czy wycinasz papier? W przypadku cięcia papieru położenie obcinarki jest wyższe niż głowicy drukującej. Musisz więc podać liczbę linii, zanim zostanie wysłane polecenie wycięcia. Powinieneś być w stanie sformatować łańcuch z powiedzmy 5 liniami (LF -> Chr (10)), wysłać je, a następnie wysłać polecenie cięcia.
W dossoucji EScPOS znajduje się polecenie GS V, które podaje i przecina papier we właściwym miejscu.
W takim przypadku w paragonie brakuje więcej niż jednego wiersza, ponieważ pozostawienie 4 pustych wierszy przed ostatnią linią jest bardzo nietypowe. – alexandrul
W dossoucji Epson EScPOS znajduje się polecenie GS V, które podaje i wycina papier we właściwym miejscu. – JDibble
Masz rację, ale oryginalne pytanie nie zawierało spacji między ostatnią linią paragonu a treścią następnego paragonu. Również model TM-U220D nie ma przecinaka. – alexandrul
- 1. Drukowanie niestandardowego rozmiaru papieru na drukarce udarowej w trybie WPF
- 2. wydrukuj txt na domyślnej drukarce za pomocą C#
- 3. System POS z Pos dla .NET
- 4. .NET znajdź podajnik papieru o rozmiarze
- 5. Drukowanie pliku na drukarce w języku Ruby
- 6. Drukowanie rzeczy w szynach (dosłownie na drukarce)
- 7. Jak wydrukować raporty Jaspera na określonej drukarce?
- 8. POS tagowanie w Scala
- 9. NLTK tagger POS nie działa
- 10. POS tagging using spaCy
- 11. Dynamiczna wysokość papieru z .NET PrintDocument
- 12. Drukowanie na drukarce USB za pomocą Pythona na komputerze Mac
- 13. Zmiana orientacji papieru Window.print()
- 14. Oślepianie papieru lateksowego
- 15. Integracja Openbravo z java Pos
- 16. Składanie arkusza papieru (Computer Vision)
- 17. Identyfikacja prepositons i indywidualnych POS
- 18. LOOP w iMacros (TAG POS)
- 19. Drukowanie w języku Java bezpośrednio na drukarce sieciowej Postscript
- 20. Drukowanie na drukarce etykiet ze strony internetowej/aplikacji internetowej?
- 21. Pierwsze prawdziwe użytkownika, który dokument wydrukowany na drukarce IPP
- 22. Wydrukuj do pliku XPS, a następnie wydrukuj go na drukarce.
- 23. Drukowanie kodów kreskowych ze strony internetowej na drukarce Zebra
- 24. Ustawianie rozmiaru papieru w FPDF
- 25. Spinacz do papieru/pasażera NotIdentifiedByImageMagickError:
- 26. Spinacz papieru nie zapisuje załącznika
- 27. bezpłatny Real-Time konwersji Wymiana walut posuw xml url
- 28. Polimer Uzyskaj wartość wejściową papieru
- 29. Drukowanie PHP na lokalnej drukarce termicznej, nie działa bez nazwy sieciowej
- 30. Druk papieru rolkowego TVS RP-45
Zrobiłem też, ale teraz zdaję sobie sprawę, że oznacza Point Of Sale. –
Możesz pobrać specyfikację serii TM-T88III, która zawiera niektóre polecenia ESC/POS. http://www.jarltech.com/ger_new/new/support/cd/TM-T88III_spc_e.pdf – stukelly