Print Server Manager

The Print Server Manager lets you configure and manage automation components that run inside the Print Server (service), including REST API Servers, File Triggers, and Data Change Triggers.

  • REST API Servers – Print labels and perform other tasks through HTTP requests.
  • File Triggers – Automatically print labels and perform other tasks when monitored files are created or modified.
  • Data Change Triggers – Automatically print labels and perform other tasks when monitored data changes.

You can configure multiple REST API Servers (on different ports), File Triggers, and Data Change Triggers to automate different workflows.

Use the Print Server Manager to:

  • Create, configure, and delete automation components
  • Start and stop REST API Servers and triggers
  • View logs and activity statistics

To launch the Print Server Manager, open the Start menu in Windows and select AzureLabel Print Server Manager.

Run Print Server Manager

Alternatively, you can use the printServerManager command-line command.

To start a REST API Server, File Trigger, or Data Change Trigger, go to the State tab and click Start. To stop it, click Stop.

Start and stop REST API Servers, File Triggers, and Data Change Triggers

To create a REST API Server, File Trigger, or Data Change Trigger, go to the Triggers > Configuration tab, click the Plus button, and select the desired component type.

Optionally, specify a Name and Description. The Name is used throughout the interface—including the status dashboard, logs, and statistics—to identify the component.

Create a REST API Server, File Trigger, or Data Change Trigger

In the Triggers > Configuration tab, select the REST API Server you want to configure.

Switch to the Properties tab and configure the server settings.

Set Up API Server Properties

  • Autostart – if enabled, the REST API Server starts automatically when the Print Server starts.
  • Log input data – if enabled, all incoming data will be saved to the log.
  • Port – the port on which the server will listen for requests.
  • Log API requests – if enabled, all API requests will be saved to the log.
  • Reject requests with an empty or invalid API key – if enabled, requests with an empty or unrecognized API key are rejected.

To apply the changes, click Save configuration, then click Upload configuration to Print server. If the REST API Server is already running, stop and start it to apply the updated configuration.

Save Configuration

On the Actions tab, add actions to execute after each request. Each action can be configured with conditions.

In the Triggers > Configuration tab, select the File Trigger you want to configure.

Switch to the Properties tab and adjust the necessary settings.

Set Up File Trigger Properties
Set Up File Trigger Properties (2)

  • Autostart – if enabled, the File Trigger starts automatically when the Print Server starts.
  • Log input data – if enabled, imported print data is saved to the log. Available only for JSON file(s) with ready-to-use data and Loftware/NiceLabel-compatible XML print job, because only these sources provide the print data in a textual format.
  • Print data source – defines which source will be used as the print data for the labels.

    • JSON file(s) with ready-to-use data – a single JSON file that includes the label, data, and print settings, ready for printing.

      The file can be in AzureLabel JSON format as described in the "Request body" section of the "/labels/print" endpoint in the REST API documentation.

      Alternatively, the file can contain a simple array of objects, where each object represents a print data record.

      Example AzureLabel JSON file:

      {
          "label": "[PredefinedLabels]\\Other\\Lightweight clothing 2.albl",
          "printer": "<installed printer name>",
          "printData": {
              "source": "ready",
              "data": [
                  {
                      "PrintQuantity": "2",
                      "SKU": "AZL10001",
                      "Name": "Coffee Bag",
                      "Barcode": "123456789012",
                      "Price": 5.99,
                      "Original Price": 6.59,
                      "Description": "Premium roasted coffee beans",
                      "Image": "C:\\Program Files (x86)\\AzureLabel 2026\\res\\en\\Samples\\images\\coffee.png",
                      "Link": "https:\/\/azurelabel.com\/purchase",
                      "Code": "COF1001",
                      "Size": "M",
                      "Color": "light azure",
                      "Unit": "Each",
                      "Brand": "AzureLabel"
                  },
                  {
                      "PrintQuantity": "4",
                      "SKU": "AZL10002",
                      "Name": "Shampoo Bottle",
                      "Barcode": "234567890129",
                      "Price": 8.49,
                      "Original Price": 9.34,
                      "Description": "Moisturizing shampoo for all hair types",
                      "Image": "C:\\Program Files (x86)\\AzureLabel 2026\\res\\en\\Samples\\images\\shampoo.png",
                      "Link": "https:\/\/azurelabel.com\/purchase",
                      "Code": "SHA1002",
                      "Size": "M",
                      "Color": "light azure",
                      "Brand": "AzureLabel"
                  },
                  {
                      "label": "[PredefinedLabels]\\Other\\Lightweight clothing.albl",
                      "printer": "printToPdf",
                      "outputFile": "#formula#'c:\\test_labels'",
                      "PrintQuantity": "3",
                      "SKU": "AZL10003",
                      "Name": "Snack Bar",
                      "Barcode": "345678901236",
                      "Price": 1.99,
                      "Original Price": 2.19,
                      "Description": "Delicious energy snack bar",
                      "Image": "C:\\Program Files (x86)\\AzureLabel 2026\\res\\en\\Samples\\images\\snack.png"
                  }
              ]
          }
      }                        
      

      Example JSON file with a simple structure:

      [
          {
              "label": "[PredefinedLabels]\\Other\\Lightweight clothing 2.albl",
              "printer": "<installed printer name>",
              "PrintQuantity": "2",
              "SKU": "AZL10001",
              "Name": "Coffee Bag",
              "Barcode": "123456789012",
              "Price": 5.99,
              "Original Price": 6.59,
              "Description": "Premium roasted coffee beans",
              "Image": "C:\\Program Files (x86)\\AzureLabel 2026\\res\\en\\Samples\\images\\coffee.png",
              "Link": "https:\/\/azurelabel.com\/purchase",
              "Code": "COF1001",
              "Size": "M",
              "Color": "light azure",
              "Unit": "Each",
              "Brand": "AzureLabel"
          },
          {
              "label": "[PredefinedLabels]\\Other\\Lightweight clothing 2.albl",
              "printer": "<installed printer name>",
              "PrintQuantity": "4",
              "SKU": "AZL10002",
              "Name": "Shampoo Bottle",
              "Barcode": "234567890129",
              "Price": 8.49,
              "Original Price": 9.34,
              "Description": "Moisturizing shampoo for all hair types",
              "Image": "C:\\Program Files (x86)\\AzureLabel 2026\\res\\en\\Samples\\images\\shampoo.png",
              "Link": "https:\/\/azurelabel.com\/purchase",
              "Code": "SHA1002",
              "Size": "M",
              "Color": "light azure",
              "Brand": "AzureLabel"
          },
          {
              "label": "[PredefinedLabels]\\Other\\Lightweight clothing.albl",
              "printer": "printToPdf",
              "outputFile": "#formula#'c:\\test_labels'",
              "PrintQuantity": "3",
              "SKU": "AZL10003",
              "Name": "Snack Bar",
              "Barcode": "345678901236",
              "Price": 1.99,
              "Original Price": 2.19,
              "Description": "Delicious energy snack bar",
              "Image": "C:\\Program Files (x86)\\AzureLabel 2026\\res\\en\\Samples\\images\\snack.png"
          }
      ]
      

    • Label's import settings – uses the label's built-in import settings as the print data source. Configure and test the import settings in the Designer, then specify the label here. The trigger uses these import settings to import print data.
    • Shared import settings – uses import settings from a specified file as the print data source. Configure and test the import settings in the Designer, then specify the import settings file here. The trigger uses these import settings to import print data.
    • Loftware/NiceLabel-compatible XML print job – a single XML file that includes the label, data, and print settings, ready for printing.
  • Detect a specific file or set of files in the selected folder:
    • If the selected Print data source is JSON file(s) with ready-to-use data or Loftware/NiceLabel-compatible XML print job, specify one or more files whose modification will trigger label printing or other actions. Alternatively, specify a folder — any new matching file that appears in it will serve as a trigger.

      You can use the wildcard characters ? and * to match multiple files, or specify a folder directly. The server processes each file that matches the defined pattern.

    • If the selected Print data source is Label's import settings, specify a label file. The File Trigger uses the label's import settings to determine which files to monitor and imports print data when changes are detected.
      • If Tracking type on the Batch printing tab is Track file changes for the source defined in the Connection tab, the file selected as the data source on the Connection tab is monitored.
      • If Tracking type on the Batch printing tab is Track the appearance of files in the specified folder, the folder and file pattern specified in the Tracking folder field are monitored. Wildcard characters * and ? can be used.
    • If the selected Print data source is Shared import settings, specify an import settings file. The File Trigger uses these import settings to determine which files to monitor and imports print data when changes are detected.
      • If Tracking type on the Batch printing tab is Track file changes for the source defined in the Connection tab, the file selected as the data source on the Connection tab is monitored.
      • If Tracking type on the Batch printing tab is Track the appearance of files in the specified folder, the folder and file pattern specified in the Tracking folder field are monitored. Wildcard characters * and ? can be used.

To apply the changes, click Save configuration, then click Upload configuration to Print server. If the File Trigger is already running, stop and start it to apply the updated configuration.

Save Configuration

On the Actions tab, add actions to execute when the trigger runs. Each action can be configured with conditions.

In the Triggers > Configuration tab, select the Data Change Trigger you want to configure.

Switch to the Properties tab and adjust the necessary settings.

Set Up Data Change Trigger Properties

  • Autostart – if enabled, the Data Change Trigger starts automatically when the Print Server starts.
  • Log input data – if enabled, imported print data is saved to the log. Available only for JSON file(s) with ready-to-use data and Loftware/NiceLabel-compatible XML print job, because only these sources provide the print data in a textual format.
  • Print data source – defines which source will be used as the print data for the labels.

    • JSON file(s) with ready-to-use data – a single JSON file that includes the label, data, and print settings, ready for printing.

      The file can be in AzureLabel JSON format as described in the "Request body" section of the "/labels/print" endpoint in the REST API documentation.

      Alternatively, the file can contain a simple array of objects, where each object represents a print data record.

      Example AzureLabel JSON file:

      {
          "label": "[PredefinedLabels]\\Other\\Lightweight clothing 2.albl",
          "printer": "<installed printer name>",
          "printData": {
              "source": "ready",
              "data": [
                  {
                      "PrintQuantity": "2",
                      "SKU": "AZL10001",
                      "Name": "Coffee Bag",
                      "Barcode": "123456789012",
                      "Price": 5.99,
                      "Original Price": 6.59,
                      "Description": "Premium roasted coffee beans",
                      "Image": "C:\\Program Files (x86)\\AzureLabel 2026\\res\\en\\Samples\\images\\coffee.png",
                      "Link": "https:\/\/azurelabel.com\/purchase",
                      "Code": "COF1001",
                      "Size": "M",
                      "Color": "light azure",
                      "Unit": "Each",
                      "Brand": "AzureLabel"
                  },
                  {
                      "PrintQuantity": "4",
                      "SKU": "AZL10002",
                      "Name": "Shampoo Bottle",
                      "Barcode": "234567890129",
                      "Price": 8.49,
                      "Original Price": 9.34,
                      "Description": "Moisturizing shampoo for all hair types",
                      "Image": "C:\\Program Files (x86)\\AzureLabel 2026\\res\\en\\Samples\\images\\shampoo.png",
                      "Link": "https:\/\/azurelabel.com\/purchase",
                      "Code": "SHA1002",
                      "Size": "M",
                      "Color": "light azure",
                      "Brand": "AzureLabel"
                  },
                  {
                      "label": "[PredefinedLabels]\\Other\\Lightweight clothing.albl",
                      "printer": "printToPdf",
                      "outputFile": "#formula#'c:\\test_labels'",
                      "PrintQuantity": "3",
                      "SKU": "AZL10003",
                      "Name": "Snack Bar",
                      "Barcode": "345678901236",
                      "Price": 1.99,
                      "Original Price": 2.19,
                      "Description": "Delicious energy snack bar",
                      "Image": "C:\\Program Files (x86)\\AzureLabel 2026\\res\\en\\Samples\\images\\snack.png"
                  }
              ]
          }
      }                        
      

      Example JSON file with a simple structure:

      [
          {
              "label": "[PredefinedLabels]\\Other\\Lightweight clothing 2.albl",
              "printer": "<installed printer name>",
              "PrintQuantity": "2",
              "SKU": "AZL10001",
              "Name": "Coffee Bag",
              "Barcode": "123456789012",
              "Price": 5.99,
              "Original Price": 6.59,
              "Description": "Premium roasted coffee beans",
              "Image": "C:\\Program Files (x86)\\AzureLabel 2026\\res\\en\\Samples\\images\\coffee.png",
              "Link": "https:\/\/azurelabel.com\/purchase",
              "Code": "COF1001",
              "Size": "M",
              "Color": "light azure",
              "Unit": "Each",
              "Brand": "AzureLabel"
          },
          {
              "label": "[PredefinedLabels]\\Other\\Lightweight clothing 2.albl",
              "printer": "<installed printer name>",
              "PrintQuantity": "4",
              "SKU": "AZL10002",
              "Name": "Shampoo Bottle",
              "Barcode": "234567890129",
              "Price": 8.49,
              "Original Price": 9.34,
              "Description": "Moisturizing shampoo for all hair types",
              "Image": "C:\\Program Files (x86)\\AzureLabel 2026\\res\\en\\Samples\\images\\shampoo.png",
              "Link": "https:\/\/azurelabel.com\/purchase",
              "Code": "SHA1002",
              "Size": "M",
              "Color": "light azure",
              "Brand": "AzureLabel"
          },
          {
              "label": "[PredefinedLabels]\\Other\\Lightweight clothing.albl",
              "printer": "printToPdf",
              "outputFile": "#formula#'c:\\test_labels'",
              "PrintQuantity": "3",
              "SKU": "AZL10003",
              "Name": "Snack Bar",
              "Barcode": "345678901236",
              "Price": 1.99,
              "Original Price": 2.19,
              "Description": "Delicious energy snack bar",
              "Image": "C:\\Program Files (x86)\\AzureLabel 2026\\res\\en\\Samples\\images\\snack.png"
          }
      ]
      

    • Label's import settings – uses the label's built-in import settings as the print data source. Configure and test the import settings in the Designer, then specify the label here. The trigger uses these import settings to import print data.
    • Shared import settings – uses import settings from a specified file as the print data source. Configure and test the import settings in the Designer, then specify the import settings file here. The trigger uses these import settings to import print data.
    • Loftware/NiceLabel-compatible XML print job – a single XML file that includes the label, data, and print settings, ready for printing.
  • File:
    • If the selected Print data source is JSON file(s) with ready-to-use data or Loftware/NiceLabel-compatible XML print job, specify a file whose data modification will trigger label printing or other actions.

    • If the selected Print data source is Label's import settings, specify a label file. The Data Change Trigger periodically imports data using the label's import settings and executes actions when the imported data changes.
    • If the selected Print data source is Shared import settings, specify an import settings file. The Data Change Trigger periodically imports data using these import settings and executes actions when the imported data changes.
  • First data import action:
    • Print imported data – the data imported during the first check is treated as changed, so labels are printed and the configured actions are executed.
    • Initialize comparison data – the data imported during the first check is stored as the initial comparison data. Labels are not printed and no actions are executed until a subsequent check detects changes.

To apply the changes, click Save configuration, then click Upload configuration to Print server. If the Data Change Trigger is already running, stop and start it to apply the updated configuration.

Save Configuration

On the Actions tab, add actions to execute when the trigger runs. Each action can be configured with conditions.