Resi
Dekri yon resi an JSON (type: "receipt", encoding: "json"). Ajan an transfòme l an ESC/POS pou enprimant lan, kidonk ou pa janm ekri kòmand enprimant. Menm dokiman an enprime sou enprimant 58 mm ak 80 mm tout mak ki sipòte yo.
Egzanp
{
"width": "80mm",
"codepage": "CP858",
"blocks": [
{ "type": "image", "src": "https://example.com/logo.png", "width": 384, "align": "center" },
{ "type": "text", "value": "Boutique Bèl Fanm", "align": "center", "bold": true, "size": 2 },
{ "type": "text", "value": "Pétion-Ville, Haïti", "align": "center" },
{ "type": "line", "style": "dashed" },
{
"type": "table",
"columns": [
{ "width": 0.6, "align": "left" },
{ "width": 0.15, "align": "right" },
{ "width": 0.25, "align": "right" }
],
"rows": [
["Rouj a lèv", "2", "1 500,00"],
["Poud", "1", "900,00"]
]
},
{ "type": "line", "style": "solid" },
{ "type": "pair", "left": "TOTAL", "right": "2 400,00 HTG", "bold": true },
{ "type": "qr", "value": "https://example.com/r/10492", "size": 6, "align": "center" },
{ "type": "barcode", "format": "CODE128", "value": "10492", "height": 60, "hri": "below" },
{ "type": "feed", "lines": 3 },
{ "type": "cut", "mode": "partial" },
{ "type": "drawer" }
]
}
Sa li enprime sou yon enprimant 80 mm (se motè desen ajan an ki fè l; logo ki sou entènèt la parèt tankou yon bwat ki bare nan apèsi yo):
Blòk
| Blòk | Chan |
|---|---|
text | value, align (left, center, right), bold, underline, size 1–8, invert, font (a oswa b) |
line | style: solid, dashed oswa double |
pair | left ak right sou yon sèl liy (bò goch la vin pi kout lè sa nesesè), bold |
table | columns (chak ak width kòm yon fraksyon liy lan, ak align), rows (lis tèks), bold. Selil ki long yo kontinye sou lòt liy. |
qr | value, size (gwosè modil an pwen, 1–16), errorLevel (L, M, Q, H), align |
barcode | format (CODE128, EAN13, EAN8, UPC-A, CODE39, ITF), value, height an pwen, width 1–6, hri (none, above, below, both), align. Chif kontwòl EAN ak UPC yo verifye. |
image | src (yon URL https, oswa PNG/JPEG an base64), width an pwen, align, dithering (floyd-steinberg oswa threshold) |
feed | lines pou fè papye a monte |
cut | mode: full oswa partial |
drawer | louvri tiwa kès la; pin 2 (pa defo) oswa 5 |
raw | data: byte pou enprimant lan an base64 (pòt sekou) |
Yon dokiman gen 2 000 blòk pou pi plis. Chema konplè a se protocol/schemas/receipt-document.json.
Lajè papye ak kantite karaktè pa liy
width se 58mm oswa 80mm; lè li pa la, se papye enprimant lan ki aplike. Kantite karaktè pa liy soti nan pwofil enprimant lan, pa nan dokiman an:
| Papye | Font A | Font B |
|---|---|---|
| 58 mm | 32 | 42 |
| 80 mm | 48 | 64 |
Yon resi 58 mm ak tout kalite blòk:
Yon tikè kizin ak gwo tèks, tèks envèse, font B ak yon tablo ki kontinye sou plizyè liy:
Aksan ak paj kòd
Enprimant tèmik yo pa konprann UTF-8. Ajan an konvèti tèks ou a nan paj kòd enprimant lan: CP437, CP850, CP858 (chwa pa defo pou franse ak kreyòl, ak siy euro a), CP1252, CP866 oswa ISO-8859-15. Karaktè ki pa nan paj kòd la ranplase pa lèt ki pi pre yo (œ → oe), oswa, an dènye rekou, yo enprime san aksan yo.
Mete paj kòd la nan dokiman an (codepage), nan travay la (options.codepage), oswa pou chak enprimant nan konfigirasyon aparèy la (printers.defaults.<printerId>.codepage). Gade Depanaj lè aksan yo pa soti byen.
Imaj
- Ajan an telechaje URL yo (5 segonn ak 2 MB pou pi plis, li kenbe yo 24 èdtan). Base64 ki anndan dokiman an toujou mache, menm san entènèt.
widthan pwen enprimant: 384 pwen se tout lajè yon enprimant 58 mm, 576 pou yon enprimant 80 mm.- Pa defo, imaj yo konvèti an nwa e blan ak dithering Floyd–Steinberg. Sèvi ak
thresholdpou logo ki gen koulè plat.
Konstwi resi nan kòd
SDK navigatè a gen yon konstriktè ki bay menm JSON lan:
const doc = jp
.receipt({ width: "80mm", codepage: "CP858" })
.text("Boutique Bèl Fanm")
.bold()
.center()
.size(2)
.line("dashed")
.pair("TOTAL", "2 400,00 HTG")
.qr("https://example.com/r/10492")
.feed(3)
.cut();
await jp.print({ type: "receipt", data: doc });
Depi yon sèvè, voye JSON lan kòm data ak POST /v1/jobs. Pou verifye yon mizanpaj san enprime, sèvi ak POST /v1/receipt/preview (gade Anviwònman tès).
Opsyon travay pou resi
options.cut (full, partial, none) ak options.openDrawer aplike apre dokiman an. options.copies enprime l plizyè fwa. Valè pa defo pou chak enprimant (paper, codepage, cut) soti nan printers.defaults nan konfigirasyon an.
Sou plan gratis la, resi yo fini ak yon ti liy « Printed with JodaPrint ».