ابدأ مجاناً

zplCloud Blog

طباعة ZPL على أي طابعة ملصقات: TSC وHoneywell وSATO وBrother وToshiba وغيرها

ملصقاتك بصيغة ZPL، لكن ليست كل طابعة من Zebra. إليك كيف تطبع الملصق نفسه تمامًا على طابعات تتحدث TSPL أو DPL أو SBPL أو EPL2 أو CPCL أو ESC/POS أو Brother Raster أو PCL أو Easy Plug أو TPCL أو JScript - كملف PNG أو PDF أو كمهمة طباعة خام للمنفذ 9100.

10 دقائق قراءة zplCloud Team

ملصق واحد، إحدى عشرة لغة طابعة

ملصق شحن بصيغة ZPL يُصيَّر مرة واحدة كصورة نقطية ويُرسل إلى طابعات TSC وHoneywell وSATO وBrother وToshiba Tec وcab وAvery Dennison، كلٌّ بلغة طابعته

ZPL هي لغة الملصقات الأوسع انتشارًا على الإطلاق، وقد كُتبت لطابعات Zebra. لا مشكلة في ذلك ما دامت كل طابعات المستودع من Zebra. لكن طابعة TSC جاءت بعرض أرخص، والمصنع في البلد المجاور يعمل بطابعات SATO، وقسم التغليف يضع Brother QL على كل مكتب، وخط الطباعة والتطبيق (print-and-apply) مزوّد برؤوس Avery Dennison أو Novexx، وملصقات المرتجعات تُطبع على طابعة الليزر المكتبية. أما الملصقات فموجودة مرة واحدة فقط: بصيغة ZPL، يولّدها نظام ERP أو المتجر أو مصمم zplCloud.

يوضح هذا الدليل كيف يصل ذلك الملصق الواحد بصيغة ZPL إلى كل تلك الطابعات - مطابقًا، نقطة بنقطة - وما الذي يجب الانتباه إليه.


ثلاث طرق لطباعة ZPL على طابعة لا تتحدث ZPL

1. المحاكاة. كثير من الشركات المصنعة توفّر محاكاة لـ ZPL: Honeywell ZSim وSATO SZPL وGodex GZPL وCitizen Cross-Emulation وأوضاع ZPL لدى TSC وcab. مع الملصقات البسيطة تعمل جيدًا. أما في ما عدا ذلك، فالمحاكاة إعادة تنفيذ لـ ZPL على يد جهة أخرى: مقاييس الخطوط وعروض الباركود والتفاف النص في حقول ^FB ورسومات ^GFA والخطوط المخزنة تتصرف بشكل مختلف قليلًا، فينتهي بك الأمر إلى اختبار كل قالب على كل طراز.

2. ترجمة الأوامر. يعيد محوّل كتابة ^FO…^A0…^FD بأوامر النص والباركود في اللغة الأخرى. لا ينجح ذلك إلا مع الأوامر التي لها مقابل، ثم تستخدم الطابعة خطوطها هي ومولّد الباركود الخاص بها. النتيجة مشابهة، لا مطابقة.

3. إرسال صورة. يُصيَّر الملصق مرة واحدة بدقة الطابعة المستهدفة، ويُرسل كصورة نقطية أحادية اللون داخل أمر الرسومات الخاص بلغة تلك الطابعة. ولكل لغة طابعة أمر كهذا. لم تعد الطابعة تفسّر شيئًا - إنها تطبع نقاطًا فقط. الخطوط وUnicode والشعارات والباركود تبدو تمامًا كما في المعاينة.

يعتمد zplCloud الطريقة الثالثة، بصيغتين: على شكل ملف صورة لكل ما يطبع عبر برنامج تشغيل، وعلى شكل مهمة طباعة خام بلغة الطابعة لكل ما هو متصل بالشبكة.


الصيغة 1: PNG أو JPG أو PDF

لطابعات المكاتب ومرفقات البريد الإلكتروني والأرشيف، يصبح الملصق ببساطة ملفًا:

  • من ZPL إلى PDF يصيّر صفحة لكل ملصق، أو يضع الملصقات بحجمها الأصلي على أوراق A4 أو Letter مع خطوط قص - أسرع طريقة لطباعة ملصق مرتجع على طابعة الليزر المكتبية.
  • من ZPL إلى PNG ومن ZPL إلى JPG يصيّران ملصقات مفردة بدقة 203 أو 300 أو 600 dpi، مثلًا لنظام متجر يطبع عبر برنامج تشغيل.

أيًّا كان ما يطبع الملف، فهو يطبع الصورة نفسها. حدود هذه الصيغة هي برنامج التشغيل الواقع في المنتصف: فهو يغيّر المقاس، ويضيف هوامش، ويحتاج إلى حاسوب.


الصيغة 2: لغة الطابعة نفسها، كصورة نقطية

لا حاجة إلى برنامج تشغيل لطابعات الملصقات المتصلة بالشبكة. تبني أدوات الطابعات ونقاط نهاية API المقابلة لها مهمة طباعة جاهزة تذهب مباشرة إلى منفذ TCP 9100:

1. التصيير. يرسم محرك zplCloud كل ملصق ^XA…^XZ بدقة رأس الطباعة المستهدف - دون تنعيم للحواف (anti-aliasing)، تمامًا كما يطبع رأس حراري. الخط الذي عرضه نقطة واحدة يبقى بعرض نقطة واحدة بالضبط.

2. الاختزال إلى 1 بت. كل نقطة إما سوداء أو بيضاء.

3. التغليف. توضع الصورة النقطية داخل أمر الرسومات في اللغة المستهدفة، مع الأوامر القليلة التي تحتاجها المهمة لتُطبع.

4. الإرسال. يُرسل الملف دون أي تعديل إلى المنفذ 9100 على الطابعة.

الطابعاتاللغةالأداةأمر الصورةالضغط
TSC، سلسلة Printronix TTSPLمن ZPL إلى TSPLBITMAPPCX (DOWNLOAD + PUTPCX)
Honeywell، Datamax-O'NeilDPLمن ZPL إلى DPL<STX>I + حقل صورةPCX دائمًا
SATOSBPLمن ZPL إلى SBPLESC GB / ESC GHPCX (ESC GP)
طابعات Zebra بلغة EPLEPL2من ZPL إلى EPL2GW-
طابعات Zebra وHoneywell المحمولةCPCLمن ZPL إلى CPCLنطاقات CG / EGPCX (PCX)
Epson TM، Star، BixolonESC/POSمن ZPL إلى ESC/POSGS v 0-
Brother QL، TD-4، P-touchBrother Rasterمن ZPL إلى Brother Rasterأسطر نقطية (raster)TIFF PackBits
HP LaserJet وطابعات ليزر PCLPCL 5من ZPL إلى PCLESC*b#WTIFF PackBits
Avery Dennison، NovexxEasy Plugمن ZPL إلى Easy Plug#YIBRLE (#YIR)
Toshiba TecTPCLمن ZPL إلى TPCL{SG;…}TOPIX
cabJScriptمن ZPL إلى JScriptرفع صورة + حقل IPCX

تتبع كل مهمة دليل البرمجة الصادر عن الشركة المصنعة، وتُختبر كل لغة بفك ترميز المهمة الجاهزة وإعادتها إلى صورة نقطية يجب أن تطابق الملصق المُصيَّر نقطة بنقطة - بما في ذلك الأمثلة المحلولة في وثائق TOPIX من Toshiba ووثائق RLE من Novexx.


كم من البيانات تحتاج الصورة؟

الصورة أكبر حجمًا من ZPL. إليك الأرقام بصراحة، لملصق شحن نموذجي بمقاس 100 × 150 mm بدقة 203 dpi (812 × 1,218 نقطة) يحتوي على نص وDataMatrix ورمز QR وباركود GS1-128 وسطر نص باليابانية والروسية والعربية:

المهمةدون ضغطمضغوطة
مصدر ZPL (للمقارنة)859 بايت-
TSPL121 KB52 KB (PCX)
EPL2121 KB-
SBPL122 KB52 KB (PCX)
DPL-52 KB (PCX)
CPCL81 KB (مع تخطي الصفوف الفارغة)52 KB (PCX)
JScript124 KB (BMP)52 KB (PCX)
Brother Raster، TD-4420DN128 KB45 KB (TIFF)
PCL بدقة 300 dpi64 KB (مع تخطي الصفوف الفارغة)44 KB (TIFF)
Easy Plug121 KB16 KB (RLE)
TPCL121 KB9.5 KB (TOPIX)

تبرز هنا ثلاثة أمور:

  • دون ضغط، الحجم نحو 1 بت لكل نقطة. 812 × 1,218 نقطة تساوي 121 KB، أيًّا كانت اللغة.
  • الضغط الذي ينظر إلى الصفوف المجاورة هو الرابح. PCX وPackBits يضغطان داخل الصف الواحد فقط. أما TOPIX من Toshiba فيرسل فقط البايتات التي تغيّرت عن الصف السابق، ويكرر RLE في Easy Plug الصفوف المتطابقة - والملصقات مليئة بالحالتين.
  • على الشبكة لا يكاد الأمر يهم. تستغرق 121 KB نحو 10 ms على إيثرنت بسرعة 100 Mbit. يؤتي الضغط ثماره على Wi-Fi وBluetooth، وفي دفعات من آلاف الملصقات، ومع الطابعات ذات مخزن الاستقبال المؤقت الصغير.

تعرض أدوات الموقع حجم كل مهمة، وعند تفعيل الضغط تعرض أيضًا مقدار ما وفّره.


خطوة بخطوة

على الموقع، دون الحاجة إلى حساب:

1. افتح أداة طابعتك، مثلًا من ZPL إلى TSPL.

2. الصق كود ZPL، أو افتح ملف .zpl.

3. اختر دقة الطابعة (203 أو 300 أو 600 dpi؛ مع Brother: الطراز).

4. فعّل الضغط إن أردت، ثم ابدأ التحويل.

5. تحقق من المعاينة - فهي تعرض بالضبط النقاط التي ستُرسل - ثم نزّل المهمة.

6. أرسلها إلى الطابعة:

# Linux / macOS
nc -q 1 192.168.1.50 9100 < label.tspl
# Windows PowerShell
$c = [Net.Sockets.TcpClient]::new('192.168.1.50', 9100)
$b = [IO.File]::ReadAllBytes("$PWD\label.tspl")
$c.GetStream().Write($b, 0, $b.Length); $c.Close()

عبر API، لبرمجياتك الخاصة: كل أداة هي نقطة نهاية POST /v1/tools/zpl-to-<language> على api.zplcloud.com. والاستجابة هي المهمة الخام نفسها:

jq -Rs '{zpl: ., dpi: 203, compress: true}' label.zpl \
  | curl -X POST https://api.zplcloud.com/v1/tools/zpl-to-tpcl \
      -H "X-API-Key: $ZPLCLOUD_API_KEY" -H "Content-Type: application/json" \
      --data-binary @- -o label.tpcl

nc -q 1 192.168.1.60 9100 < label.tpcl

تتحول الملفات التي تضم عدة ملصقات إلى مهمة واحدة بعدة ملصقات؛ وتخبرك الترويسة X-ZplCloud-Label-Count بعددها. جميع الحقول والأوامر الدقيقة لكل لغة موجودة في مرجع API.


الطباعة اليومية: zplCloud CLI والمجلدات المراقَبة والطابعات البعيدة

يكفي nc للاختبار. أما للطباعة اليومية، فتتولى أداة zplCloud CLI المجانية الأمر الوحيد المهم مع هذه المهام: فهي تحتوي على بيانات صور ثنائية، ويجب أن تصل إلى الطابعة بايتًا ببايت - دون ترميز نصي، ودون إضافة فاصل أسطر في النهاية. وتقوم CLI بذلك عبر الشبكة، وعبر USB، ومن مجلد مراقَب، ومن خلال وكيلها إلى طابعات في شبكات أخرى.

أرسل مهمة جاهزة - دون الحاجة إلى حساب:

zplcloud send --target 192.168.1.50 --file label.tspl
zplcloud send --usb --file label.bin      # Brother QL عبر USB

تتعرف CLI على أسماء الملفات التي تستخدمها الأدوات (.tspl، .epl، .dpl، .sbpl، .cpcl، .escpos، .bin، .pcl، .ezp، .tpcl، .jscript) وترسلها دون تعديل؛ ويفعل --raw الشيء نفسه مع أي ملف آخر.

حوّل وأرسل في خطوة واحدة - تستدعي CLI واجهة API نيابةً عنك:

zplcloud send --target 192.168.1.50 --file label.zpl --language tspl --dpi 300 --compress

المجلد المراقَب: يواصل نظام ERP كتابة ZPL. يراقب الوكيل (zplcloud proxy) مجلدًا ويحوّل كل ملف ZPL إلى لغة الطابعة قبل طباعته. لا يتغير البرنامج الذي ينتج الملصقات إطلاقًا - فهو لا يزال يكتب ملفات ZPL، بينما تستقبل طابعة TSC لغة TSPL:

{
  "name": "tsc-shipping",
  "enabled": true,
  "folder": "/labels/tsc",
  "pattern": "*.zpl",
  "targetHost": "192.168.1.50",
  "convert": { "language": "tspl", "dpi": 300, "compress": true }
}

الطابعات البعيدة: من السحابة إلى طابعة في شبكة أخرى. يحافظ الوكيل على اتصال صادر واحد مع zplCloud، لذا يمكن الوصول إلى طابعة في مستودع آخر أو في متجر أو لدى عميل دون فتح أي منفذ. تستدعي برمجياتك نقطة نهاية واحدة - بمهمة جاهزة، أو بكود ZPL واللغة:

curl -X POST https://api.zplcloud.com/v1/remote-printers/4/raw \
  -H "X-API-Key: $ZPLCLOUD_API_KEY" -H "Content-Type: application/json" \
  -d '{"zpl": "^XA^FO50,50^A0N,40,40^FDHello TSC^FS^XZ", "language": "tspl", "dpi": 203}'

يمرّر الوكيل المهمة عبر TCP 9100 أو USB ويُبلغ بما إذا كانت قد وصلت.

وجهة المهمةالأمر أو نقطة النهاية
طابعة على الشبكة المحليةzplcloud send --target <ip> --file label.tspl
طابعة USBzplcloud send --usb --file label.bin
ملفات ZPL من برمجيات ERP أو المتجر أو شركة الشحنمجلد مراقَب مع "convert": { "language": "tspl" }
طابعة في شبكة أخرىPOST /v1/remote-printers/{id}/raw أو zplcloud send --remote-printer <id>
مجلد مراقَب عبر APIPOST /v1/print/folder مع language أو base64

تحتاج إلى CLI والوكيل بالإصدار 1.2.26 أو أحدث؛ فالإصدارات الأقدم تقرأ كل ملف كنص وستُتلف بيانات الصورة. أما الطابعات المتصلة عبر TCP فتعمل بالفعل من خلال الوكلاء بدءًا من الإصدار 1.2.22.


ما الذي يجب الانتباه إليه

  • يجب أن تتطابق الدقة. الملصق المُصيَّر بدقة 203 dpi يُطبع أصغر بنحو الثلث على طابعة 300 dpi. لا تعرض الأدوات إلا الدقات الموجودة فعلًا في رؤوس الطباعة الحقيقية، كي يبقى المقاس 1:1 - فاختر دقة طابعتك.
  • إعدادات الوسط تبقى في الطابعة. لا تستبدل المهام عمدًا إعدادات الفجوة أو الحساس أو العلامة السوداء المخزنة. اضبط الطابعة على مقاس الملصق مرة واحدة، كما تفعل مع أي مهمة أخرى.
  • الباركود يُمسح كالأصل. باركود الصورة النقطية بالعرض نفسه الذي أعطاه إياه ZPL، لأن الأشرطة كانت أصلًا نقاطًا كاملة. لكن هذا لا يصح إلا بالدقة الصحيحة - سبب آخر لاختيار dpi الطابعة.
  • اطبع ملصق اختبار واحدًا لكل طراز. تختلف إصدارات البرامج الثابتة (firmware) في التفاصيل: طريقة قراءة صور PCX، ونقطة أصل الصورة في طابعات Easy Plug، وإعداد الشريط في Toshiba. تعرض الأدوات هذه الملاحظات بجانب كل مهمة.
  • Brother تحتاج إلى الطراز. عرض الرأس والهوامش والوسط مأخوذة من مرجع أوامر Brother؛ ويُوسَّط الملصق على أضيق وسط يناسبه. أما طابعات أشرطة P-touch فتطبع عرضيًا على الشريط.
  • إذا كانت الطابعة تتحدث ZPL أصلًا، فأرسل ZPL. فهو أصغر حجمًا، ويمكن للطابعة استخدام خطوطها الخاصة. مسار الصورة النقطية مخصص للطابعات التي لا تستطيع ذلك - أو للملصقات التي لا يكفي فيها «شبه مطابق».

متى تكون المحاكاة كافية؟

إذا كان الملصق يتكون من بضعة أسطر من النص اللاتيني وباركود Code 128، وكانت الطابعة تملك محاكاة لـ ZPL، فجرّبها أولًا. أما حين يدخل نص Unicode أو خطوط TrueType أو شعارات أو كتل نص ^FB أو أسطول طابعات مختلط، فالصورة النقطية هي الخيار الأكثر أمانًا: تصيير واحد، ونتيجة واحدة، على كل طابعة.


الأسئلة الشائعة

هل تحتاج الطابعة إلى برنامج ثابت خاص؟

لا. تستخدم المهام فقط أوامر الرسومات القياسية في كل لغة، والتي تفهمها كل طابعة من تلك العائلة.

هل يبقى الباركود قابلًا للمسح؟

نعم. يرسم محرك zplCloud الباركود بعروض نقاط دقيقة، ويُطبع نقطة بنقطة. تحقق منه باستخدام فحص الباركود إن أردت التأكد.

هل يبقى النص نصًا على الطابعة؟

لا. تستقبل الطابعة صورة. وهذا هو المقصود تحديدًا - فلا يمكن لأي خط على الطابعة أن يغيّر التخطيط - لكنه يعني أيضًا أن الطابعة لا تستطيع ملء العدادات أو الحقول بنفسها. بدلًا من ذلك، صيّر ملصقًا واحدًا لكل سجل بيانات، وهو ما تفعله API في استدعاء واحد للملفات التي تضم ملصقات كثيرة.

برمجياتنا لا تستطيع إلا كتابة ملفات ZPL. هل يمكنها رغم ذلك الطباعة على طابعة TSC أو Brother؟

نعم. وجّهها إلى مجلد مراقَب تابع لوكيل zplCloud مع "convert": { "language": "tspl" } (أو brother أو dpl …). يحوّل الوكيل كل ملف قبل الطباعة، ولا تلاحظ البرمجيات أبدًا أن الطابعة ليست من Zebra.

ماذا عن طابعات 180 dpi؟

مدعومة حيثما وُجدت: ESC/POS بدقة 180 dpi لسلسلة Epson TM-T88، وطرازات Brother P-touch بدقة 180 و360 dpi.

هل الخدمة مجانية؟

أدوات الموقع مجانية ولا تحتاج إلى حساب، مع حدود استخدام عادل للاستخدام المجهول الهوية. أما عبر API فيُحتسب كل ملصق عملية تصيير واحدة؛ انظر الأسعار.


جرّبها بملصقك الخاص: اختر طابعتك في الأدوات، والصق كود ZPL، وأرسل النتيجة إلى المنفذ 9100. وإذا كنت تدير أسطولًا مختلطًا من الطابعات، فإن منصة zplCloud تجمع التصاميم في مكان واحد - وتضمن أدوات الطابعات أن تحصل كل طابعة على الملصق نفسه.

مقالات أخرى