Vettem egy 58mm-es nyugta nyomtatót, egyelőre csak játékból.
PHP-ben állítok elő tartalmat, majd nyomtatom az oldalt.
Nyomtatáskor @media print css-ben előáll egy text-only oldal, magyar szöveggel.
Persze a magyar ékezetek helyett minden más jelenik meg a nyomtatón.
Hogyan lehet ezen javítani? (Most nem a repülő ékezetekre gondolok)
A nyomtató semmitmondó MPT-II modell, valószínűleg ESC szekvenciákkal konfigurálható.
Arra gondoltam, hogy codepage-t kell rajta váltani és akkor jó lesz.
Dokumentációt egyelőre nem találtam. De ha mégis implementálja a leggyakrabban használt ESC kódokat,
tudok vajon ilyesmit PHP-ben nyomtatási képre kiiratni, ami konfigurálja is a nyomtatót?
Amúgy van a nyomtatónak self-testje, ezen láthatóak magyar karakterek is, meg hogy CP437-es (USA & Standard Europe) kódlapot használ.
Meg ASCII samples-t is ír, abban is vannak magyar karakterek (mind).
DOS-ból emlékezve talán a 852-es volt a magyar?!
Hozzászólások
10.:
https://www.ht-instruments.it/media/filer_public/f0/4e/f04e8540-41bc-46…
Charset amit nyomtatni akarsz?
Köszi,
a modell hasonló, a doksi a parancsokat nem tartalmazza, de így találtam egy programming guide-ot https://www.hprt.com/upload/files/MPTII%20Programming%20Manual_Rev.1.2…
ISO-8859-1 de bármi, ami magyar karaktereket rajzol.
Passz. (Közben olvasom a leírást.)
A készülék amúgy USB(C) és BT képes.
Linuxhoz van git-en egy driver, azzal jól lehet nyomtatni.
A webes kérdésemmel igazából, mobilról megnyitott honlapot nyomtatnék - és a leírtak azt célozzák, BT-n való nyomtatással.
Egyszer volt magyar ékezet, de nem tudom reprodukálni.
Talán van különbség, hogy a html innerHTML és innerText hogyan kerül megadásra JS-ből és a legjobb ha PHP közvetlenül a divekkel együtt echozza a tartalmat.
Létezik valami MPTTool is, amit még nem találtam meg. Talán be lehet állítani egy másik default charsetet.
Próbálj meg UTF szekvenciát kiküldeni rá., az hogy jelenik meg. Ha weblapból akarsz nyomtatni, akkor: <meta http-equiv="Content-Type" content="text/html; charset=IBM437">
Ez ugyan böngésző függő, de kikényszerítheted, hogy jó karakter elkódolást használjon.
Workaround, hogy az oldalból JS-el bitmapet generálsz és azt küldöd ki, már amennyiben a nyomtató tud bitmap módot.
Egyébkét ótvar kotyvasz az egész, mert weboldal -> böngésző -> nyomtatásvezérlő sorrend esetében, sokszor négy karakterkonverzió is van.
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "
Kotyvasz. Az.
De stock tools, minimális a 3rd party cucc, azaz az androidos esc/pos printer driver, vagy a linux ppd.
Windows is látja, mert a MPTTool telepített egy USB-s nyomtató drivert is.
Tudtál rá nyomtatni bármit?
Működik.
Aliexpressen .. találtam egy googledrive repot és benne a kínai MPTTool szoftvert.
virustotal.com -on azért átfuttattam, tiszta.
Ezzel többek között firmwaret is lehet feltölteni.
Char: char, utf8, unicode
charset: rengeteg és iso-8859-1 is van.
Nyomtatási sebesslg pl max 60mm/sec
Mind egy gonbnyomással ráküldhető.
Unicode + iso-8859-1 után már szépen megjelent minden nyomtatásban.
PHPban htmlentities-t használtam, de mindből unicode lesz mire nyomtatásra kerül.
Néztem az alin elég olcsó. 10e huf. Kompatibilis az itthoni töltőanyaggal?
Muszáj neki, de nem próbáltam. A hozzáadott papír vastagabb, mint az itteni bolti.
Hazai töltőanyag 57mm, a papír 3x vékonyabb, mint ami a kínai, Helvetiva font.
Királyul működik.
Android driver ingyenes: https://play.google.com/store/apps/details?id=xp.print.printservice.esc
Tisztán 437-es kódlappal nem próbáltad?
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "
A weblapos nyomtatással kevesbb a szívás így unicode-dal.
437-est skippeltem.
Linuxon https://github.com/DantSu/ESCPOS-ThermalPrinter-Android repot használtam, pl
echo "Hello world" | lp -d PRT80
itt néha belassultak a jobok, papírvége hibával (tekercs !!!).
PRT80 ne tévesszen meg 58mm-es a nyomtató.
A magyar karakterek iso-8859-2-ben vagy DOS-852-ben szoktak lenni. Normális őŐűŰ iso-8859-1-ben nincs.