प्रिंटर सेटअप
प्रिंटर सेटिंग्स POS में Settings > Printer के अंतर्गत मिलती हैं। हर डिवाइस अपनी प्रिंटर कॉन्फ़िगरेशन खुद संभालता है — प्रिंटर स्थानीय रूप से सहेजे जाते हैं और डिवाइसों के बीच सिंक नहीं होते।
प्लेटफ़ॉर्म के अनुसार समर्थित प्रिंटर
Add Printer फ़ॉर्म आपके उपयोग किए जा रहे ऐप के अनुसार बदलता है — हर प्लेटफ़ॉर्म केवल वही कनेक्शन और विकल्प दिखाता है जिन्हें वह वास्तव में उपयोग कर सकता है।
| प्लेटफ़ॉर्म | समर्थित प्रिंटर | कनेक्शन |
|---|---|---|
| वेब ऐप | बिल्ट-इन वेब सर्वर वाले Epson और Star प्रिंटर | नेटवर्क (HTTP) |
| डेस्कटॉप ऐप | कोई भी नेटवर्क रसीद प्रिंटर | नेटवर्क (raw TCP) |
| iOS ऐप | Epson और Star | नेटवर्क, Bluetooth |
| Android ऐप | Epson और Star | नेटवर्क, Bluetooth, USB |
वेब ब्राउज़र raw TCP कनेक्शन नहीं खोल सकते। Epson और Star रसीद प्रिंटर में एक बिल्ट-इन वेब सर्वर होता है जो HTTP पर प्रिंट जॉब स्वीकार करता है — ब्राउज़र से ESC/POS कमांड भेजने का यही एकमात्र तरीका है। डेस्कटॉप ऐप में यह सीमा नहीं है क्योंकि वह सीधे TCP से कनेक्ट कर सकता है।
मोबाइल ऐप्स पर Bluetooth और USB प्रिंटिंग Epson और Star के आधिकारिक SDKs के जरिए होती है, इसलिए इन कनेक्शनों के लिए भी Epson या Star प्रिंटर चाहिए। Generic प्रिंटर केवल नेटवर्क पर काम करते हैं।
प्रिंटर जोड़ना
प्रिंटर सेटिंग्स खोलें
POS में Settings > Printer पर जाएँ। यदि अभी तक कोई प्रिंटर कॉन्फ़िगर नहीं है, तो आपको Add Printer बटन के साथ खाली स्थिति दिखाई देगी। हर प्रिंटर को एक Printer Name मिलता है — यह केवल एक लेबल है, जो अपने-आप "Receipt Printer" (फिर "Receipt Printer 2", और आगे इसी तरह) के रूप में भरा जाता है — जिसे आप प्रिंटरों को अलग पहचानने में मदद करने वाले किसी भी नाम में बदल सकते हैं।
चुनें कि प्रिंटर कैसे कनेक्ट होगा
यह चरण प्लेटफ़ॉर्म के अनुसार बदलता है:
- वेब ऐप — Vendor चुनें: Epson या Star। वेब पर यह पहला चयन है, क्योंकि ब्राउज़र केवल इन दो ब्रांडों के बिल्ट-इन वेब सर्वरों तक पहुँच सकते हैं।
- डेस्कटॉप ऐप — प्रिंटर नेटवर्क पर कनेक्ट होते हैं; यहाँ चुनने के लिए कुछ अतिरिक्त नहीं है।
- मोबाइल ऐप्स — Connection Type चुनें: Network, Bluetooth, या USB (USB केवल Android पर है)। नीचे के फ़ील्ड आपके चयन के अनुसार बदलते हैं।
प्रिंटर पहचानें
नेटवर्क प्रिंटर — IP Address दर्ज करें (उदाहरण के लिए 192.168.1.100)। WCPOS यह पता लगाने के लिए पते की जाँच करता है कि यह Epson या Star डिवाइस है या नहीं, और पोर्ट, कमांड भाषा तथा vendor को अपने-आप भर देता है। detection पूरा होने पर आपको "Detected: Epson" या "Detected: Star" लेबल दिखाई देगा। वेब ऐप पर यह वह सटीक endpoint URL भी दिखाता है जिससे वह कनेक्ट करेगा।
Bluetooth या USB प्रिंटर (मोबाइल) — खोजे गए डिवाइसों की सूची से अपना प्रिंटर चुनें। डिवाइस चुनने पर उसका नाम और vendor अपने-आप भर जाते हैं। यदि आपका प्रिंटर अभी सूची में नहीं है, तो Scan for printers (Bluetooth) या Refresh (USB) टैप करें।
यदि automatic detection सब कुछ सही नहीं करता, तो आप Advanced Settings के अंतर्गत सभी चीजें समायोजित कर सकते हैं।
सहेजें और टेस्ट करें
Save पर क्लिक करें। WCPOS पहले एक test print भेजता है, और प्रिंटर को केवल तभी सहेजता है जब वह सफल हो।
test print एक छोटा diagnostic है — numbered column ruler, centered normal और double-size text, left/right alignment row, और paper cut। इसे इसलिए बनाया गया है ताकि आप पुष्टि कर सकें कि paper width, alignment, sizing और cut सही ढंग से कॉन्फ़िगर हैं, न कि केवल इतना कि प्रिंटर पहुँच योग्य है।
यदि test विफल हो जाता है, तो आपको error के साथ Save without testing विकल्प दिखाई देगा ताकि profile फिर भी सहेजी जा सके।
कनेक्शन प्रकार (मोबाइल ऐप्स)
iOS और Android ऐप्स पर, प्रिंटर तीन तरीकों से कनेक्ट हो सकता है। Add Printer फ़ॉर्म के शीर्ष पर Connection Type चुनें, और connection fields उसी के अनुसार अपडेट होंगे।
नेटवर्क
प्रिंटर आपके डिवाइस के समान Wi-Fi नेटवर्क पर है। उसका IP address दर्ज करें — अपने प्रिंटर का IP Address ढूँढना देखें। नेटवर्क प्रिंटर Epson, Star या Generic हो सकते हैं।
Bluetooth
प्रिंटर Bluetooth के जरिए आपके डिवाइस से paired है। Scan for printers टैप करें और सूची से अपना प्रिंटर चुनें — उसका नाम और vendor अपने-आप भर जाते हैं। Bluetooth printing Epson और Star के native SDKs का उपयोग करती है, इसलिए प्रिंटर Epson या Star मॉडल होना चाहिए।
USB (केवल Android)
प्रिंटर USB केबल से कनेक्ट है। Refresh टैप करें और connected-device list से उसे चुनें। Bluetooth की तरह, USB printing के लिए Epson या Star प्रिंटर चाहिए। iOS में सामान्य USB peripheral support नहीं है, इसलिए यह विकल्प केवल Android पर दिखाई देता है।
Port setting केवल network printers पर लागू होती है — Bluetooth और USB connections के लिए यह छिपी रहती है।
उन्नत सेटिंग्स
प्रिंटर कॉन्फ़िगरेशन को fine-tune करने के लिए Advanced Settings फैलाएँ। vendor ज्ञात होने के बाद इनमें से अधिकांश अपने-आप भर जाते हैं।
| सेटिंग | विकल्प | विवरण |
|---|---|---|
| Vendor | Epson, Star, Generic | प्रिंटर निर्माता। वेब ऐप पर, Vendor फ़ॉर्म के शीर्ष पर primary choice है (केवल Epson या Star), advanced setting नहीं। Generic डेस्कटॉप और मोबाइल ऐप्स पर network printers के लिए उपलब्ध है, लेकिन Bluetooth या USB connections के लिए नहीं। |
| Port | अपने-आप भरा गया | प्रिंटर के लिए network port। केवल network — Bluetooth और USB के लिए छिपा हुआ। |
| Language | ESC/POS, StarPRNT, Star Line Mode | वह command protocol जिसे प्रिंटर समझता है। detected vendor से अपने-आप भरा जाता है। |
| Printer text width | 58mm (32 chars), 80mm standard (42 chars), 80mm wide (48 chars) | एक line में कितने characters फिट होते हैं। इसे अपने paper और printer से मिलाएँ — अधिकांश 80mm printers प्रति line 42 characters होते हैं, कुछ 48 होते हैं। |
| Full receipt raster | Off / On | पूरे receipt को text के बजाय image के रूप में print करें — नीचे Full receipt raster देखें। |
प्रिंटर विकल्प
ये toggles Add Printer फ़ॉर्म के नीचे होते हैं:
| विकल्प | विवरण |
|---|---|
| Auto-cut paper | हर receipt के बाद paper अपने-आप काटता है |
| Auto-open cash drawer | print करने के बाद connected cash drawer खोलने के लिए kick command भेजता है |
| Set as default | इसे default printer बनाता है — किसी specific printer पर route न की गई हर receipt के लिए उपयोग होता है |
sale पूरी होने पर receipt को अपने-आप print करना एक cart setting है, printer setting नहीं — POS cart settings में Auto-print receipt चालू करें। कौन सा printer उपयोग होगा, यह आपके default printer और per-template printer routing से तय होता है।
प्रिंट रूटिंग
यदि आप एक से अधिक template उपयोग करते हैं — जैसे thermal receipt और A4 invoice — तो print routing तय करता है कि हर template किस printer पर print होगा। Routing की तीन layers हैं, जिन्हें इस क्रम में जाँचा जाता है:
- Per-job override। receipt screen पर template switcher के पास printer dropdown होता है। यहाँ printer चुनने से उस एक print job के लिए बाकी सब override हो जाता है। template बदलने पर यह वापस Auto हो जाता है।
- Settings override। हर template को specific printer assign करने के लिए Settings → Print Routing पर जाएँ। उदाहरण के लिए, अपनी thermal receipt को Epson network printer पर और HTML invoice को system print dialog पर route करें। override हटाने के लिए template को वापस Auto पर सेट करें।
- Auto-match। जब कोई override set नहीं है, WCPOS अपने-आप match करता है:
- Thermal templates उन thermal printers पर route होते हैं जिनकी character width match करती है। 58mm thermal template 32-column printers को प्राथमिकता देता है; 80mm template 42 या 48-column printers को।
- HTML templates system print dialog पर route होते हैं।
- यदि कई printers match करते हैं, तो default printer को प्राथमिकता मिलती है।
यदि आप किसी incompatible printer पर template manually भेजते हैं — जैसे thermal template को system dialog पर — तो receipt screen पर amber mismatch warning दिखाई देती है। print जारी रहता है, लेकिन output सही render न हो सकता है।
Routing overrides per device store होते हैं। हर iPad, phone या computer अपनी routing खुद manage करता है — server-side sync नहीं है।
Print Routing settings page केवल तब दिखाई देता है जब आपने कम से कम एक printer जोड़ लिया हो। कोई printer configured न होने पर, हर template implicit रूप से system print dialog उपयोग करता है।
Full receipt raster
डिफ़ॉल्ट रूप से, WCPOS receipts को thermal printers पर text के रूप में भेजता है — तेज़, compact और crisp, printer के built-in fonts का उपयोग करते हुए। दिक्कत यह है कि thermal printer fonts केवल limited set of characters cover करते हैं। जिन scripts के लिए printer के पास font नहीं है — कई non-Latin alphabets, right-to-left text, कुछ symbols — वे blank boxes या garbled characters के रूप में आ सकते हैं।
Full receipt raster इसे ठीक करता है। जब यह on होता है, WCPOS पूरी receipt को image के रूप में render करता है और वह image printer को भेजता है, इसलिए printout बिल्कुल screen जैसा दिखता है — किसी भी language या script में।