Anmelden
Produkte
ZPL-VorschauBarcode-GeneratorBild → ZPLZPL-SpickzettelEtiketten-DesignerVorlagen-Galerie
Entwickler
API-SchnellstartAPI-ReferenzMCP-ServerMassenerzeugungWebhooksSDKs & BeispieleLimitsOn-Premise
Lösungen
Logistik und VersandE-CommerceERP & WMSProduktionEinzelhandelGesundheitswesen und LaborAlle Lösungen
Tools
ZPL-DiagnosezentrumZPL-DebuggerGrößen- und DPI-AnalyseDPI-KonverterBarcode-PlatzrechnerVersandetiketten-AnalyseSchriftprüfungAusrichtungs-DebuggerKalibrierungsassistentDruckerkompatibilitätsprüfungBarcode-LesbarkeitsprüfungDruckersprachen-ErkennungThermodrucker-TestpaketZPL-ToolsEPL-ToolsTSPL-ToolsCPCL-ToolsAlle WerkzeugeRatgeberPreise
Sprache
EnglishTürkçeDeutsch
StartseiteEntwicklerCodebeispiele

Codebeispiele

Beispiele zur Nutzung der Labelixa-API mit cURL, Python, C#, Java, Node.js und PHP: ZPL-Rendering und Barcode-Erzeugung.

Offizielles Python-SDK

Ein schlanker offizieller Client statt rohem HTTP: Kontingentfehler sind eine eigene Klasse (QuotaExceeded, mit retry_after), Fehlermeldungen kommen unverändert vom Server.

pip install labelixa
from labelixa import Client

c = Client()                        # anonymous; Client(api_key="lbx_...") for your quota
png = c.render_png("^XA^CF0,60^FO50,50^FDHello^FS^XZ", width_in=4, height_in=6)
open("label.png", "wb").write(png)

report = c.validate("^XA^QQ^FDx^XZ")  # structured lint report
epl = c.to_epl("^XA^CF0,60^FO50,50^FDHello^FS^XZ")         # ZPL -> EPL2

Offizielles Node.js-SDK

Dieselbe Oberfläche für Node — ohne Abhängigkeiten (eingebautes fetch, Node 18+), TypeScript-Typen inklusive.

npm install labelixa
import { Client } from "labelixa";

const c = new Client();             // anonymous; new Client({ apiKey: "lbx_..." })
const png = await c.renderPng("^XA^CF0,60^FO50,50^FDHello^FS^XZ", { widthIn: 4, heightIn: 6 });
await writeFile("label.png", png);

const report = await c.validate("^XA^QQ^FDx^XZ");
const epl = await c.toEpl("^XA^CF0,60^FO50,50^FDHello^FS^XZ");

Offizieller MCP-Server (KI-Assistenten)

Claude Desktop, Claude Code und andere MCP-Clients können Labelixa direkt als Werkzeug nutzen: ZPL-Vorschau, Validierung und Barcode-Erzeugung. Nutzen Sie unser Smithery-Listing für den Remote-Server ohne Installation oder starten Sie ihn lokal:

npm install -g labelixa-mcp
{
  "mcpServers": {
    "labelixa": {
      "command": "npx",
      "args": ["-y", "labelixa-mcp"],
      "env": {"LABELIXA_API_KEY": "lbx_..."}
    }
  }
}

Offizielle VS-Code-Erweiterung

Rendert den ZPL-Block unter dem Cursor direkt im Editor und prüft die Datei beim Speichern — die Befunde erscheinen mit echter Zeile und Spalte im Problems-Panel. Das Linting verbraucht nie Etikettenkontingent; das Rendern einer Vorschau schon, daher läuft es nur auf Befehl.

VS Code Marketplace
code --install-extension labelixa.labelixa-zpl

Ein ZPL-Etikett als PNG rendern

Python (requests)
import requests
r = requests.post("https://api.labelixa.com/v1/printers/8dpmm/labels/4x6/0",
                  data="^XA^CF0,60^FO50,50^FDHello^FS^XZ")
open("label.png", "wb").write(r.content)
print(r.headers.get("X-Warnings"))
Node.js (fetch)
const res = await fetch("https://api.labelixa.com/v1/printers/8dpmm/labels/4x6/0", {
  method: "POST", body: "^XA^CF0,60^FO50,50^FDHello^FS^XZ"
});
const buf = Buffer.from(await res.arrayBuffer());
require("fs").writeFileSync("label.png", buf);
PHP (cURL)
<?php
$ch = curl_init("https://api.labelixa.com/v1/printers/8dpmm/labels/4x6/0");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "^XA^CF0,60^FO50,50^FDHello^FS^XZ");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
file_put_contents("label.png", curl_exec($ch));
C# (HttpClient)
using var http = new HttpClient();
var zpl = new StringContent("^XA^CF0,60^FO50,50^FDHello^FS^XZ");
var res = await http.PostAsync(
    "https://api.labelixa.com/v1/printers/8dpmm/labels/4x6/0", zpl);
res.EnsureSuccessStatusCode();
File.WriteAllBytes("label.png", await res.Content.ReadAsByteArrayAsync());
Console.WriteLine(res.Headers.TryGetValues("X-Warnings", out var w)
    ? string.Join(", ", w) : "");
Java (java.net.http)
HttpClient http = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create("https://api.labelixa.com/v1/printers/8dpmm/labels/4x6/0"))
    .POST(HttpRequest.BodyPublishers.ofString("^XA^CF0,60^FO50,50^FDHello^FS^XZ"))
    .build();
HttpResponse<byte[]> res = http.send(req,
    HttpResponse.BodyHandlers.ofByteArray());
Files.write(Path.of("label.png"), res.body());
System.out.println(res.headers().firstValue("X-Warnings").orElse(""));

Einen Barcode erzeugen

cURL
curl "https://api.labelixa.com/v1/barcodes?type=ean13&data=869012345678" > product.png
Python (requests)
import requests
r = requests.get("https://api.labelixa.com/v1/barcodes",
                 params={"type": "ean13", "data": "869012345678"})
open("product.png", "wb").write(r.content)
C# (HttpClient)
using var http = new HttpClient();
var url = "https://api.labelixa.com/v1/barcodes?type=ean13&data=869012345678";
File.WriteAllBytes("product.png", await http.GetByteArrayAsync(url));
Java (java.net.http)
HttpClient http = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create(
        "https://api.labelixa.com/v1/barcodes?type=ean13&data=869012345678"))
    .build();
HttpResponse<byte[]> res = http.send(req,
    HttpResponse.BodyHandlers.ofByteArray());
Files.write(Path.of("product.png"), res.body());

PDF und mehrere Etiketten

cURL — 2x3-Raster auf A4
curl -X POST "https://api.labelixa.com/v1/printers/8dpmm/labels/4x2/" \
     --data-binary @labels.zpl -H "Accept: application/pdf" \
     -H "X-Page-Size: A4" -H "X-Page-Layout: 2x3" > labels.pdf