การออกแบบฉลาก Zebra (ZPL)

เครื่องพิมพ์ฉลาก Zebra ไม่เข้าใจเอกสารทั่วไป แต่อ่านชุดคำสั่งข้อความขนาดเล็กที่เรียกว่า ZPL (Zebra Programming Language) การออกแบบ ZPL เป็นเพียงบลอกข้อความที่บอกเครื่องพิมพ์ว่าจะพิมพ์อะไรที่ใดบนฉลาก: บรรทัดข้อความตรงนี้ ราคาตรงนั้น QR code ตรงมุม

หน้านี้อธิบาย ZPL ตั้งแต่เริ่มต้น เพื่อให้คุณสามารถอ่าน แก้ไข และสร้างฉลากสินค้าของคุณเองได้โดยไม่ต้องขอความช่วยเหลือ คุณออกแบบฉลากของคุณภายใต้ Configuration ‣ Printers ในฟิลด์ Custom Zebra product label design (ดู การตั้งค่าเครื่องพิมพ์)

Tip

คุณไม่ค่อยต้องเริ่มจากหน้าว่างเปล่า Gem Logic มอบการออกแบบเริ่มต้นที่ใช้งานได้ให้กับฉลากทุกใบ วิธีที่เร็วที่สุดในการเรียนรู้คือการเปิดการออกแบบเริ่มต้นนั้น เปลี่ยนสิ่งหนึ่ง บันทึก และดูภาพตัวอย่าง ทำซ้ำจนกว่าจะดูถูกต้อง

เริ่มต้นอย่างรวดเร็ว

  1. ไปที่ Configuration ‣ Printers และค้นหาฟิลด์ Custom Zebra product label design

  2. ทำการเปลี่ยนแปลงเล็กน้อย (เช่น ย้ายบรรทัดหรือทำให้ราคาใหญ่ขึ้น)

  3. คลิก Save Gem Logic จะสร้าง ภาพตัวอย่าง ของฉลากโดยอัตโนมัติ

  4. ดูตัวอย่าง หากไม่ถูกต้อง ให้ปรับแต่งและบันทึกอีกครั้ง

ไม่มีอะไรถูกส่งไปยังเครื่องพิมพ์จริงในขณะที่คุณทดลอง — ภาพตัวอย่างถูกสร้างจากการออกแบบของคุณ ดังนั้นคุณสามารถปรับแต่งได้อย่างปลอดภัยก่อนพิมพ์ฉลากสักใบ

วิธีสร้างฉลาก ZPL

ฉลากทุกใบเริ่มต้นด้วย ^XA และลงท้ายด้วย ^XZ ทุกอย่างที่อยู่ระหว่างนั้นอธิบายฉลาก คำสั่งเริ่มต้นด้วยเครื่องหมาย caret ^ เสมอ (หรือบางครั้งเป็น tilde ~)

^XA            (start of the label)
... commands that build the label ...
^XZ            (end of the label)

ภายใน รูปแบบที่พบบ่อยที่สุดคือ "ไปที่ตำแหน่งหนึ่ง จากนั้นพิมพ์อะไรบางอย่างตรงนั้น":

^FO50,30^FDHello^FS

บรรทัดเดียวนั้นหมายถึง: ไปที่ตำแหน่ง 50,30 และพิมพ์ข้อความ "Hello" แยกออกมา:

  • ^FO50,30Field Origin: ย้ายไปที่ x=50, y=30 (มุมบนซ้ายของสิ่งที่จะตามมา)

  • ^FDHelloField Data: เนื้อหาจริงที่จะพิมพ์

  • ^FSField Separator: ทำเครื่องหมายจุดสิ้นสุดของส่วนนี้ ปิดฟิลด์ด้วย ^FS เสมอ

นั่นคือ 90% ของการออกแบบฉลาก: ชุดของบรรทัด "ตำแหน่ง + เนื้อหา" ที่วางซ้อนกัน

ขนาดป้าย จุด และมิลลิเมตร

เครื่องพิมพ์ Zebra วัดทุกอย่างเป็น จุด ไม่ใช่มิลลิเมตร เครื่องพิมพ์ป้ายส่วนใหญ่พิมพ์ที่ 203 DPI ซึ่งหมายความว่า:

  • 1 มม. ≈ 8 จุด

  • 1 นิ้ว = 203 จุด

ดังนั้นป้ายที่กว้าง 56 มม. และสูง 13 มม. จะมีความกว้างประมาณ 448 จุด และสูง 104 จุด

คำสั่งสองคำสั่งกำหนดพื้นที่ที่สามารถพิมพ์ได้:

  • ^PWPrint Width ความกว้างในการพิมพ์ เป็นจุด

  • ^LLLabel Length ความยาวของป้าย (ความสูง) เป็นจุด

^PW448        (label is 448 dots wide ≈ 56 mm)
^LL104        (label is 104 dots tall ≈ 13 mm)

Important

ขนาดป้ายจริงยังมาจากฟิลด์ Product label width และ Product label length ที่อยู่ถัดจากการออกแบบ กรุณาให้ค่าเหล่านี้ตรงกับป้ายจริงที่คุณใช้ ตัวแปร {label_length} จะถูกกรอกโดยอัตโนมัติจากฟิลด์ความยาว นี่คือเหตุผลที่การออกแบบเริ่มต้นใช้ ^LL{label_length}

การวางตำแหน่ง: กริดพิกัด

ให้คิดถึงป้ายเป็นกริด จุด 0,0 คือ มุมบนซ้าย ตัวเลขแรกคือ x (ระยะไปทางขวา) และตัวที่สองคือ y (ระยะลงมา) ทั้งสองเป็นจุด

^FO0,0        top-left corner
^FO200,0      200 dots to the right, same height
^FO0,40       left edge, 40 dots down

หากต้องการเลื่อนองค์ประกอบ ให้เปลี่ยนตัวเลข ^FO ของมัน x ที่ใหญ่กว่า = ไปทางขวามากขึ้น y ที่ใหญ่กว่า = ลงมามากขึ้น นี่คือวิธีที่คุณวาง SKU ในบรรทัดหนึ่งและโลหะในบรรทัดถัดไป: ให้ค่า x เดียวกันแต่ให้ y ที่ใหญ่กว่าในบรรทัดที่สอง

การเพิ่มและปรับขนาดข้อความ

ก่อนพิมพ์ข้อความ คุณมักจะเลือก ขนาดแบบอักษร วิธีที่ง่ายที่สุดคือ ^CF0,h (Change default Font เปลี่ยนแบบอักษรเริ่มต้น) โดยที่ h คือความสูงของตัวอักษรเป็นจุด:

^CF0,28               use ~28-dot-tall text from here on
^FO50,30^FDPrice^FS   print "Price" at 50,30 in that size

ทุก ^FD ... ^FS หลังจาก ^CF จะใช้ขนาดนั้นจนกว่าคุณจะกำหนดขนาดอื่น ดังนั้นหากต้องการใช้ขนาดหลายขนาดในป้ายเดียว ให้กำหนด ^CF0,28 ก่อนข้อความใหญ่ และ ^CF0,14 ก่อนข้อความเล็ก

Tip

หากต้องการเพิ่ม บรรทัดข้อความใหม่ คุณไม่ต้องกด Enter — แต่ให้เพิ่มฟิลด์ที่มีตำแหน่งอื่นที่ต่ำกว่า คัดลอกบรรทัดที่มีอยู่ ให้ค่า y ที่ใหญ่กว่า และเปลี่ยนเนื้อหา

การแทรกข้อมูลสินค้า

การออกแบบป้ายจะถูกนำมาใช้ซ้ำสำหรับทุกสินค้า ดังนั้นคุณไม่ต้องพิมพ์ SKU หรือราคาด้วยมือ แต่ให้แทรก ตัวแปร ในวงเล็บปีกกา และ Gem Logic จะแทนที่ด้วยข้อมูลจริงของสินค้าแต่ละชิ้นเมื่อพิมพ์ป้าย

^FO1,8^FD{item_sku}^FS          prints this product's SKU
^FO180,50^FD{currency}{price}^FS prints e.g. €129

ตัวแปรเดียวกันนี้จะแสดงเป็นป้ายที่คลิกได้โดยตรงใต้ฟิลด์การออกแบบในแอป เพื่อให้คุณเห็นตัวแปรที่มีให้ใช้ได้ขณะแก้ไข

ตัวแปรที่มีให้ใช้

สินค้า

  • {brand}: ชื่อแบรนด์

  • {product_title}: ชื่อสินค้า

  • {item_sku}: SKU ของสินค้า

  • {ean_code}: บาร์โค้ด EAN (ใช้สำหรับ QR code)

  • {price} และ {currency}: ราคาและสัญลักษณ์สกุลเงิน

  • {serial_number}: หมายเลขซีเรียล

  • {year_of_manufacture}: ปีที่ผลิต

  • {supplier_product_reference}: รหัสอ้างอิงสินค้าของซัพพลายเออร์

  • {supplier_reference}: รหัสอ้างอิงซัพพลายเออร์

วัสดุและพลอย

  • {material_1} ถึง {material_5}: คำอธิบายวัสดุแบบเต็ม (น้ำหนัก ชื่อ และรายละเอียดพลอย)

  • {material_only_1} ถึง {material_only_5}: ชื่อวัสดุหรือพลอยเท่านั้น

คุณสมบัติ

  • {attribute_1} ถึง {attribute_5}: คุณสมบัติในรูปแบบ ชื่อ: ค่า

  • {attribute_name_1} ถึง {attribute_name_5}: ชื่อคุณสมบัติเท่านั้น

  • {attribute_value_1} ถึง {attribute_value_5}: ค่าคุณสมบัติเท่านั้น

ขนาด

  • {weight}, {length}, {width}, {height}, {diameter}, {size}, {thickness}, {quality}

คอลเลกชัน

  • {collections}: คอลเลกชันที่ผลิตภัณฑ์นี้อยู่ใน

หมวดหมู่

  • {categories}: หมวดหมู่ที่ผลิตภัณฑ์นี้อยู่ใน คั่นด้วยเครื่องหมายจุลภาค

ประเทศต้นกำเนิด

  • {country_of_origin}: ประเทศที่ผลิตภัณฑ์มาจาก

ความบริสุทธิ์

  • {clarity}: ความบริสุทธิ์ของพลอยในผลิตภัณฑ์

รหัสต้นทุน

  • {encoded_cost}: ต้นทุนการซื้อที่แปลงเป็นรหัสต้นทุนส่วนตัวของคุณ (ตั้งค่าตัวอักษรได้ที่ การกำหนดค่า ‣ การตั้งค่าทั่วไป) เพื่อไม่ให้สามารถอ่านต้นทุนจริงบนฉลากได้

RFID (จำเป็นเฉพาะสำหรับฉลากที่มีแท็ก RFID)

  • {item_sku_epc_hex}: SKU ที่เข้ารหัสเป็นค่า EPC สำหรับชิป RFID

  • {item_sku_epc_word_count}: ความยาว EPC ที่ใช้โดยคำสั่ง RFID ของ ZPL

เค้าโครง

  • {label_length}: กรอกอัตโนมัติจากการตั้งค่าความยาวฉลาก

คิวอาร์โค้ดและบาร์โค้ด

เพิ่มคิวอาร์โค้ดด้วย ^BQN ตามด้วยฟิลด์ข้อมูลที่เริ่มต้นด้วย QA,:

^FO0,30^BQN,2,2^FDQA,{ean_code}^FS
  • ^FO0,30 — ตำแหน่งที่จะวางคิวอาร์โค้ด

  • ^BQN,2,2 — คิวอาร์โค้ด ตัวเลขตัวสุดท้ายคือขนาด (การขยาย) เพิ่มค่า (3, 4, 5…) เพื่อให้โค้ดใหญ่ขึ้นและสแกนง่ายขึ้น ลดค่าเพื่อประหยัดพื้นที่

  • ^FDQA,{ean_code}^FS — ข้อมูลภายในโค้ด ในที่นี้จะเข้ารหัส EAN ของผลิตภัณฑ์

สำหรับบาร์โค้ด 1D แบบคลาสสิก ให้ใช้ ^BCN (Code 128):

^FO20,20^BCN,60,Y,N,N^FD{ean_code}^FS

60 คือความสูงของบาร์โค้ดเป็นดอต และ Y จะพิมพ์ตัวเลขที่อ่านได้ด้านล่าง

การออกแบบเริ่มต้น อธิบายแบบละเอียด

นี่คือการออกแบบเริ่มต้นที่ Gem Logic จัดเตรียมให้คุณ พร้อมคำอธิบายทีละบรรทัด การอ่านเอกสารนี้เป็นวิธีที่เร็วที่สุดในการทำความเข้าใจว่าส่วนประกอบต่าง ๆ ทำงานร่วมกันอย่างไร

^XA
^MD20
^CI28
^LL{label_length}
^LH0,0
^CF0,18
^FO180,8^FD{brand}^FS
^CF0,14
^FO50,45^FD{material_2}^FS
^FO50,60^FD{material_3}^FS
^FO180,27^FD{material_1}^FS
^CF0,28
^FO180,50^FD{currency}{price}^FS
^CF0,16
^FO1,8^FD{item_sku}^FS
^FO1,23^FD{supplier_product_reference}^FS
^FO50,60^FD{supplier_reference}^FS
^FO0,30^BQN,2,2
^FDQA,{ean_code}^FS
^XZ

ทีละบรรทัด:

  • ^XA — จุดเริ่มต้นของฉลาก

  • ^MD20 — ความเข้มของการพิมพ์ เพิ่มค่าหากฉลากดูจางเกินไป ลดค่าหากข้อความเลอะ

  • ^CI28 — การเข้ารหัสตัวอักษร เพื่อให้ และเครื่องหมายกำกับเสียงพิมพ์ออกมาถูกต้อง

  • ^LL{label_length} — ความสูงของฉลาก จะถูกกำหนดค่าโดยอัตโนมัติจากการตั้งค่าความยาว

  • ^LH0,0 — ตำแหน่งอ้างอิง: จุดเริ่มต้นคือมุมบนซ้าย

  • ^CF0,18 — ขนาดข้อความประมาณ 18 จุด สำหรับบรรทัดที่ตามมา

  • ^FO180,8^FD{brand}^FS — แบรนด์ อยู่ใกล้ด้านบน

  • ^CF0,14 — ข้อความเล็กลงจากจุดนี้เป็นต้นไป

  • ^FO50,45^FD{material_2}^FS, ^FO50,60^FD{material_3}^FS, ^FO180,27^FD{material_1}^FS — วัสดุทั้งสาม

  • ^CF0,28 — ข้อความขนาดใหญ่สำหรับราคา

  • ^FO180,50^FD{currency}{price}^FS — ราคา เช่น €129

  • ^CF0,16 — ข้อความขนาดกลาง

  • ^FO1,8^FD{item_sku}^FS — SKU อยู่บนซ้าย

  • ^FO1,23^FD{supplier_product_reference}^FS — รหัสอ้างอิงสินค้าของซัพพลายเออร์

  • ^FO50,60^FD{supplier_reference}^FS — รหัสอ้างอิงซัพพลายเออร์

  • ^FO0,30^BQN,2,2 ตามด้วย ^FDQA,{ean_code}^FS — คิวอาร์โค้ด (ล่างซ้าย) และข้อมูลของมัน (EAN)

  • ^XZ — จุดสิ้นสุดของฉลาก

Warning

ZPL ไม่รองรับคอมเมนต์แบบบรรทัดเดียว — อย่าใช้เครื่องหมายอัฒภาค ; เพื่อเพิ่มหมายเหตุ ZPL จะเข้าใจเฉพาะคำสั่งที่ขึ้นต้นด้วย ^ (หรือ ~) เท่านั้น สิ่งใดก็ตามที่อยู่หลัง ; จะถูกอ่านเป็นส่วนหนึ่งของค่าของคำสั่ง (หรือเป็นข้อมูลฉลากที่เกะกะ) นั่นคือสิ่งที่ทำให้เกิดข้อผิดพลาดเช่น "Value '20;' is not a valid number" หรือ "Ignored unrecognized content" และ ; ที่หลุดเข้ามาสามารถทำให้เค้าโครงเลื่อนหรือเสียหายโดยไม่มีสัญญาณเตือน

หากต้องการเพิ่มหมายเหตุ ให้ใช้คำสั่งคอมเมนต์ ^FX ปิดด้วย ^FS เครื่องพิมพ์จะละเว้นทุกอย่างที่อยู่ภายใน:

^FX brand, near the top ^FS
^FO180,8^FD{brand}^FS

กฎเดียว: คอมเมนต์ ^FX ห้ามมี ^ หรือ ~ — อักขระเหล่านี้จะยุติคอมเมนต์และเริ่มคำสั่งถัดไป

การเปลี่ยนแปลงทั่วไป

ทำให้ราคาใหญ่ขึ้น

ค้นหา ^CF0,28 ก่อนบรรทัด {price} และเพิ่มตัวเลข เช่น ^CF0,40

ย้ายตำแหน่งบางอย่าง

เปลี่ยนตัวเลข ^FO ของมัน หากต้องการเลื่อนแบรนด์ลงมา ให้เพิ่มตัวเลขตัวที่สองใน ^FO180,8 (คือ 8)

เพิ่มบรรทัดข้อความใหม่

คัดลอกบรรทัด ^FO…^FD…^FS กำหนดค่า y ให้ใหญ่ขึ้นเพื่อให้อยู่ต่ำลงมา และเปลี่ยนเนื้อหาหรือตัวแปร

ทำให้รหัส QR ใหญ่ขึ้น

เพิ่มตัวเลขสุดท้ายใน ^BQN,2,2 (ลอง ^BQN,3,3) หากถูกตัดออก ให้เพิ่มพื้นที่หรือเลื่อนไปทางซ้าย/บนด้วย ^FO

เพิ่มเส้นคั่น

ใช้กล่องกราฟิก ^FO0,40^GB540,2,2^FS วาดเส้นแนวนอนบางกว้าง 540 จุด

ดูตัวอย่างและทดสอบก่อนพิมพ์

คุณมีวิธีง่ายๆ สองวิธีในการตรวจสอบการออกแบบก่อนใช้ฉลากจริง:

  • ใน Gem Logic: ทุกครั้งที่คุณบันทึก ภาพตัวอย่างของฉลากจะปรากฏใต้ฟิลด์การออกแบบ ใช้เป็นแหล่งข้อมูลย้อนกลับหลักของคุณ

  • ออนไลน์: วาง ZPL ของคุณลงใน Labelary viewer ฟรีเพื่อดูการแสดงผลทันทีในขนาดฉลากต่างๆ (แทนที่ {variables} ด้วยข้อความตัวอย่างก่อน เนื่องจาก Labelary ไม่ทราบข้อมูลสินค้าของคุณ)

หากฉลากจริงดูผิดปกติ — ข้อความถูกตัด รหัส QR ที่สแกนไม่ได้ ขนาดผิด — ดูส่วนฉลากของ การแก้ไขปัญหา

คู่มืออ้างอิงคำสั่งอย่างรวดเร็ว

คำสั่ง

สิ่งที่มันทำ

^XA / ^XZ

เริ่มต้น / สิ้นสุดของฉลาก ทุกอย่างอยู่ระหว่างนี้

^PW

ความกว้างการพิมพ์เป็นจุด

^LL

ความยาวฉลาก (ความสูง) เป็นจุด

^LH

Label home — จุดเริ่มต้น (โดยปกติคือ 0,0)

^FO x,y

Field origin — วางตำแหน่งองค์ประกอบถัดไปที่ x,y

^CF0,h

กำหนดความสูงแบบอักษรเริ่มต้น (h จุด) สำหรับข้อความต่อไปนี้

^FD ... ^FS

Field data — เนื้อหาที่จะพิมพ์ — ปิดด้วยตัวคั่นฟิลด์

^FX ... ^FS

ความคิดเห็น — เครื่องพิมพ์เพิกเฉย ไม่สามารถมี ^ หรือ ~

^MD

Media darkness (ความเข้มการพิมพ์) ยิ่งสูงยิ่งเข้ม

^BQN,m,m

รหัส QR; ตัวเลขสุดท้ายคือขนาด ข้อมูลเริ่มต้นด้วย QA,

^BCN,h,...

บาร์โค้ด Code 128; h คือความสูงเป็นหน่วยจุด

^GB w,h,t

วาดกรอบหรือเส้น (ความกว้าง ความสูง ความหนา เป็นหน่วยจุด)

^CI28

การเข้ารหัสอักขระ เพื่อให้สัญลักษณ์เช่น พิมพ์ออกมาได้อย่างถูกต้อง

สำหรับภาษาที่สมบูรณ์ Zebra เผยแพร่คู่มือคำสั่ง ZPL ฉบับเต็ม แต่คำสั่งข้างต้นครอบคลุมฉลากสินค้าเกือบทุกแบบ