php weblap @media print -> 58 mm thermal printer -> magyar abc

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

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. "

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.

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ó.