Case Studies

Zebra Label Printer

Database-Driven Web and Desktop Applications for Custom Label Management System

Posted in Application Development, Chemical, Digital Workplace Solutions, Medical and Pharmaceutical, PC Application Development, Printing, Web Application Development


DMC designed, developed, and implemented a label management system for a medical diagnostics company. Labeling is a critical element in the manufacturing of products in the healthcare industry, and the Occupational Safety and Health Administration (OSHA) requires strict compliance with several labeling standards. This demands that labels go through a thorough quality control process and all changes and modifications to the labels are tracked and documented. The label management system developed by DMC provides a simple way to manage and track labels and initiate batch printing. 

Desktop Application - Summary Screen

Desktop Application - Summary Screen

Desktop Application - Print Job Setup Screen

Desktop Application - Print Job Setup Screen

Web Application - Products Page

Web Application - Products Page

Web Application - Approval Form Page

Web Application - Approval Form Page


DMC developed a label management system comprised of three components:


The database serves as a central repository for all label configuration data. It is a Microsoft SQL database stored in an on-premise server to ensure continuous stable connectivity from the desktop application and web application. The database schema was designed to support change tracking, so the edit history of any given label can be retrieved and viewed. In additional to label data, the database stores records of all batch printing jobs initiated by the desktop application.

Desktop Application

The desktop application allows operators to manage and initiate batch label print jobs. Users log in to the application with the same Active Directory credentials they use to log in elsewhere in the company network; once the credentials are verified, the application checks the database to determine if the user has access to the application.

Use of the application centers around the management of new print jobs. Users can switch between existing print jobs and add new ones by using the tabbed interface along the left side of the screen. Users may also view a summary screen showing detailed information on all active print jobs.

Creating a print job follows a simple and straightforward process. Users first enter a material number located on the bill of work for the print job they will be initiating. The application retrieves all label artworks associated with that material number and places them into a dropdown for the user to select from. Once an artwork is selected, read-only information pulled from the database is displayed on the right side of the screen so the user may verify they have selected the correct label artwork to print.

Additionally, a list of variable data parameters that need to be filled in for the selected artwork appear. The user must provide data for all of these parameters. Indicators next to each field let the user know what sort of data needs to be supplied for each parameter (e.g. the Expiration Date parameter requires a future date) and whether or not the entered data is valid. Once all data has been entered correctly, the user may generate a print preview to verify the label is formatted correctly.

The final step is to select a printer. This brings up status information about the selected printer (such as whether it is idle, currently printing, in an error state, etc.) and allows the user to bring up the print preferences dialog to configure any printer settings. The user is also allowed to print sample labels as a final check to make sure everything is correct. Once the user is ready, they fill in the number of labels to print and initiate the job. All fields and dropdowns are locked until the print job completes or is manually stopped. 

Web Application

The web application serves as a front-end to the database, allowing for the creation, modification, and management of labels. This includes managing the label stock that labels are printed on, the artwork defining what the labels look like, and the products that the labels are for.

The web application automatically grabs a user’s Active Directory credentials to log them in. The actions a user can take as well as the portions of the web application they can see are tied to their permissions. By default, users can only view label data. Users with administrative privileges can grant additional permissions to any user, expanding their list of capabilities to modifying label data, approving label changes, and uses the desktop application to print labels.

When a record is changed, it moves from an “Approved” state to a “Pending” state. No more changes to that record can occur until a user with approval permissions either approves or rejects the changes. Until that happens, the desktop application uses the latest approved data for any print jobs that are initiated. To facilitate the approval process, users can view a side-by-side comparison of what changed in a “Delta V Report”.

Since some users may wish to request a change without having the permission to do so, a “Change Request Form” can be accessed for any given record. This lists out all the data tied to a record with a second column where the user may type in their desired changes. They can then save or print a printer-friendly version of the form.

To make creating brand new records easier, a “Copy From” feature allows users to begin creating a new record with another record’s data as a template.

Viewing the potentially large quantities of records is simple with the ability to quickly sort and filter grids on any column.


Customer Benefits

Simplification: Batch printing, which previously required the use of several applications and multiple configuration steps, is simplified into a single application. Initiating print jobs now only requires an operator to input a job number, with all other label information auto-populating from a database.

Flexibility: The system was designed to be able to work with various label file types and printers. To best fit the client’s existing products and files, initial support was developed for PDF and BarTender labels and for Zebra Label printers, with the ability to easily expand support in the future.

Permissions-based control: The various functions and capabilities of the label management system are tied to specific, assignable permissions to ensure the system is tailored to each user.

Standardization: The prior label printing process varied between product lines. The new system standardizes the process across all product lines, which allows for simpler roll-out of future changes and easier cross-training between product lines.

Change tracking: Every action that involves creating, obsoleting, or modifying labels is automatically change tracked. Changes also require approval before they are used in new print jobs.


  • .NET Framework 4.5
  • Windows Presentation Foundation (WPF)
  • Microsoft SQL Server
  • Internet Information Services (IIS)
  • C#
  • HTML / CSS
  • Javascript / jQuery / Typescript
  • BarTender Barcode Software
  • Zebra Label Printers