Printen - inrichten templates



Inhoudsopgave



Voordat via de printwizard afgedrukt kan worden dient eerst één of meerdere print templates gedefinieerd te zijn. Er zijn geen default templates aanwezig zodat men direct kan afdrukken via Beeyond. Rede hiervoor is dat iedere inrichting in Beeyond uniek is, en daarnaast heeft iedere klant zijn eigen wensen wat betreft hetgeen er afgedrukt moet kunnen worden. Een printactie wordt altijd vanuit een bepaalde entiteit gestart. Dat betekent dat de entiteit in feite al vast ligt en in het template niet aangegeven hoeft te worden. Wel dienen de attributen en de opmaak van de attributen gedefinieerd te worden waarbij in het template rekening gehouden dient te worden met het attribuuttype (bijvoorbeeld een tekenreeks-, nummer- of barcodeveld). Daarnaast dient ook het bestand settings.byd geconfigureerd te worden. Hierin is o.a. beschreven welke printer gebruikt wordt per template. Dit is hier beschreven.

Allereerst is een gedeelte van een printtemplate weergegeven, met een korte toelichtichting. Vervolgens is uitgebreidt beschreven welke mogelijkheden de inrichting in het XML bestand biedt. Daarna volgen nog enkele aantal aandachtspunten waarmee rekening gehouden moet worden in het XML bestand, en daarna volgen een aantal voorbeelden gegeven van template bestanden. Als laatste is nog beschreven op welke manier gecontroleerd kan worden of de opbouw van het template aan de eisen voldoet.

1. Single of switch template

Bij het inrichten van een print template kan onderscheidt worden gemaakt tussen 2 typen templates, het single- en het switch template:

  1. Single template: het template bestand gedraagt zich altijd op dezelfde manier voor alle entiteiten welke afgedrukt worden.

  2. Switch template: afhankelijk van de waarde  in een bepaald veld in Beeyond (switch waarde) wordt het template bestand verschillend gebruikt. In één template bestand zijn dus in feite meerdere templates aanwezig. Enkele voorbeelden:

    • Een voorbeeld van een switch waarde kan het veld 'Artikelgroep' zijn. Bij de artikelgroep Computer kan dan een ander template worden gebruikt als bij de artikelgroep Telefonie. Afhankelijk van deze switch waarde is het ook mogelijk dat verschillende printers worden gebruikt.

    • Een ander voorbeeld van een switch waarde kan het veld 'Label' zijn welke aanwezig is in de entiteit 'Artikel'. In dit veld label kiest men per entiteit welk label gebruikt dient te worden. Bij het geven van de printactie wordt dan bij elke entiteit gekeken naar dit veld, en afhankelijk van dit veld wordt een bepaald label gebruikt.

  • Elk attribuuttype kan potentieel als switch-waarde gebruikt worden. De vraag is echter of het logisch is om bijvoorbeeld een tekenreeks (string) veld als switchwaarde te gebruiken. De waarde in Beeyond dient namelijk exact overeen te komen met de waarde in het template. Indien hier een verschil in zit wordt er niets afgedrukt. Het meest logische is dat een veld van het type relatie of groep gebruikt wordt aangezien dit vaste waarden betreffen welke niet continu wijzigen.

  •  

2. Grootte van het label / etiket 

Boven in het template geeft men aan of het template een single of switch template betreft. Daarnaast geeft men ook de lengte en breedte van het sjabloon op. Dit kan in zowel millimeter als centimeter worden ingegeven. Dit ziet er als volgt uit:

                <width unit="CENTIMETER">8</width>                

<height unit="CENTIMETER">12</height>



3. Component type 

In het XML bestand dient men bij elk component/attribuut te kiezen voor een bepaald component type. Per component type is een aantal afwijkende instellingen mogelijk. Het component type bepaald hoe de gegevens uiteindelijk worden afgedrukt. In onderstaande tabel zijn deze component typen weergegeven, samen met de specifieke eigenschappen die daarbij gelden.

Component type

Toelichting

Eigenschappen

 Toelichting eigenschap

Component type

Toelichting

Eigenschappen

 Toelichting eigenschap

barcode 

Voor het afdrukken van barcodes. 

barcodeFormat

Geef hier het type barcode in dat gebruikt wordt. Dit staat dus verder los van het barcodeformaat in Beeyond. Het is mogelijk om slechts één waarde te kiezen. De mogelijke barcode formaten zijn: CODABAR, CODE_39, CODE_128, DATA_MATRIX, EAN_8, EAN_13, ITF, PDF_417, QR_CODE, UPC_A, UPC_E, POSTNET, FOUR_STATE.

hri (human readable interface)

Hiermee kan bepaald worden waat de daadwerkelijke code (het getal) wordt afgedrukt ten opzichte van de streepjescode. De mogelijke waarden zijn: NONE, TOP, BOTTOM, BOTH.

image

Voor het afdrukken van afbeeldingen.

 aspectRatio

De mogelijke waarden zijn: KEEP_ORIGINAL en STRETCH. Keep original behoudt de originele verhoudingen. Bij stretch wordt de afbeelding uitgerekt naar de ingestelde afmetingen.  

numericLabel   

Voor het afdrukken van getallen.    

decimalSeperator

Selecteer het decimaalscheidingsteken. De mogelijke waarden zijn DOT, COMMA en NONE.

thousandSeperator

Selecteer het scheidingsteken voor duizendtallen. De mogelijke waarden zijn DOT, COMMA en NONE. 

amountOfDecimals

Selecteer het aantal decimalen.

roundingMode

Selecteer de gewenste afrondmethode. De mogelijke waarden zijn: HALF_EVEN, CEILING, DOWN, FLOOR, HALF_DOWN, HALF_UP, UP. Klik hier voor meer informatie betreffende de verschillende afrondmethoden.

stringLabel

Voor het afdrukken van tekst.  

Dit type kan ook gebruikt worden om om de afdruk bijvoorbeeld "Artikelnr:" als vaste tekst weer te geven.

contentType

De mogelijke waarden zijn: HTML en PLAIN. PLAIN is platte tekst. HTML is bedoeld voor HTML velden in Beeyond waarmee het mogelijk is velden van opmaak te voorzien. HTML wordt op de afdruk als een soort image weergegeven. Dat houdt in dat indien voor HTML gekozen wordt het kan zijn dat de tekst iets minder mooi weergegeven wordt als bij platte tekst.

dateLabel

Voor het afdrukken van een datum.

dateFormat

Het formaat van het datumveld kan hiermee op de afdruk worden bepaald. Diverse voorbeelden zijn hier beschreven. 



4. Ondersteuning attribuuttypes

In onderstaande tabel is per attribuuttype aangegeven of dit ondersteund wordt in de printmodule. 

Attribuut type

Ondersteund

Te gebruiken component type

Toelichting

Attribuut type

Ondersteund

Te gebruiken component type

Toelichting

Automatisch ophogend

Ja

numericLabel

Gebruik numericLabel in plaats van stringLabel aangezien anders decimalen zichtbaar zijn. Kies bij numericLabel bij de eigenschap amountOfDecimals voor 0.

Barcode

Ja

barcode, numericLabel

Afhankelijk van de keuze van het componenttype in het template wordt de daadwerkelijke streepjescode weergegeven, of het nummer van de barcode.

Binary Large Object 

Ja

image



Blob collection

Nee

stringLabel

Dit wordt niet ondersteund, wel is het mogelijk de bestandsnamen af te drukken. Gebruik in dat geval het component type stringLabel.

Boolean

Ja

stringLabel

True of False wordt afgedrukt.

Berekening

Ja



numericLabel



Datum

Ja

dateLabel

In het template kan men het datumformaat meegeven zoals gewenst. Dit kan afwijken van het formaat zoals dit in Beeyond zichtbaar is. Klik hier voor enkele voorbeelden van datumformaten.

Externe bron

Ja

stringLabel

De foto kan niet afgedrukt worden. Alleen de string kan afgedrukt worden. 

Gecombineerde tekenreeks

Ja

stringLabel



Geheel getal (integer)

Ja

numericLabel, barcode

Het is mogelijk om een getal op een afdruk als barcode weer te geven. Het is dus geen vereiste dat het betreffende veld in Beeyond ook een barcode-veld is.

Groep

Ja



stringLabel



HTML

Ja

stringLabel

Kies voor het contenttype HTML.

IBAN

Ja

stringLabel



Kleur

Nee

stringLabel

Indien voor stringLabel gekozen wordt zal de interne kleurwaarde worden afgedrukt, en dus niet de hashwaarde bij de kleur zoals in beeyond te zien is.

Memo

Ja



stringLabel

Let op dat bij een string label, content type PLAIN altijd alles op 1 regel wordt afgedrukt. Indien in een memo-veld in Beeyond meerdere regels staan zal dit bij het printen allemaal op één regel worden afgedrukt. Indien voor contenttype HTML wordt gekozen worden wel meerdere regels afgedrukt.

Nummer

Ja

numericLabel



Relatie

Ja

stringLabel

Zowel een 1-1 als een 1-n (één op veel) relatie worden ondersteund. Bij een 1-n relatie worden de gegevens achter alkaar afgedrukt, gescheiden door een komma.

Geef in dit geval de attribuutnaam in zoals deze bestaat in de entiteit van waaruit geprint wordt.

Een voorbeeld is: ITEM_COLOR

In dit geval zal het attribuut uit color opgehaald moeten worden, in dit geval zou ITEM_COLOR.COLOR_NAME de naam van de kleur ophalen.

Samengestelde sleutel

Ja



stringLabel



Tekenreeks (string)

Ja

stringLabel



Valuta

Ja

numericLabel

Dit wordt afgedrukt zonder de valutacode.

Video

Nee

stringLabel

Door te kiezen voor een stringLabel kan de naam van de video worden afgedrukt.



5. Opmaak lettertype, lettergrootte, stijl en uitlijning

Bij elk componenttype is het mogelijk om het lettertype, de lettergrootte en de stijl te bepalen. Qua lettertype kan ieder gewenst lettertype geselecteerd worden. Wel is het zo dat dit lettertype aanwezig dient te zijn op de client van degene die afdrukt vanuit Beeyond. Is het geselecteerde lettertype niet aanwezig dan zal het lettertype 'Arial' gebruikt worden. Met de lettergrootte kan men bepalen hoe groot het font afgedrukt wordt, en met de stijl kan men aangeven of het normaal, dikgedrukt, schuin of dik en schuin afgedrukt moet worden. Achtereenvolgens kan men bij font type kiezen uit Normal, Bold, Italic en BoldItalic.

Per component kan daarnaast de horizontale en verticale uitlijning bepaald worden. In het gedefinieerde veld kiest men de grootte van het component, en afhankelijk van deze grootte wordt dus uitgelijnd. De grootte van het component wordt in de volgende paragraaf behandeld.

Bij de horizontale uitlijning (horizontalAlignment) bepaalt men de uitlijning op de horizontale as. Daarbij kan men kiezen tussen LEFT, CENTER en RIGHT.

Bij de verticale uitlijning (verticalAlignment) wordt de uitlijning op de verticale as bepaald. De keuzes zijn TOP, CENTER en BOTTOM.



6. Bepalen positie en grootte van een component

In het template dient ook de breedte, hoogte en de positie op horizontale (x) as en de verticale (y) as bepaald te worden. De breedte, hoogte en positie kan ingegeven worden in PIXELS, POINTS, MILLIMETER, CENTIMETER, INCH en PERCENTAGE. In de voorbeelden in deze paragraaf en ook de voorbeelden verderop in dit hoofdstuk wordt alleen MILLIMETER en CENTIMETER behandeld. Onderstaand een voorbeeld waarbij de hoogte van het component 1 centimeter is, en de breedte 6 centimeter:

<width unit="CENTIMETER">6</width>       

<height unit="CENTIMETER">1</height>



En een voorbeeld van de positie op de x- en y-as van het template:

<x unit="CENTIMETER">6</x>

<y unit="CENTIMETER">1</y>



7. Bepalen rotatie en z-index

Het template bevat ook de mogelijkheid om de rotatie en z-index te bepalen.

  • Rotatie: in welke hoek dient het component afgedrukt te worden. Dit kan men bepalen door het aantal graden in te geven. 90 is bijvoorbeeld verticaal. Zowel positieve als negatieve getallen kunnen worden ingegeven.

  • Z-index: de z-indez kan gebruikt worden in een 3 dimensionale layout. Daarmee kan bijvoorbeeld bepaald worden welk component op de voorgrond afgedrukt dient te worden. Let op dat stringlabel component in feite doorzichtig is. Indien men met de z-index wil bepalen wat op de voorgrond afgedrukt moet worden heeft dit dus geen nut, aangezien de tekst dan nog steeds door elkaar heen wordt afgedrukt. In de voorbeeldbestanden wordt steeds de waarde 0 ingevuld bij de z-index.

8. Aandachtspunten XML template

9. Voorbeelden templates

Type template

Bestand

Opmerkingen

Type template

Bestand

Opmerkingen

Single

demo_template.xml

String label, Image label, barcode label, date label en numeric label worden gebruikt



49x27_template_single.xml

String label en barcode label.

Attribuuttype Boolean is gebruikt.



single.xml

String label en barcode label.

Switch

49x27_template.xml

String label en barcode label worden gebruikt.

Switch template op basis van het switch attribuut 'Artikelgroep', waarbij de switchwaarde Telefonie, Computers of Printers is.



49x66_template.xml

String label en barcode label worden gebruikt.

Switch template op basis van het switch attribuut 'Merk', waarbij de switchwaarde Samsung of Apple.



html_and_date_template.xml

String label en date label worden gebruikt.

Attribuuttype HTML is gebruikt.



images_template.xml

Image labels zijn gebruikt.



numbers_and_image_template.xml

String label, numeric label en image label zijn gebruikt.



10. Controle juistheid XML template

De opmaak van het XML bestand dient te voldoen aan een bepaalde structuur welke is vastgelegd in een XSD (XML Schema Definition Language) bestand. Via de volgende link is dit bestand te downloaden: print-templates.xsd. Bij het toevoegen van een template in Beeyond vindt een controle plaats of het template voldoet aan de vastgelegde structuur. Indien er een validatiefout optreedt geeft geeft de applicatie een foutmelding.

Ook is het mogelijk al in een eerder stadium te controleren of een XML bestand juist is opgemaakt. Dit kan bijvoorbeeld in het programma Notepad++. Hiervoor is het noodzakelijk dat de XML plugin geinstalleerd is. Indien deze niet geinstalleerd is kan deze via de volgende link gedownload worden: http://sourceforge.net/projects/npp-plugins/files/XML%20Tools/

Volg dan de volgende stappen voor het controleren van het XML bestand:

  • Ga naar Plugins, XML tools, Validate now (of klik op Ctrl+Alt+Shift+M).

  • Selecteer vervolgens het XSD bestand en klik op OK. 

  • Notepad++ geeft vervolgens aan of het bestand voldoet aan de eisen.