Tokeny a formátovanie textu
Niektoré premenné okrem bežného textu podporujú aj vkladanie blokov, ktoré sú v závislosti od typu bloku dynamicky nahrádzané.
Ide napríklad o:
- dodatočný popis položky dokladu (
receiptitem.description
) - hlavičku dokladu (
receipt.headerText
) - pätu dokladu (
receipt.footerText
) - nefiskálny doklad
Takýto blok ďalej označujeme ako token
.
Zoznam podporovaných tokenov
Identifikátor | Názov | Popis |
---|---|---|
text |
Formátovanie textu | Umožňuje formátovač text a horizontálne ho zarovnávať |
barcode |
čiarový kód | |
logo |
Grafické logo | Nie je podporované v PDF tlačiarni. |
qr |
QR kód | |
pageBreak |
zlom strany | V prípade papierového dokladu ide o spustenie nožníc. V prípade PDF alebo e-dokladu nastáva zlom strany a obsaho dokumentu pokračuje na novej strane. |
Príklad použitia
Pri používaní čiarových kódov, QR kódov alebo zlomov strany cez HTTP WEB API, je nutné bloky uvádzať v definovanej štruktúre.
POST /api/v1/printers/print
{
"text": "Toto je nefiskálny doklad.
\u001apagebreak\u001a
Tento text sa nachadza za zlomom strany."
}
Syntax tokenu
Warning
V príkladoch nižšie sú pre lepšiu čitateľnosť použité nasledovné symboly, ktoré je potrebné v reálnom kóde nahradiť:
<LF>
- nahraďte znakom s ASCII hodnotou0x0A
<CR>
- nahraďte znakom s ASCII hodnotou0x0D
<SUB>
- nahraďte znakom s ASCII hodnotou0x1A
<RS>
- nahraďte znakom s ASCII hodnotou0x1E
<US>
- nahraďte znakom s ASCII hodnotou0x1F
Token je párovo (na začiatku aj na konci) ohraničený symbolom <SUB>
.
Napríklad: <SUB> ... <SUB>
Obsah tokenu pozostáva z
- povinného identifikátora
- voliteľného zoznamu parametrov
Každý parameter pozostáva z kľúča a nepovinnej hodnoty.
Pred každým parametrom je umiestnený oddeľovač - symbol <RS>
.
Kľúč a hodnota parametra je oddelená symbolom <US>
.
Príklad: <SUB>identifikator<RS>kluc1<US>hodnota1<RS>kluc2<US>hodnota2<SUB>
text
Token
Slúži pre vytlačenie formátovaného textu.
Poznámka: Text je tlačený vo forme separátneho riadku (alebo viacero riadkov) - enter je pridávaný automaticky. Nie je teda potrebné uvádzať symboly \r\n
pre nový riadok.
Parametre:
content
: obsah textu. Povinný parameter.alignment
: horizontálne zarovnanie textu. Nepovinný parameter. Povolené hodnoty:0
aleboleft
: Text bude zarovnaný vľavo. Toto je predvolená hodnota.1
alebocenter
: Text bude zarovnaný na stred.2
aleboright
: Text bude zarovnaný vpravo.
format
: formátovanie textu. Nepovinný parameter. Hodnoty je možné kombinovať pomocou matematického operátora|
(operáciaOR
). Povolené hodnoty:0
: Bez formátovania. Toto je predvolená hodnota.1
: Hrubé písmo.2
: Podčiarknuté písmo.4
: Dvojitá šírka.8
: Dvojitá výška.16
: Invertovaná tlač (výmena farby textu a pozadia).
Príklad: <SUB>text<RS>content<US>This text is bold and underlined.<RS>format<US>3<RS>alignment<US>center<SUB>
barcode
Token
Slúži pre vytlačenie čiarového kódu.
Parametre:
type
: typ čiarového kódu. Povinný parameter. Povolené hodnoty:ean8
ean13
code128
code39
code93
content
: obsah čiarového kódu. Povinný parameter. Pri kóde typu EAN8 je očakávaných 7 až 8 číslic, pri EAN13 12 až 13 číslic.hriPosition
: Pozícia čitateľného textu. Nepovinný parameter, ktorý je podporovaný iba v tlačiarni papierových dokladov (pos
). Povolené hodnoty:0
alebonone
: Text nebude viditeľný. Toto je predvolená hodnota.1
aleboabove
: Text bude viditeľný nad čiarovým kódom.2
alebobelow
: Text bude viditeľný pod čiarovým kódom.3
aleboboth
: Text bude viditeľný nad aj pod čiarovým kódom.
height
: Vertikálna výška čiarového kódu, vyjadrená v bodkách (dots). Nepovinný parameter. V prípade papierového dokladu (pos
tlačiareň) sa na tlačiareň preposiela priamo hodnota v bodkách, v prípadepdf
tlačiarne sa hodnota preráta na body (points, 1 point = 1/72 inch). Konverzia z bodiek je určená v pomere 203 dpi (dots per inch). Predvolená hodnota: 60 bodov (ekvivalent ~ 7.5 mm).elementWidth
: Horizontálna šírka elementu čiarového kódu. Nepovinný paremeter, ktorý je podporovaný iba v tlačiarni papierových dokladov (pos
). Čím nižšie číslo, tým viac znakov sa zmestí do čiarového kódu. Staršie modely tlačiarní nemusia podporovať najnižšie hodnoty (1
a2
). Predvolená hodnota je3
. Povolené hodnoty:1
aleboultraThin
: elementy majú šírku 0.141 mm resp. 0.423 mm.2
alebothin
: elementy majú šírku 0.282 mm resp. 0.706 mm.3
alebosemithin
: elementy majú šírku 0.423 mm resp. 1.129 mm.4
alebonormal
: elementy majú šírku 0.564 mm resp. 1.411 mm.5
alebosemithick
: elementy majú šírku 0.706 mm resp. 1.834 mm.6
alebothick
: elementy majú šírku 0.847 mm resp. 2.258 mm.
Príklad: <SUB>barcode<RS>content<US>1234567<RS>type<US>ean8<SUB>
logo
Token
Slúži pre vytlačenie loga uloženého v pamäti tlačiarne.
Warning
logo
token je momentálne podporovaný iba pri tlačiarni papierových dokladov - pos
.
Parametre:
address
: číslo adresy, na ktorej je logo v tlačiarni uložené. Nepovinný parameter. Ak nie je adresa uvedená, použitá je hodnota1
.size
: veľkosť loga. Nepovinný parameter. Ak nie je veľkosť uvedená, použitá je hodnotanormal
. Povolené hodnoty:0
alebonormal
: Pôvodná veľkosť. Toto je predvolená hodnota.1
alebodoublewidth
: Dvojnásobná šírka.2
alebodoubleheight
: Dvojnásobná výška.3
aleboquadruple
: Dvojnásobná šírka aj výška.
alignment
: horizontálne zarovnanie loga. Nepovinný parameter. Ak nie je zarovnanie uvedené, použitá je hodnotacenter
. Povolené hodnoty:0
aleboleft
: Text bude zarovnaný vľavo.1
alebocenter
: Text bude zarovnaný na stred. Toto je predvolená hodnota.2
aleboright
: Text bude zarovnaný vpravo.
Príklad: <SUB>logo<RS>address<US>1<RS>size<US>quadruple<RS>alignment<US>center<SUB>
qr
Token
Slúži pre vytlačenie QR kódu
Parametre:
content
: obsah QR kódu.
Príklad: <SUB>qr<RS>content<US>https://www.ninedigit.sk<SUB>
pageBreak
Token
Vytvorí zlom strany.
V prípade elektronického (PDF) dokladu pokračuje obsah dokladu na novom liste. V prípade papierového dokladu je príkaz vyhodnotený spustením nožníc tlačiarne.
Warning
Token pageBreak
je možné použiť iba na konci dokladu, alebo v rámci nefiskálneho dokladu.
V opačnom prípade je ignorovaný (napríklad v popise položky alebo v hlavičke dokladu).
Parametre:
Tento token neobsahuje žiadne parametre.
Príklad: <SUB>pagebreak<SUB>