zplCloud Blog
من سير عمل طباعة Google Sheets إلى الملصق المطبوع
الطابعة ← التصميم ← جدول البيانات ← Print View، ومعها Apps Script الذي يصادق فعلًا.
ابدأ بمصدر البيانات الذي تملكه أصلًا
معظم مشاريع الملصقات لا تتعثر على الطابعة أو التصميم. تتعثر على البيانات: يجب أن يملك أحدهم قائمة المقالات، و«سنربط نظام ERP» يتحول إلى تذكرة من ستة أسابيع.
لذا ابدأ بجدول بيانات Google. إنه مصدر بيانات حقيقي، ويمكن لأي شخص في المكتب تعديله، والطريق من هناك إلى ملصق مطبوع قصير. عندما يكون اتصال ERP جاهزًا في النهاية، لا يتغير الملصق ولا مسار الطباعة—فقط يتغير مصدر الصفوف.
هذه هي السلسلة كاملة، من النهاية إلى النهاية.
1 - الطابعة على الشبكة ومتصلة
فكّ التغليف وحمّل الوسط وشغّل وضعه على الشبكة، ثم اربطه بـ zplCloud بسطر Weblink أو وكيل CLI، وطبّق ملف تعريف طابعة ليتطابق السواد والسرعة مع الوسط. هذا مغطى خطوة بخطوة في منشور speed-run؛ خصّص 10 دقائق.
2 - صمّم الملصق
في المصمم، ابدأ من قالب أو فارغ وأضف الحقول التي تتغير لكل ملصق: رقم المقال والاسم والكمية والوجهة. سمِّ الروابط bindings تمامًا مثل رؤوس أعمدة جدول البيانات—هذا القرار الواحد يزيل كل عمل الربط لاحقًا.
افحص المعاينة PNG أو PDF أو SVG. تُنشأ على الخادم بنفس المحرك الذي ينتج ZPL، لذا فهي ليست تقريبًا.
دوّن معرّف التصميم. إنه <الاسم>.<المعرّف>، مثل shipping-label.42؛ ستحتاجه لـ API.
3 - جدول البيانات
صف لكل ملصق وعمود لكل binding:
| artikel_nr | name | menge | ziel |
|---|---|---|---|
| 4006381333930 | Cable tie 200 mm | 50 | Ramp 4 |
| 4006381333947 | Cable tie 300 mm | 25 | Ramp 2 |
المسار A - بلا كود. انسخ الصفوف إلى تبويب بيانات الاختبار في المصمم أو إلى مهمة دفعة واطبع. هذا كافٍ لطباعة أسبوعية ولا يتطلب أي إعداد.
المسار B - Apps Script. يصبح الجدول المشغّل. أنشئ عبر API العامة بمفتاح API:
// الإضافات ← Apps Script. ينشئ الصف النشط ويعيد ZPL.
const API_KEY = 'sk_zplcloud_…'; // تبويب API في المنصة
const DESIGN_ID = 'shipping-label.42'; // "<الاسم>.<المعرّف>"
function renderActiveRow() {
const sheet = SpreadsheetApp.getActiveSheet();
const header = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
const row = sheet.getRange(sheet.getActiveCell().getRow(), 1, 1, sheet.getLastColumn()).getValues()[0];
// الجسم مصفوفة سجلات: يجب أن تطابق المفاتيح روابط التصميم.
const record = {};
header.forEach((col, i) => record[col] = row[i]);
const res = UrlFetchApp.fetch(
'https://api.zplcloud.com/v1/zpl/render/design/' + DESIGN_ID,
{
method: 'post',
contentType: 'application/json',
headers: { 'X-API-Key': API_KEY },
payload: JSON.stringify([record]),
muteHttpExceptions: true // وإلا يرمي 4xx قبل أن تقرأ الرسالة
});
if (res.getResponseCode() !== 200) throw new Error(res.getContentText());
return res.getContentText(); // ZPL
}
حدّان يجب تصميم الحل حولهما، وكلاهما تفرضه API:
- 500 سجل لكل طلب - قسّم المطبوعات الأكبر إلى دفعات.
- جسم طلب 1 ميغابايت - مع بيانات ملصقات عادية فهذا آلاف الصفوف، لذا يبلغ حد السجلات أولًا.
أضف قائمة مخصصة (onOpen → SpreadsheetApp.getUi().createMenu(...)) وستحصل على إدخال طباعة في شريط قوائم الجدول نفسه.
4 - إيصال ZPL إلى الطابعة
الإنشاء والطباعة خطوتان مقصودتان—يمكنك الإنشاء الآن والطباعة لاحقًا، أو الإنشاء مرة والطباعة في ثلاثة مواقع.
- من المنصة: يطبع التصميم على طابعة Weblink أو وكيل بنقرة واحدة، دون سكربت.
- من كودك الخاص: أرسل ZPL إلى الطابعة عبر TCP 9100 من خلال الوكيل، أو سلّمه إلى CloudToBrowserPrint على جهاز المشغّل.
- لشخص: تجاوز السكربت كليًا وأعطه Print View (الخطوة التالية).
5 - Print View لمن يطبع فعلًا
أنشئ Print View من التصميم، وعلّم menge و ziel كقابلين للتعديل، وأقفل artikel_nr، وادعم العرض ببيانات الجدول أو بحث. شارك الرابط أو اطبع رمز QR وألصقه بجوار الطابعة.
يفتح المشغّل الرابط على هاتف، يمسح باركود المقال في الحقل، يفحص المعاينة الحية ويضغط طباعة. بلا تطبيق وبلا تدريب.
السلسلة كاملة
| المرحلة | ماذا | الوقت |
|---|---|---|
| 1 | طابعة + Weblink/وكيل + ملف تعريف | ~10 دقائق |
| 2 | تصميم بروابط مسماة كالأعمدة | ~5 دقائق |
| 3 | جدول بيانات، اختياريًا Apps Script | ~5 دقائق |
| 4 | مسار الطباعة (المنصة أو API أو Print View) | ~2 دقيقة |
| 5 | المشغّل يمسح ويطبع | ثوانٍ |
لماذا جدول البيانات خيار قابل للدفاع عنه
إنه ليس حلًا وسطًا تعتذر عنه. الجدول يمنحك إصدارات وتعليقات ووصولًا لكل مستخدم ومسار تدقيق من الصندوق، ولا يحتاج أحدًا للتدريب. حدوده الحقيقية هي التزامن وسلامة المراجع—عندما يعدّل شخصان نفس الصف أثناء وردية، أو عندما يجب أن تطابق قائمة المقالات ERP تمامًا، فهذه إشارة الانتقال إلى data hub والاستعلام عن SQL Server أو MongoDB مباشرة.
الترحيل محتوى: نفس التصميم ونفس الروابط ونفس Print View. فقط مصدر البيانات يتغير.