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.",
"contentFlags": []
}
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:0aleboleft: Text bude zarovnaný vľavo. Toto je predvolená hodnota.1alebocenter: Text bude zarovnaný na stred.2aleboright: 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:ean8ean13code128code39code93
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:0alebonone: Text nebude viditeľný. Toto je predvolená hodnota.1aleboabove: Text bude viditeľný nad čiarovým kódom.2alebobelow: Text bude viditeľný pod čiarovým kódom.3aleboboth: 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 (postlačiareň) sa na tlačiareň preposiela priamo hodnota v bodkách, v prípadepdftlač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 (1a2). Predvolená hodnota je3. Povolené hodnoty:1aleboultraThin: elementy majú šírku 0.141 mm resp. 0.423 mm.2alebothin: elementy majú šírku 0.282 mm resp. 0.706 mm.3alebosemithin: elementy majú šírku 0.423 mm resp. 1.129 mm.4alebonormal: elementy majú šírku 0.564 mm resp. 1.411 mm.5alebosemithick: elementy majú šírku 0.706 mm resp. 1.834 mm.6alebothick: 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:0alebonormal: Pôvodná veľkosť. Toto je predvolená hodnota.1alebodoublewidth: Dvojnásobná šírka.2alebodoubleheight: Dvojnásobná výška.3aleboquadruple: Dvojnásobná šírka aj výška.
alignment: horizontálne zarovnanie loga. Nepovinný parameter. Ak nie je zarovnanie uvedené, použitá je hodnotacenter. Povolené hodnoty:0aleboleft: Text bude zarovnaný vľavo.1alebocenter: Text bude zarovnaný na stred. Toto je predvolená hodnota.2aleboright: 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.alignment: horizontálne zarovnanie textu. Nepovinný parameter. Povolené hodnoty:0aleboleft: Text bude zarovnaný vľavo. Toto je predvolená hodnota.1alebocenter: Text bude zarovnaný na stred.2aleboright: Text bude zarovnaný vpravo.
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>