zplCloud Blog
zplCore.com इंजन आ गया: zplCloud का लेबल इंजन अब .NET SDK के रूप में
zplCloud के हर प्रीव्यू के पीछे का इंजन अब आपके अपने एप्लिकेशन के लिए उपलब्ध है: प्रिंटर-सटीक रेफ़रेंस के मुक़ाबले मापी गई ZPL II और EPL2 रेंडरिंग, 144 सिम्बोलॉजी, अनुपालन प्री-चेक, Scan-Proof, प्रिंटर ट्विन, CI में लेबल टेस्ट और कोडिंग एजेंट के लिए एक MCP सर्वर।
zplCloud के पीछे का इंजन अब एक SDK है
zplCloud पर हर प्रीव्यू और हर PDF एक ही इंजन से रेंडर होता है: zplCore.com। आज से यह इंजन आपके अपने एप्लिकेशन के लिए .NET 10 SDK के रूप में उपलब्ध है, उन सभी फ़ीचर के साथ जिनका zplCloud उपयोग करता है: ZPL II और EPL2 को PNG, PDF और SVG में रेंडर करना, डेटा से लेबल बनाना, उन्हें GS1 और कैरियर के नियमों पर जाँचना, हर बारकोड को वापस पढ़ना, प्रिंटरों को उनकी गड़बड़ियों समेत सिम्युलेट करना, और प्रिंट करना। यह Windows, Linux और macOS पर, Docker और Kubernetes में, बिना किसी प्रिंटर ड्राइवर के चलता है।
संक्षेप में: zplCore.com एक .NET लाइब्रेरी है, साथ में एक CLI, एक टेस्ट पैकेज और एक MCP सर्वर। यह एक वर्चुअल Zebra प्रिंटर की तरह रेंडर करता है और इसे प्रिंटर-सटीक रेफ़रेंस के मुक़ाबले मापा जाता है। रेंडरिंग के अलावा यह जाँच और सिमुलेशन भी करता है: अनुपालन प्री-चेक, Scan-Proof, प्रिंटर ट्विन (Printer Twin), केयॉस प्रिंटर (Chaos Printer) और CI में लेबल टेस्ट। ट्रायल संस्करण zplcore.com पर अनुरोध करके मिल सकता है।
zplCloud ने अपना इंजन क्यों बनाया
अक्टूबर 2026 तक zplCloud प्रीव्यू के लिए और डिज़ाइन को ZPL में बदलने के लिए Neodynamic के ThermalLabel और ZPLPrinter SDK का उपयोग करता था। आज zplCloud में केवल zplCore.com ही इंजन है: डिज़ाइनर ZPL बनाता है, और PNG, SVG और PDF प्रीव्यू ठीक उसी ZPL को रेंडर करते हैं। जो आप प्रीव्यू में देखते हैं, वही प्रिंटर तक जाता है। अब इमेज बनाने का कोई दूसरा रास्ता नहीं है।
इसके हमारे पास तीन कारण थे:
- प्रिंटर ही पैमाना है। zplCore की तुलना Labelary के प्रिंटर-सटीक रेफ़रेंस रेंडर से पिक्सेल-दर-पिक्सेल, 2 डॉट की टॉलरेंस के साथ की जाती है: 169 टेस्ट केस पर औसत स्कोर 0.986, जिनमें से 131 का स्कोर 0.99 या उससे बेहतर है और 85 पिक्सेल-दर-पिक्सेल समान हैं। ऑटोमेटेड टेस्ट यह सुनिश्चित करते हैं कि कोई भी केस अपने मौजूदा स्कोर से नीचे न जाए।
- सिर्फ़ रेंडरिंग काफ़ी नहीं है। कोई लेबल सही दिखकर भी फ़ेल हो सकता है: क्वाइट ज़ोन में घुसा बारकोड, प्रिंटहेड से बाहर का फ़ील्ड, ग़लत X-डायमेंशन वाला SSCC। हम ऐसा इंजन चाहते थे जो इन सवालों का जवाब ख़ुद दे, ऑफ़लाइन और बिल्ड के भीतर ही।
- क्लाउड और आपके अपने सर्वरों के लिए एक ही कोड बेस। मुफ़्त zplCloud टूल के पीछे जो फ़ंक्शन हैं, वही आपको SDK में मिलते हैं।
zplCore.com सार्वजनिक ZPL II स्पेसिफ़िकेशन और सिम्बोलॉजी मानकों पर आधारित एक स्वतंत्र इम्प्लीमेंटेशन है। इसमें अन्य व्यावसायिक विक्रेताओं का कोई कोड नहीं है; जिन ओपन-सोर्स कंपोनेंट का यह उपयोग करता है, वे इसके थर्ड-पार्टी नोटिस में सूचीबद्ध हैं।
zplCore.com क्या है
| क्षेत्र | सामग्री |
|---|---|
| प्लेटफ़ॉर्म | .NET 10; Windows 11, macOS, Debian और Azure Linux 3.0 (distroless सहित) पर टेस्ट किया गया; Dockerfile और Helm chart शामिल; NativeAOT-संगत |
| इनपुट | ZPL II और EPL2; EPL फ़ॉर्म को ZPL में बदला जा सकता है |
| आउटपुट | PNG, JPEG, WebP, BMP, GIF, PDF और SVG (दोनों वेक्टर के रूप में), TIFF, PCX, PCL, GRF, EPS, HTML, साथ ही EPL, Fingerprint और ESC/POS |
| बारकोड | 144 सिम्बोलॉजी, Code 128, GS1 DataBar और QR से लेकर MaxiCode, DotCode और Han Xin तक; 534 एप्लिकेशन आइडेंटिफ़ायर वाला GS1 पार्सर और वैलिडेटर |
| डेटा से लेबल | मिमी या इंच में लेबल मॉडल, JSON टेम्पलेट, C# ऑब्जेक्ट, EF Core, LiteDB, MongoDB और JSON से डेटा बाइंडिंग, स्थिर मेमोरी के साथ स्ट्रीमिंग |
| प्रिंटिंग | TCP 9100, सीरियल, USB, Windows स्पूलर, CUPS; ~HS/~HQES स्टेटस; TCP 9100 पर एक वर्चुअल प्रिंटर |
| लिपियाँ | अरबी, हिब्रू, थाई, भारतीय लिपियों और CJK के लिए HarfBuzz शेपिंग और bidi |
प्रीव्यू तक पहुँचने के लिए C# की कुछ पंक्तियाँ काफ़ी हैं:
using ZplCore;
var renderer = new ZplRenderer(new ZplRenderSettings { Dpi = 203 }.WithLabelSizeMm(100, 150));
List<byte[]> pngs = renderer.ProcessFile("labels.zpl"); // one PNG per label
renderer.Settings.OutputFormat = ZplOutputFormat.Pdf; // one PDF, one page per label
File.WriteAllBytes("preview.pdf", renderer.ProcessFile("labels.zpl")[0]);
"प्रिंटर-सटीक" का विस्तार से मतलब क्या है:
- QR कोड (
^BQ, मॉडल 2) मॉड्यूल-दर-मॉड्यूल समान हैं Zebra के आउटपुट से: मोड का चयन, वर्शन, एरर करेक्शन और मास्क, Labelary के 3,600 से अधिक रेफ़रेंस सिम्बल पर सत्यापित। - PDF417 (
^B7) और MicroPDF417 (^BF) कोडवर्ड-दर-कोडवर्ड समान हैं Labelary से, Zebra के कम्पैक्शन के साथ। - कैरेक्टर सेट (
^CI) और^FHप्रिंटर की तरह ही काम करते हैं:^CIके बिना लेबल Code Page 850 में होता है,^CI0से^CI12राष्ट्रीय कैरेक्टर बदलते हैं, Windows कोड पेज ZPL गाइड के अनुसार चलते हैं, और^CI28के तहत 2D सिम्बल वही बाइट रखते हैं जो प्रिंटर एनकोड करता है। - Zebra का व्यवहार हूबहू दोहराया गया है: फ़ॉन्ट 0 की एडवांस विड्थ,
^BYकी ऊँचाई के हिसाब से QR की पोज़िशन का खिसकना, Code 128 मोड N का सबसेट B में बने रहना, चौड़े बारfloor(ratio × module)के रूप में।
यह तेज़ भी है। Apple M3 Max पर रिलीज़ बिल्ड में zplCore ने ZPL के रूप में प्रति सेकंड 1,99,000 तक लेबल बनाए (स्टोर्ड फ़ॉर्मैट, एक जॉब में 1,00,000 लेबल) और 10 थ्रेड के साथ प्रति सेकंड 5,000 से अधिक PNG प्रीव्यू। हर माप को एक ही कमांड से दोहराया जा सकता है।
फ़ीचर का एक दौरा
इस सेक्शन की सभी इमेज और आउटपुट ख़ुद इंजन से आए हैं: zplCore डॉक्यूमेंटेशन, zplCore CLI या मुफ़्त zplCloud टूल से।
अनुपालन प्री-चेक
ZplCompliance.Check किसी लेबल को 8 पैक के 84 नियमों पर जाँचता है: GS1 लॉजिस्टिक लेबल, GS1 Digital Link के साथ Sunrise 2027, Amazon FBA, UPS MaxiCode, FedEx और DHL Paket की बुनियादी बातें, UDI और RFID/EPC। यह टेक्स्ट पढ़ने के बजाय रेंडर किए गए लेबल को मापता है: मिमी में X-डायमेंशन, बार की ऊँचाई, क्वाइट ज़ोन, HRI का आकार, AI फ़ॉर्मैट और चेक डिजिट। हर परिणाम के साथ रूल ID, पंक्ति, पोज़िशन और स्रोत होता है, टेक्स्ट, JSON, SARIF 2.1.0 या ऊपर जैसी एनोटेट की गई PNG के रूप में। यह रहा हमारे मुफ़्त लेबल अनुपालन जाँच टूल का उदाहरण:
$ zplcore comply pallet.zpl --pack gs1-logistic --dpi 203
pallet.zpl:13:1: error ZPL3104: label 1 ^BC: X-dimension 0.25 mm (2 dot(s) at 203 dpi) is below the minimum 0.495 mm for logistic units (0.250 mm only if the unit is physically too small). [GS1 General Specifications 26.0 §5.12.3.5 Table 5-51]
fix: Use ^BY4 or wider at 203 dpi.
pallet.zpl:15:1: error ZPL3106: label 1 ^BC: GS1-128 needs 10X quiet zones: the left quiet zone (30 dots = 3.754 mm) runs 20 dot(s) past the label edge. [GS1 General Specifications 26.0 §5.4.4.2, §5.4.6.3, Table 5-51]
fix: Move the barcode or the neighbouring field, or reduce ^BY.
1 label(s) at 203 dpi, packs gs1-logistic GenSpecs 26.0 / LLG 1.3: 6 error(s), 0 warning(s), 2 info(s). Pre-check only, not a certification.
आउटपुट को छह में से दो त्रुटियों तक छोटा किया गया है। Sunrise 2027 पैक रिटेल बिलिंग काउंटर के लिए 2D बारकोड की जाँच करता है; हमारी पोस्ट GS1 Sunrise 2027: बिलिंग काउंटर पर 2D बारकोड इसे विस्तार से दिखाती है। ध्यान दें: यह एक प्री-चेक है, कोई प्रमाणन (सर्टिफ़िकेशन) नहीं। यह कैरियर या प्राधिकरण की मंज़ूरी की जगह नहीं लेता, और न ही छपे हुए लेबल पर वेरिफ़ायर से जाँच की। डॉक्यूमेंटेशन
Scan-Proof
ZplScanProof.Verify रेंडर किए गए बिटमैप से हर बारकोड को दो स्वतंत्र डिकोडर (zxing-cpp और ZXing.Net) से वापस पढ़ता है और परिणाम की तुलना फ़ील्ड डेटा से करता है। यह X-डायमेंशन, क्वाइट ज़ोन, बार की ऊँचाई, कटाव (क्लिपिंग) और ओवरलैप मापता है, और A से F तक का ग्रेड देता है: यह ISO/IEC 15415/15416 पर आधारित एक डिजिटल प्री-चेक है, जिसकी गणना प्रिंटर रिज़ॉल्यूशन पर होती है। हमारे मुफ़्त Barcode Scan-Proof के उदाहरण में चारों बारकोड डिकोड हो जाते हैं, फिर भी दो से परेशानी होगी (आउटपुट छोटा किया गया):
$ zplcore verify shelf.zpl --dpi 203
[0.0] ^BE EAN-13 line 7 at 8,80 (285×120 dots, 0°)
status: Match digital grade: F (0.0)
SP1101 error: Quiet zone left: 2.7X, 11X required (ISO/IEC 15420 / GS1); limited by the label edge.
SP1102 error: The symbol is cut off by the label edge (129 pixels of its ink lie outside ^PW/^LL).
[0.1] ^BQ QR Code line 8 at 600,10 (125×245 dots, 0°)
status: Match digital grade: D (1.0)
SP1101 warning: Quiet zone bottom: 3X, 4X required (ISO/IEC 18004); limited by other ink.
Code 39 को A ग्रेड मिलता है, लेकिन एक चेतावनी के साथ: उसके बगल का टेक्स्ट "ART-4712" उसकी इंटरप्रिटेशन लाइन जैसा दिखता है, पर एनकोड किए गए "ART-4711" से अलग है। यह ग्रेड छपे हुए लेबल पर कैलिब्रेटेड वेरिफ़ायर की जगह नहीं लेता। डॉक्यूमेंटेशन
ZPL से एडिट करने योग्य लेबल मॉडल
Label.FromZpl मौजूदा ZPL को एडिट करने योग्य, डेटा-बाउंड टेम्पलेट में बदलता है: टेक्स्ट, बारकोड, आकृतियाँ, इमेज और RFID टाइप किए गए आइटम बन जाते हैं, ^FN फ़ील्ड डेटा फ़ील्ड बन जाते हैं और ^DF फ़ॉर्मैट टेम्पलेट बन जाते हैं। हर आइटम को मूल से पिक्सेल-दर-पिक्सेल जाँचा जाता है; टेस्ट कॉर्पस की सभी 318 फ़ाइलें पिक्सेल-सटीक वापस आती हैं। उदाहरण के लिए, बैनर वाला शिपिंग लेबल:
$ zplcore import hero-label.zpl -o label.json --report
1 label(s), 203 dpi (LabelSize), fidelity 1,0000
label 1: fidelity 1.0000 pixel-exact, 38 typed, 0 raw item(s)
Info: Resolution detected as 203 dpi from the label width
zplCloud डिज़ाइनर में ZPL इम्पोर्ट करने के लिए ठीक इसी का उपयोग करता है (इसके बारे में नीचे और जानकारी है)। डॉक्यूमेंटेशन
लेबल की समझ और GDPR रेडैक्शन
ZplExtract ZPL से प्राप्तकर्ता, प्रेषक, चेक डिजिट सहित ट्रैकिंग नंबर, SSCC, GTIN, तारीख़ें और वज़न पढ़ता है, हर एक के स्थान और एक कॉन्फ़िडेंस वैल्यू के साथ। ऊपर के लेबल में यह प्राप्तकर्ता का पता 0.95 कॉन्फ़िडेंस के साथ, GS1 AI (00) से मान्य चेक डिजिट वाला SSCC 340123450000000017, वज़न और तारीख़ ढूँढ लेता है। ZplRedact उसी लेआउट में निजी डेटा बदल देता है, जिसमें ^FX टिप्पणियाँ, ^DF/^XF डेटा और 2D बारकोड की सामग्री भी शामिल है, मान्य डमी बारकोड लगाता है और फिर दोबारा खोजता है: इस लेबल के लिए 28 कार्रवाइयाँ, 29 वैल्यू खोजी गईं, 0 बचीं। यह नियम-आधारित है और बिना नेटवर्क के काम करता है; कृपया साझा करने से पहले परिणाम की समीक्षा करें, और ध्यान रखें कि इमेज के भीतर का टेक्स्ट नहीं पढ़ा जाता। डॉक्यूमेंटेशन
GS1 Digital Link और Sunrise 2027 माइग्रेशन
ZplGs1Migration.Migrate किसी EAN/UPC, GS1-128, ITF-14 या GS1 DataBar में GTIN ढूँढता है और ख़ाली जगह में GS1 Digital Link URI वाला QR कोड या GS1 DataMatrix जोड़ता है, उसके क्वाइट ज़ोन और परिणाम के Sunrise प्री-चेक के साथ। इस लेबल पर बैच नंबर और बेस्ट-बिफ़ोर तारीख़ GS1-128 से ली जाती हैं (आउटपुट छोटा किया गया):
$ zplcore gs1 migrate cheese.zpl -o cheese-2d.zpl
label 1: migrated – added a QR Code with GS1 Digital Link URI with GTIN 09506000134352 right of the EAN-13 (^BE, line 9), top-aligned with the bars
uri: https://id.gs1.org/01/09506000134352/10/L2604?15=270331
sunrise pre-check of the migrated ZPL: 0 error(s), 0 warning(s), 0 info(s)
zplCloud में मुफ़्त Sunrise 2027 माइग्रेशन टूल यही काम ब्राउज़र में करता है। यह एक माइग्रेशन सहायक (migration assistant) है, कोई प्रमाणन नहीं। डॉक्यूमेंटेशन
RFID Studio
ZplRfid GS1 EPC Tag Data Standard 2.3 (SGTIN, SSCC, SGLN, GRAI, GIAI और TDS 2.0 की "plus" स्कीम) के अनुसार EPC को एनकोड और डिकोड करता है और उनसे मेल खाते ^RF कमांड बनाता है। कंसिस्टेंसी जाँच टैग की तुलना छपे हुए लेबल से करती है। इस उदाहरण में टैग को उस SSCC से अलग SSCC मिलता जो बारकोड दिखाता है:
$ zplcore rfid check carton.zpl
carton.zpl:6:1: error ZPL3904: label 1 ^RF: The SSCC-96 EPC encodes SSCC (00) 340123450000000024, but ^BC prints 340123450000000017. [GS1 EPC Tag Data Standard 2.3 §7 (correspondence of EPC and GS1 keys); GS1 General Specifications 26.0 §4.13]
fix: Encode the printed key, e.g. ZplRfid.EncodeEpc("(00)340123450000000017…") or 'zplcore rfid encode'.
zplcore rfid simulate किसी लेबल के RFID कमांड को एक सिम्युलेटेड Gen2 टैग पर चलाता है, ठीक वैसे जैसे कोई RFID प्रिंटर करता। डॉक्यूमेंटेशन
प्रिंटर ट्विन (Printer Twin)
क्या यह लेबल इस मॉडल पर प्रिंट होगा? ZplPrinterTwin.Check किसी लेबल की तुलना 24 प्रोफ़ाइल में से एक से करता है (जिनमें ZD421, ZD621, ZT411, ZT610, ZQ630 और तीन सामान्य प्रोफ़ाइल शामिल हैं) और प्रिंटहेड की चौड़ाई से बाहर के फ़ील्ड, कटर या RFID जैसे ग़ायब विकल्प, फ़र्मवेयर की सीमाएँ, फ़ॉन्ट और मेमोरी की रिपोर्ट देता है, साथ ही प्रिंट समय का अनुमान भी। हर प्रोफ़ाइल तथ्य किसी उद्धृत स्रोत पर आधारित है या अज्ञात के रूप में चिह्नित है। ऊपर वाला 4 × 6 इंच का लेबल 72 मिमी प्रिंटहेड वाले प्रिंटर पर (21 में से एक परिणाम दिखाया गया):
$ zplcore twin check hero-label.zpl --profile ZQ510-203
ZPL5102 error (53:1): Label 1: ^BC ">;>800340123450000000017" at x=280 is 16 dots (2 mm) wider than the printhead of ZQ510-203 (576 dots = 72 mm): the right part is cut off; a clipped barcode does not scan.
ZQ510-203: 13 error(s), 8 warning(s), 0 info
केयॉस प्रिंटर (Chaos Printer) और कटर प्रीव्यू
ZplVirtualPrinter TCP 9100 पर सुनता है, आने वाले जॉब रेंडर करता है और प्रिंटर की तरह ~HS और ~HQES का जवाब देता है। माँगने पर यह जान-बूझकर फ़ेल होता है: पेपर या रिबन ख़त्म, हेड खुला, बफ़र भरा, कटर जाम, RFID void, कनेक्शन टूटना, टाइमआउट, सब स्क्रिप्ट किया हुआ और दोहराने योग्य:
printer.Faults.Schedule(ZplFaultKind.PaperOut, ZplFaultTrigger.AfterLabels(3)); // label 4 waits
printer.Faults.Seed = 42; // deterministic random triggers
कटर सिमुलेशन दिखाता है कि कटर वाला प्रिंटर कहाँ काटता है (^MM, ^PQ, ^CN, ~JK और अन्य) और कट को PNG, SVG और PDF प्रीव्यू में बनाता है, जैसा ऊपर दिख रहा है: ^PQ6,3 के साथ ^MMC लेबल 3 और 6 के बाद काटता है। केयॉस प्रिंटर · कटर
Testing+ और GitHub Action
लेबल भी कोड हैं, तो उन्हें कोड की तरह ही टेस्ट करें। ZplCore.Testing पैकेज xUnit, NUnit और MSTest के साथ काम करता है:
ZplAssert.Label(zpl)
.NoOverlaps()
.Complies(CompliancePacks.Gs1LogisticLabel)
.Barcode("SSCC").Decodes("(00)376104250021234569").HasGrade(atLeast: 'B')
.And.MatchesSnapshot("pallet");
फ़ेल होने पर संदेश एलिमेंट, उसकी पोज़िशन और ZPL पंक्ति बताता है, और एक इमेज का लिंक देता है जिसमें वह एलिमेंट रेखांकित होता है। zplcore check यही जाँचें कई फ़ाइलों पर चलाता है और JUnit XML, SARIF और Markdown लिखता है। SDK में शामिल GitHub Action पुल रिक्वेस्ट पर पहले/बाद/डिफ़ इमेज के साथ टिप्पणी करता है और बताता है कि क्या बदला। ऊपर की इमेज ऐसे ही एक रन से हैं: एक बदलाव ने SSCC बारकोड को ^BY4 से ^BY3 तक संकरा किया और उसका डेटा बदल दिया (आउटपुट छोटा किया गया):
$ zplcore check labels/pallet.zpl --pack gs1-logistic --verify --baseline ../base
FAIL labels/pallet.zpl (1 label(s), 0.25 s) · changed vs baseline (3 element change(s))
FAIL comply gs1-logistic
labels/pallet.zpl:12:1: error ZPL3104: Label 1: X-dimension 0.375 mm (3 dot(s) at 203 dpi) is below the minimum 0.495 mm for logistic units (0.250 mm only if the unit is physically too small).
labels/pallet.zpl:12:1: note ZT3001: Label 1: barcode ^BC Code128 at x=86 y=820: data "(00)376104250021234569" → "(00)376104250021234576"
FAILED (fail-on error)
कोडिंग एजेंट के लिए MCP सर्वर
zplcore-mcp Model Context Protocol के ज़रिए Claude Code, Claude Desktop, GitHub Copilot वाले VS Code और Cursor को 26 टूल देता है: रेंडर, लिंट, फ़ॉर्मैट, डिफ़, अनुपालन, Scan-Proof, रेडैक्शन, प्रिंटर ट्विन, GS1 और RFID, आदि। एजेंट ZPL लिखता है, PNG देखता है, डायग्नोस्टिक्स पढ़ता है और एक लूप में लेबल ठीक करता है।
claude mcp add zplcore -- zplcore-mcp
यह सर्वर अविश्वसनीय (untrusted) इनपुट के लिए बनाया गया है। यह केवल stdio पर बात करता है और कोई नेटवर्क पोर्ट नहीं खोलता। हर कॉल समय और मेमोरी की सीमाओं तथा ख़ाली एनवायरनमेंट वाले अपने अलग वर्कर प्रोसेस में चलती है, जिसकी फ़ाइलों, नेटवर्क, प्रिंटरों या एनवायरनमेंट वेरिएबल तक कोई पहुँच नहीं होती; macOS पर इसके ऊपर OS सैंडबॉक्स भी जुड़ जाता है। एडवर्सेरियल टेस्ट, फ़ज़िंग और असेंबली का IL ऑडिट इन नियमों की जाँच करते हैं। डॉक्यूमेंटेशन
PDF और SVG से नेटिव ZPL (Vector-Lift)
Vector-Lift कैरियर और ERP की PDF या SVG फ़ाइलों को एक ^GF रास्टर इमेज के बजाय असली ZPL में बदलता है: टेक्स्ट ^A0 फ़ील्ड के रूप में, बारकोड डिकोड करके नेटिव ^B कमांड के रूप में दोबारा बनाए और सत्यापित किए जाते हैं, लाइनें और बॉक्स ^GB, ^GC और ^GE के रूप में। हर लेबल के साथ मापी गई फ़िडेलिटी मिलती है:
$ zplcore lift lift-label.svg -o lift.zpl --report
799x400 dots @ 203 dpi (default), fidelity 0.9785 (exact 0.9114), native ink 97.8 %, 370 bytes vs 4,140 bytes ^GF raster (8.9%)
4 native, 5 approximated, 0 raster, 1 dropped, barcodes match
टेक्स्ट मूल टाइपफ़ेस के बजाय फ़ॉन्ट 0 में सेट होता है, और जो टेक्स्ट PDF में केवल आउटलाइन के रूप में मौजूद है, वह ग्राफ़िक ही रहता है (कोई OCR नहीं)। zplCloud में मुफ़्त PDF से नेटिव ZPL टूल इसी का उपयोग करता है। डॉक्यूमेंटेशन
NativeAOT
SDK, टेस्ट पैकेज, CLI और MCP सर्वर बिना किसी trim या AOT चेतावनी के बिल्ड होते हैं। CLI और MCP सर्वर को नेटिव प्रोग्राम के रूप में पब्लिश किया जा सकता है, जो बिना इंस्टॉल किए .NET रनटाइम के शुरू होते हैं, और एक स्मोक टेस्ट उनके आउटपुट की तुलना JIT संस्करण से बाइट-दर-बाइट और पिक्सेल-दर-पिक्सेल करता है। डॉक्यूमेंटेशन
zplCloud उपयोगकर्ताओं के लिए इसका क्या मतलब है
आपको कुछ भी इंस्टॉल करने की ज़रूरत नहीं है; zplCloud आज से zplCore.com पर चलता है:
- चार नए मुफ़्त टूल: लेबल अनुपालन जाँच, Barcode Scan-Proof, Sunrise 2027 माइग्रेशन और PDF से नेटिव ZPL। चारों zplCloud API के ज़रिए
/v1/tools/…के तहत भी उपलब्ध हैं। - प्रीव्यू बिल्कुल प्रिंट जैसा: PNG, SVG और PDF प्रीव्यू वही ZPL रेंडर करते हैं जो प्रिंटर तक जाता है।
- डिज़ाइनर में बेहतर इम्पोर्ट: डिज़ाइनर में ZPL इम्पोर्ट अब
Label.FromZplसे होकर चलता है। 10 भाषाओं के सभी 96 टेम्पलेट के राउंड ट्रिप ZPL → डिज़ाइन → ZPL में औसत स्कोर 0.7707 से बढ़कर 0.9998 हो गया, और पिक्सेल-सटीक टेम्पलेट की संख्या 960 में से 26 से बढ़कर 911 हो गई। - जिन टूल को आप पहले से जानते हैं, जैसे ZPL Linter, ZPL फ़ॉर्मैटर, ZPL Diff और बारकोड जाँचें, वे भी इसी इंजन पर चलते हैं।
जल्द आ रहा है: zplCore Server (Docker)
आगे हम इंजन को REST API वाले एक तैयार कंटेनर के रूप में पैकेज कर रहे हैं: ZPL अंदर, PNG, PDF या जाँच रिपोर्ट बाहर। योजना में शामिल हैं: linux/amd64 और linux/arm64 के लिए मल्टी-आर्क इमेज, distroless, बिना root के और रीड-ओनली फ़ाइल सिस्टम के साथ चलने वाली, /health, /ready और /metrics (Prometheus) एंडपॉइंट, एक OpenAPI विवरण और SBOM के साथ साइन की गई इमेज। linux/arm64 पर हमारे NativeAOT टेस्ट में सर्वर लगभग 4 ms में शुरू हुआ, पहला लेबल लगभग 11 ms में रेंडर किया और इमेज का आकार लगभग 100 MB था। फ़ीचर सेट अभी योजना के स्तर पर है; zplcore.com पर आप पहला संस्करण तैयार होने पर सूचना पाने का अनुरोध कर सकते हैं।
आज़माकर देखें
- लाइव डेमो: zplcore.com/en/demo ब्राउज़र में ZPL रेंडर करता है और अनुपालन प्री-चेक, Scan-Proof, GS1 माइग्रेशन, रेडैक्शन के साथ एक्सट्रैक्शन और प्रिंटर ट्विन चलाता है।
- डॉक्यूमेंटेशन: zplcore.com/en/docs, जिसमें API, CLI, उदाहरण, सटीकता और ज्ञात सीमाएँ हैं।
- ट्रायल संस्करण: zplcore.com पर संपर्क फ़ॉर्म के ज़रिए अनुरोध करें। डेवलपमेंट टीम सीधे जवाब देती है और ख़ुशी से आपकी अपनी ZPL और EPL फ़ाइलें जाँचती है। लाइसेंस व्यावसायिक ग्राहकों (B2B) के लिए हैं।
- बिना कोड के: मुफ़्त zplCloud टूल इसी इंजन पर चलते हैं।
अक्सर पूछे जाने वाले सवाल
क्या zplCore.com वही इंजन है जिसका zplCloud उपयोग करता है?
हाँ। zplCloud प्रीव्यू, PDF और टूल के परिणाम zplCore.com से रेंडर करता है, और नए टूल वही फ़ंक्शन कॉल करते हैं जो आपको SDK में मिलते हैं।
क्या zplCore.com को इंटरनेट कनेक्शन या प्रिंटर ड्राइवर की ज़रूरत है?
नहीं। लाइब्रेरी आपके अपने प्रोसेस में, ऑफ़लाइन, Windows, Linux और macOS पर चलती है। प्रिंटिंग सीधे TCP 9100, सीरियल, USB, Windows स्पूलर या CUPS के ज़रिए होती है।
क्या अनुपालन प्री-चेक और स्कैन ग्रेड प्रमाणन हैं?
नहीं। अनुपालन प्री-चेक प्रकाशित नियमों पर जाँच करता है, और स्कैन ग्रेड ISO/IEC 15415/15416 पर आधारित एक डिजिटल प्री-चेक है। दोनों में से कोई भी कैरियर, प्राधिकरण या आपके GS1 सदस्य संगठन की मंज़ूरी की जगह नहीं लेता, और न ही छपे हुए लेबल पर कैलिब्रेटेड वेरिफ़ायर की।
zplCore.com अभी क्या नहीं कर सकता?
Pharmacode 2D, Response Plus PostMatrix और ISO/IEC 15434 के अनुसार HIBC इम्प्लीमेंट नहीं किए गए हैं, क्योंकि इनका कोई सार्वजनिक स्पेसिफ़िकेशन नहीं है। Deutsche Post BZL और JAB Code प्रायोगिक हैं। Zebra के रेज़िडेंट फ़ॉन्ट मालिकाना हैं और उनकी जगह कैलिब्रेटेड वैकल्पिक फ़ॉन्ट इस्तेमाल होते हैं; अगर आपको बिल्कुल समान ग्लिफ़ चाहिए, तो मूल TTF रजिस्टर करें। पूरी सूची ज्ञात सीमाएँ में है।
क्या मुझे zplCloud में कुछ बदलना होगा?
नहीं। डिज़ाइन, टेम्पलेट, प्रिंटर और API कॉल जैसे हैं वैसे ही रहते हैं।
Zebra और ZPL, Zebra Technologies Corporation के ट्रेडमार्क हैं, GS1 और GS1 Digital Link, GS1 AISBL के ट्रेडमार्क हैं, और Neodynamic, ThermalLabel और ZPLPrinter अपने-अपने मालिकों के ट्रेडमार्क हैं। इनका उपयोग यहाँ केवल वर्णनात्मक रूप में किया गया है।