Ale dirèkteman nan kontni an

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):

Resi egzanp lan enprime sou 80 mm

Blòk​

BlòkChan
textvalue, align (left, center, right), bold, underline, size 1–8, invert, font (a oswa b)
linestyle: solid, dashed oswa double
pairleft ak right sou yon sèl liy (bò goch la vin pi kout lè sa nesesè), bold
tablecolumns (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.
qrvalue, size (gwosè modil an pwen, 1–16), errorLevel (L, M, Q, H), align
barcodeformat (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.
imagesrc (yon URL https, oswa PNG/JPEG an base64), width an pwen, align, dithering (floyd-steinberg oswa threshold)
feedlines pou fè papye a monte
cutmode: full oswa partial
drawerlouvri tiwa kès la; pin 2 (pa defo) oswa 5
rawdata: 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:

PapyeFont AFont B
58 mm3242
80 mm4864

Yon resi 58 mm ak tout kalite blòk:

Tout kalite blòk sou 58 mm

Yon tikè kizin ak gwo tèks, tèks envèse, font B ak yon tablo ki kontinye sou plizyè liy:

Yon tikè kizin restoran sou 80 mm

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.
  • width an 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 threshold pou 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 ».