| Docs Hilfe
  AppSource  
Docs  /  NVXZPLTS ZPL Printer Management TCP Socket

Informationen für Entwickler


2023/11/06 • 2 Min. Lesedauer
Diese App stellt nur grundlegende Entitäten und Funktionen sowie einige Interfaces bereit. Der Verbindungsaufbau zu einem Drucker, sowie die Konvertierung eines Bildes in ZPL muss über Subapps implementiert werden.

Interfaces

Diese App stellt folgende Interfaces sowie die dazugehörigen Enums zur Verfügung:

ZPLIPrinterConnectorNVX

Enum: ZPLConnectionTypeNVX

Methoden

Methodenname Beschreibung
Print(Text; Code[20]) Druckt den als Text übergebenen ZPL Code am angegebenen ZPL Drucker.

ZPLIImageConverterNVX

Enum: ZPLImageConversionFormatNVX

Methoden

Methodenname Beschreibung
Convert(var ImageInStr: InStream; Size: Integer): Text; Konvertiert ein Bild, übergeben als Stream, in ZPL Code.
Convert(var ImageInStr: InStream; Size: Integer; Rotation: Enum "Rotate Flip Type"): Text Konvertiert und rotiert ein Bild, übergeben als Stream, in ZPL Code.

Drucken eines Layouts

Auf der Tabelle ZPLPrinterNVX ist das Feld "Connection Type" definiert, welches das Interface ZPLIPrinterConnectorNVX implementiert. Dieses Enum kann in Subapps erweitert werden um unterschiedliche Verbindungsarten zum Drucker zu unterstützen.
procedure PrintLayout(LayoutCode: Code[20]; NoOfCopies: Integer)
var
    ZPLLayout: Record ZPLLayoutNVX;
    ZPLPrinter: Record ZPLPrinterNVX;
    ZPLPrinterMgt: Codeunit ZPLPrinterMgtNVX;
    PrinterCode: Code[20];
    IZebraConnector: Interface ZPLIPrinterConnectorNVX;
    Placeholders: List of [Text];
    LabelLayout: Text;
begin
    ZPLLayout.Get(LayoutCode);
    ZPLPrinterMgt.GetPrinter(ZPLLayout.Code, PrinterCode); //ermittelt den Drucker anhand der ZPL Druckerauswahl
    ZPLPrinter.Get(PrinterCode);
    IZebraConnector := ZPLPrinter."Connection Type"; //Implementierung der Druckerverbindung wird über Subapps definiert.
    
    Placeholders.Add('Test');
    Placeholders.Add('Test2'); //Definition der Werte die die Platzhalter ersetzen sollen. Der Platzhalter %1 wird durch Test ersetzt und der Platzhalter %2 wird durch Test2 ersetzt.
    LabelLayout := ZPLLayout.GetLayoutAsText();
    ZPLLayout.SetNoOfCopiesForLayout(NoOfCopies, LabelLayout);
    LabelLayout := ZPLLayout.ReplacePlaceholders(LabelLayout, Placeholders);
    IZebraConnector.Print(LabelLayout, PrinterCode);
end;


Feedback senden für
DE|EN Impressum