Cross-Platform and Docker Compatibility for List & Label

Hello everyone,

When working with List & Label, especially in modern server environments, many of us encounter the familiar issue of requiring a printer driver to edit layouts or generate export formats like PDFs. This stems from List & Label’s tight integration with the Windows GDI, which relies on a printer driver as its device context.

While this dependency is rarely an issue in traditional desktop or Windows-based applications, it becomes increasingly challenging in modern architectures, such as cloud environments, web applications, or containerized solutions.


Current Challenges in Modern Environments

  1. Docker and Containerization:
  • In containerized environments like Docker, installing a printer driver is often impractical because containers typically use minimal operating system images that lack GDI or printer drivers. Moreover, Docker containers almost exclusively run on Linux hosts.
  • List & Label relies on the Windows GDI for all its functionalities, even for layout design or PDF export, restricting its use to Windows containers, which are less common in mixed or Linux-dominant environments.
  • Platform independence and resource efficiency are key principles of containerized architectures. Dependence on Windows and printer drivers runs counter to these principles.
  1. Web Applications:
  • In web applications running on IIS, issues can arise if the application pool (e.g., ApplicationPoolIdentity) lacks access to an installed printer driver. This often requires manual configuration of permissions or switching the application pool to a user account, which can be cumbersome.
  1. Cross-Platform Approaches:
  • Many modern applications rely on Linux servers for scalability, cost efficiency, and flexibility. List & Label’s strong dependency on the Windows GDI significantly limits its use in such environments.

Proposal: Cross-Platform Support and Decoupling from Windows GDI

To address the demands of modern architectures, future versions of List & Label could benefit from enhanced platform independence. Specifically, I propose the following:

  1. Move Away from Windows GDI as the Sole Rendering Technology:
  • Integrate modern graphics libraries like Skia or Cairo to handle rendering tasks without requiring printer drivers.
  1. Docker Compatibility:
  • Provide an official Docker image with pre-configured dependencies (e.g., a base image including all necessary rendering components).
  • Offer documentation and examples for integrating List & Label into containerized applications.
  1. Linux Support:
  • Develop a native Linux version of List & Label or middleware that operates on Linux servers and communicates seamlessly with existing applications.
  1. Optimization for Web Applications:
  • Introduce a “headless” mode designed specifically for server-side rendering and export tasks in web applications, eliminating the need for printer drivers entirely.

Benefits of These Approaches

  • Flexibility: Applications can be developed and deployed independently of the operating system.
  • Cost Efficiency: Easier use of cloud-native tools like Kubernetes and Docker.
  • Future-Proofing: List & Label remains relevant for developers adopting modern technologies and architectures.
  • Reduced Configuration Effort: Eliminates the need for specific user accounts or printer driver workarounds.

I believe that such advancements would not only alleviate the burden on current users but also attract new audiences seeking cross-platform solutions.

Looking forward to your thoughts and feedback!

@tsafadi Thank you very much for your balanced and well-crafted post. It is highly appreciated. If you take a look at our LinkedIn stream, you will notice that this matter is under serious consideration. More information will be available very soon.

See here: LinkedIn Login, Sign in | LinkedIn

1 Like

BTW - at least the printer driver dependency is no longer an issue since we’ve introduced the Printerless mode. However, as of now you still need a Windows machine to run on.

1 Like

@jbartlau Thanks for your quick reply! I appreciate Combit for taking the customers’ opinion into consideration. I will be looking forward

1 Like