Print-Layout Syntax

Beispiel Print-Layout

<?xml version="1.0" encoding="utf-8"?>
<PrintLayout Name="My Printlayout" Remark="Mein Remark">
  <PrinterResolution hDPI="300" vDPI="300">
    <PrinterParameter>
      <Parameter Name="XIJET_QUEUE_DEPTH" Value="2"/>
    </PrinterParameter>
    <Canvas Height="38" Width="200">
      <LoadFont FontNr="1" File="Arial_600x300_12_400_0.XFT" Rotation="0"/>
      <LoadFont FontNr="2" File="USPSIMBStandard_600x300_16_500_0.XFT" Rotation="90"/>
      <Image File="image.gif" hPos="50" vPos="30" Height="20" Width="30"/>
      <Text FontNr="1" String="Hallo" Top="50" Left="30" Bottom="70" Right="50" Align="Left" Reverse="0" Wrap="0" Mirror="0" BottomJustify="0"/>
      <Text FontNr="2" Variable="SIx" Top="150" Left="310" Bottom="170" Right="150" Align="Center" Reverse="0" Wrap="0" Mirror="0" BottomJustify="0"/>
    </Canvas>
  </PrinterResolution>
</PrintLayout>

Minimales Print-Layout

<?xml version="1.0" encoding="utf-8"?>
<PrintLayout Name="Empty" Remark="NoPrint">
    <PrinterResolution hDPI="300" vDPI="300">
        <Canvas Height="0" Width="0"/>
    </PrinterResolution>
</PrintLayout>

Tags

Das XML-Konfigurationsfile ist wie folgt aufgebaut:

Element Attribut Kardinalität
Optional / Pflicht
Beschreibung
Gültige Werte
<PrintLayout>   1 Root Container Element
Name Pflicht, nicht leer Name des Drucklayouts
Remark Optional Bemerkung zum Drucklayout
<PrinterResolution> 1 .. N Container Element für Definition der Druckerauflösung
hDPI Pflicht Horizontale Auflösung in DPI [Dots per Inch]
vDPI Pflicht Vertikale Auflösung in DPI [Dots per Inch]
<PrinterParameter> 1 Container Element für druckerspezifische Parameter
<Parameter> 0 .. N Element für druckerspezifischen Parameter
Name Name des druckerspezifischen Parameters. Erlaubte Werte:
- "XIJET_QUEUE_DEPTH"
- "XIJET_TRIGGER_MASK
Value Pflicht Abhängig vom Parametername
<Canvas> 1 Element für virtuelle Zeichenfläche.
Alle Postionsangaben der <Image> und <Text> Elemente beziehen sich auf die obere linke Ecke dieser Zeichenfläche.
  Height Pflicht Höhe der Zeichenfläche in [mm].
  Width Pflicht Breite der Zeichenfläche in [mm].
<LoadFont> 0 .. N Element für Schriftart. Alle von den <Text>-Elementen verwendeten Schriftarten müssen vorher mit <LoadFont>geladen werden>!
  FontNr Pflicht Interne Nummer des Fonts, diese wird von den <Text>-Elementen referenziert.
  File Pflicht Dateiname des Fonts. Font-Dateien müssen im internen XiJet Format vorliegen (XFT).
  Rotation Pflicht Ausrichtung/Drehung der Schriftart in Winkelgrad [º]. Erlaubte Werte:
"0", "90", "180", "270"
<Image>   0..N Element für Images, Images müssen im Windows BMP-Format gespeichert sein!
  File Pflicht Dateiname des des Images
  hPos Pflicht Horizontale Position in [mm] des Bildes in der Zeichenfläche relativ zur linken obern Ecke der Canvas
  vPos Pflicht Vertikale Position in [mm] des Bildes in der Zeichenfläche relativ zur linken obern Ecke der Canvas.
  Height Optional Höhe des Bildes in [mm].
Wenn definiert so wird dasd Bild bis maximal dieser Höhe gedruckt, der Rest wird abgeschnitten. Wenn nicht definiert so wird das gesamte Bild gedruckt.
  Width Optional Breite des Bildes in [mm]. Wenn definiert so wird dasd Bild bis maximal dieser Breite gedruckt, der Rest wird abgeschnitten. Wenn nicht definiert so wird das gesamte Bild gedruckt.
<Text> 0 .. N Element für statischen oder dynamischen Text Die verwendeten Fonts müssen vorher mit geladen werden und werden via Attribut "FontNr" referenziert.
FontNr Pflicht Referenz auf via <LoadFont> geladenen Font.
String Optional Statischer Text der gedruckt werden soll
Variable Optional Dynamischer Text der gedruckt werden soll.
Das Attribut definiert das Sendungsattribute welches gedruckt wird.
Erlaubte Werte:
- "UPOC": UPOC der Sendung
- "SIx": Sortierinfo SIx der Sendung
- TODO
Top Pflicht Positionierung: Linke obere Ecke in [mm] relativ zur Canvas.
Left Pflicht Positionierung: Linke obere Ecke in [mm] relativ zur Canvas.
Bottom Pflicht Positionierung: Linke obere Ecke in [mm] describe the bounding box of the text in pixels.
Right Pflicht Positionierung: Linke obere Ecke in [mm] describe the bounding box of the text in pixels.
Align Optional Optionales Attribut, wenn nicht definiert wird als Default "Left" verwendet.
Erlaubte Werte:"Left", "Center", "Right"
Reverse Optional 0= normal, 1= reverse colors
Wrap Optional Optionales Attribut, wenn nicht definiert wird als Default "0" (No Warp) verwendet.
Erlaubte Werte:"0", "1"
0 = No wrapping, , when text reaches the edge of the bounding box the text is cplipped
1 = Wrap text. When text reaches the edge of the bounding box that word is automatically moved to the next line.
Mirror Optional Optionales Attribut, wenn nicht definiert wird als Default "0" (Not mirror) verwendet.
Erlaubte Werte:"0", "1"
0 = Not mirror
1 = Mirror the resulting image about the center of the horizontal bounds.
BottomJustify Optional Optionales Attribut, wenn nicht definiert wird als Default "0" (No BottomJustify) verwendet.
Erlaubte Werte:"0", "1"
0 = No BottomJustify
1 = Lines of text will be bottom justified ('Bottom' is a relative term, as it relates to rotation of 0).
  BarcodeType Optional Definiert, ob der Text als Barcode interpretiert wird.
Erlaubte Werte: "", "Interleaved2of5"

 

Vermassung

Die Höhe des bedruckbaren Bereiches is fix 1.5 Zoll = 38 mm. Um den Druckbereich voll auszunutzen ist somit 38 ein sinnvoller Wert für <Canvas>.Height.

 

180 Grad rotierter Text

Für das Drucken von 180 Grad rotiertem Text müssen folgende XML-Tags/Attribute angepasst werden:

  • <LoadFont>.Rotation

    Das Attribut <LoadFont>.Rotation muss auf 180 gesetzt sein!

  • <Text>.Bottom
    Das Attribut Text.Bottom anstelle von Text.Top verwenden!
    Dabei wird druckerintern die Höhe des verwendeten Fonts mit einberechnet.
    Damit ergeben sich sinnvolle Werte für Text.Bottom im Bereich von ca. 6 bis 40, Text.Top kann auf 0 gesetzt werden.

  • <Text>.Right
    Das Attribut Text.Right anstelle von Text.Left verwenden!
    Dabei wird druckerintern die Länge des verwendeten Textes mit einberechnet.
    Damit ergeben sich sinnvolle Werte für Text.Right im Bereich von ca. 100 bis 200, Text.Left kann auf 0 gesetzt werden.

Beispiel:

<?xml version="1.0" encoding="utf-8"?>
<PrintLayout Name="180 Grad rotiert" Remark="180 Grad rotiert">
 
<PrinterResolution hDPI="300" vDPI="300">
   
<Canvas Height="38" Width="210">
     
<!-- 180 Grad Fonts -->
      <LoadFont FontNr="1" File="Arial_300_12_400_0.XFT" Rotation="180"/>
      <LoadFont FontNr="2" File="Arial_300_16_400_0.XFT" Rotation="180"/>
      <!-- 180 Grad Texte -->
      <Text FontNr="1" String="Test Bottom=12 Right=150" Top="0" Left="0" Bottom="12" Right="150" Align="Left" Reverse="0" Wrap="0" Mirror="0" BottomJustify="0"/>
      <Text FontNr="1" String="Test Bottom=18 Right=100" Top="0" Left="0" Bottom="18" Right="100" Align="Left" Reverse="0" Wrap="0" Mirror="0" BottomJustify="0"/>
      <Text FontNr="2" String="Test Bottom=30 Right=100" Top="0" Left="0" Bottom="30" Right="100" Align="Left" Reverse="0" Wrap="0" Mirror="0" BottomJustify="0"/>
   
</Canvas>
 
</PrinterResolution>
</PrintLayout>

Siehe auch:



CodX Software CodX Software AG
Sinserstrasse 47
6330 Cham
Switzerland
Support
http://support.codx.ch
CxSpickel