الطباعة الخام
تم تقديمه في الإصدار 12
يسمى إرسال سلسلة من الأوامر إلى الطابعة مباشرةً بلغتها الأصلية بالطباعة الأولية.
تحتاج العديد من الطابعات الحرارية إلى إرسال هذه الأوامر الأولية إليها لتنفيذ وظائف مثل طباعة الباركود وطباعة الإيصالات وطباعة الملصقات وما إلى ذلك. وتتجاوز الطباعة الأولية برامج تشغيل الطابعة في معظم الحالات، مما يجعلها سريعة وموثوقة للغاية. الطباعة الخام قادرة أيضًا على القيام ببعض الميزات المتقدمة مثل قطع ورق الإيصالات، وإخراج أدراج النقود، وما إلى ذلك.
1. إعداد الطباعة الأولية في BITEX
1.1 تثبيت تطبيق QZ Tray على جهاز الكمبيوتر العميل
Download and install the QZ Tray application on the computer to which your thermal printer is connected. This application can be found at its official site. Currently, Windows, macOS, and Linux are supported by QZ Tray. During the installation you will be prompted to install Java if not already installed, please install Java to complete the installation.
Further instructions on installing the QZ Tray Application can be here.
1.2 إنشاء تنسيق طباعة الأوامر الأولية
To be able to send raw commands to a printer you need to first create a print format in raw commands. Jinja Templating Language is used in raw commands just like in the HTML custom print format.
لإنشاء تنسيق طباعة جديد للطباعة الأولية:
- انتقل إلى قائمة تنسيق الطباعة: الصفحة الرئيسية > الإعدادات > الطباعة > تنسيق الطباعة
- انقر على جديد.
- حدد DocType ذات الصلة.
- تحقق من خيارات التنسيق المخصص والطباعة الأولية.
- املأ الحقل الأوامر الأولية بالأوامر الأولية المطلوبة لإرسالها إلى الطابعة.
- انقر فوق حفظ.
حاليًا، يمكن استخدام أي لغات طابعة تعتمد على السلسلة في الحقل Raw Commands في تنسيق الطباعة. تتطلب كتابة الأوامر الأولية معرفة اللغة الأصلية للطابعة التي توفرها الشركة المصنعة للطابعة. يرجى الرجوع إلى دليل المطور المقدم من الشركة المصنعة للطابعة حول كيفية كتابة الأوامر الأصلية الخاصة بها.
1.3 تمكين الطباعة الأولية في إعداد الطباعة
لتمكين الطباعة الأولية:
- انتقل إلى: الصفحة الرئيسية > الإعدادات > الطباعة > إعدادات الطباعة > الطباعة الأولية.
- حدد الخيار تمكين الطباعة الأولية.
- حفظ.
2. طرق الاستفادة من الطباعة الخام في BITEX
هناك طريقتان لإرسال أوامر الطباعة الأولية إلى الطابعة الخاصة بك.
2.1 النقر فوق طباعة في صفحة عرض الطباعة
لطباعة تنسيق طباعة أمر أولي من طريقة عرض طباعة المستند:
حدد تنسيق الطباعة المناسب. بالنسبة لتنسيق الطباعة في أوامر Raw، تظهر رسالة "لا توجد معاينة متاحة" بدلاً من معاينة الطباعة.
انقر على زر الطباعة.
يُرجى السماح بمطالبة الاتصال من علبة QZ للإجراءات التي بدأتها (اختصار لوحة المفاتيح: Alt + A).
قد يُطلب منك تحديد "تنسيق الطباعة - تعيين الطابعة".
- يتم استخدام هذا التعيين لإرسال أوامر الطباعة إلى الطابعة المناسبة.
- يجب تثبيت الطابعة على جهاز الكمبيوتر الخاص بك حتى تتمكن من تعيينها إلى تنسيق الطباعة.
- يتم تخزين هذا التعيين محليًا على نفس الكمبيوتر ويجب تعيينه على كل جهاز عميل.
- يمكنك أيضًا تعديل ذلك بالنقر فوق الزر إعدادات الطابعة.
2.2 استدعاء وظائف الطباعة الأولية من البرنامج النصي للعميل
It is often a requirement that a print command has to be issued on a certain event (like submit, save, amend, etc.). It is possible to write a client script to do this for you.
فيما يلي وظائف الطباعة الأولية ذات الصلة:
- الوظيفة:
frappe.ui.form.qz_connect
- مجمع اتصال لتأسيس اتصال مع تطبيق QZ Tray.
- يُرجع وعدًا يتم حله عند إنشاء اتصال ناجح.
- يسمح بحل الاتصالات النشطة وغير النشطة بغض النظر. ومن ثم يمكن استدعاؤه في كل مرة قبل إرسال الأمر.
- مثال الاستخدام:
frappe.ui.form.qz_connect()
.then(function () {
return qz.print(config, data);
})
.then(frappe.ui.form.qz_success)
.catch(err => {
frappe.ui.form.qz_fail(err);
});
qz هنا هو كائن عام توفره مكتبة qz-tray.js.
- الوظيفة:
frappe.ui.form.qz_get_printer_list
- يمنحك قائمة الطابعات المتوفرة لتطبيق QZ Tray
- إرجاع وعد يتم حله إلى قائمة الطابعات
مثال الاستخدام:
frappe.ui.form.qz_get_printer_list().then(
// Required action on getting the printer list.
// Note: Printer list is a array of strings.
);
- الوظيفة:
frappe.ui.form.qz_success
- يعرض رسالة "تم إرسال الطباعة إلى الطابعة!" تنبيه للمستخدم. يمكن استدعاؤه بعد نجاح أمر الطباعة.
- الوظيفة:
frappe.ui.form.qz_fail
- يعرض رسالة الخطأ للمستخدم. يجب أن يتم استدعاؤه عند فشل اتصال QZ Tray.
You can also directly access the functions provided by the qz-tray.js library via the qz object. Click here for qz-tray.js library documentation. Note: The qz object is initialized only after calling the frappe.ui.form.qz_connect for the first time. In case you require the qz object before that you can use the frappe.ui.form.qz_init.