Home / 

Imagine running a business in Lebanon, where daily inflation constantly forces you to adjust your prices. You must update your labels daily to reflect the rising inflation rate and to keep your profits stable. Although this is an extreme scenario, today's fast-paced business landscape requires us to have flexible solutions for managing pricing, inventory, and other essential information. Utilizing a remote system compatible with any platform or printer allows us to print updated labels efficiently and stay competitive in the ever-changing market.

Printing labels, price tags, and packing slips are crucial in any efficient transfer-receive stock management system. Proper labeling streamlines the flow of goods, ensures accurate pricing, and facilitates smooth tracking throughout the supply chain. Accurate labeling and pricing prevent confusion and discrepancies and improve your brand's credibility and reputation, ultimately fostering a positive customer experience, driving repeat business, and boosting the bottom line.

In this blog, we share our experience on how we helped a company create a label printing solution that can work on multiple platforms and allows them to print remotely.

Project Overview

Store label printers work well with local area networks (LANs) and Windows desktops. As part of the overall stock transfer solution, we developed a new system allowing users to download files to the desktop and send them to the locally connected printer or via the network.

We recognize that in today's technology-driven world, businesses require flexible and accessible printing solutions that support a range of portable devices and tablets. Therefore, the principles we discuss regarding label printing using iPads can apply to any mobile device or tablet.

Project Challenges

Enabling remote label printing poses several challenges. Two key issues we addressed included:

  1. The company needed the label printing software to support AirPrint, the technology iPads use to send documents for printing.
  2. As the printers are Windows-based, there was no support for the OSX platform. Moreover, the scripts must be sent to the printers as a stream using the MPCL-II format to print labels successfully.

To address these challenges, we developed a comprehensive solution that would seamlessly work with all iPad devices and across any network. Since it was crucial to eliminate any dependency on specific networks or product-specific technologies, we aimed to empower the users to effortlessly send print labels from their devices without encountering any obstacles. By overcoming these challenges, our goal was to provide businesses with a universal and user-friendly remote label printing solution.

Solution Approach

After developing many proof-of-concept implementations, we implemented remote printing support using a print server. This approach allows users to send print jobs to a print queue, avoiding OS dependency issues.

Refer to the below image for Solution Architecture.


In this solution, the user selects the items they want to print labels for and clicks the print button. The user interface (UI) then posts the label scripts and active store details to the API. Next, the API chooses the available label printer for the store and sends the script to the print server to generate the print job. The print server creates the print job and adds it to the desired printer's print queue. Finally, the label printer accepts the print job and prints the labels.

The API plays a crucial role in choosing the most suitable label printer for the store and sending the script to the print server to generate the print job. Once the print server has created the print job, it adds it to the desired printer's print queue. Finally, the label printer accepts the print job and produces the required labels.

The intuitive and efficient system minimizes the complexity and dependency on specific hardware and software. It enables users to easily print labels remotely, contributing to the smooth functioning of their businesses' supply chain and inventory management processes.

In this approach, different components belong to various applications, summarized in Table 1.

Component Belongs To
UI and API Stock Transfer System
Task API Print Server
API that posts print jobs Print Server

Other Approaches

Before choosing the above-mentioned solution, we evaluated the three strategies described next. Table 2 summarizes other implementations we explored.

Approach Description Problems with the Approach
Label printers are typically supported by Windows right out of the box. Each store generally uses a single Windows kiosk terminal to print tags. In this approach, we transmitted the print script to their local desktop. We then provided users with a shortcut that directs the print script to a local network printer for printing. Users can download scripts onto their local system for printing purposes. To print a new script, they must download it manually to ensure the new one doesn’t overwrite the old file. This process involves two distinct actions to complete a single print operation.
We developed a single API connecting directly to a locally connected printer. This streamlined solution sends the print script directly to the printer, eliminating the need for two separate operations. This API is designed to work exclusively with locally connected printers. Users must access the app through a Windows-based system, as it doesn’t not support other operating systems.
We decided to implement remote printing to enhance compatibility and remove reliance on a specific device type or operating system. This allows us to send print scripts directly to the printer, even when it's not connected to the local network. To accomplish this, we set up a Windows Spooler Service on a shared server and added printers as queues. The app has an API that posts print data as a print job to the spooler service, which then sends it directly to the printer. This method was ineffective because It couldn't send the print scripts to the Windows Spooler Service. Therefore, we needed to create Windows print commands to submit the print job.

Technologies Used

We developed a universal remote label printing solution using a combination of technologies like JavaScript, Java, React, Next.js, Java Spring Boot, and MPCL-II. Each technology played a significant role in creating a comprehensive and efficient solution.

Conclusion

In today's dynamic business environment, the importance of efficient inventory management, a streamlined supply chain, and accurate pricing cannot be overstated. Businesses must adapt and leverage innovative solutions to stay competitive and maintain operational excellence in the face of evolving market demands and technological advancements.

Our universal remote label printing solution is designed to enhance these facets of your business, offering a streamlined, efficient, and innovative approach to label printing. This solution, designed to work seamlessly across multiple platforms, devices, and printers, successfully circumvents traditional limitations, making remote label printing an easily accessible reality for businesses. In today's digital environment, our unwavering dedication is to deliver cutting-edge solutions that stay up-to-date and tackle the emerging demands of the ever-changing business landscape.