Cloud-based business systems driving your company processes typically raise one label printing question: How can your cloud software print labels on your on-premise printers?
The answer is Loftware. Our cloud software communicates with both your cloud business systems and your on-premise printers. We provide information, samples, and configuration steps to enable you to print labels from your cloud-based applications.
You receive sample files to explore various direct integration options:
-
LoftwareAutomation configuration (MISX)
-
Sample label (NLBL)
-
Cloud system mockup website (AngularJS framework). The mockup website demonstrates integration options we explain below.
Cloud trigger printing, also known as server-based proxy printing, allows your cloud applications to communicate with server-based proxies (LoftwareAutomation), which process and print to local print queues available on your servers. No firewall modification is necessary to allow data from your cloud applications to pass to LoftwareAutomation. You send your data to APIs in Loftware Cloud, which forward your data to LoftwareAutomation securely using Azure Service Bus.
BENEFITS
-
Supports all printer brands/models.
-
Provides data enrichment (merging data from various external systems on the same label).
-
Returns label previews.
REQUIREMENTS
-
On-premise installation of LoftwareAutomation (integration system).
-
Printer drivers for all printers installed on your server with LoftwareAutomation.
-
Network-attached printers. Printing to locally connected printers (like USB printers) is only possible when they are shared in a network.
Cloud trigger integrates Loftware Cloud with your existing cloud-based business systems so you can print labels on your local printers. Modern IoT printers communicate directly with the cloud, but legacy printers do not. To print labels on legacy printers, install our on-premise integration system with your printers.
Cloud-based business systems do not communicate with on-premise software and devices. Firewalls protect your local networks from unsolicited requests from the internet.
Your cloud-based business systems produce outputs you send to our Loftware cloud-hosted Cloud trigger APIs (proxies). Our APIs relay outputs to your on-premise LoftwareAutomation for processing using secure Azure Service Bus messages (Microsoft cloud messaging service). You send messages as HTTPS requests using GET or POST methods.
Note | |
---|---|
Structures of payloads you send to APIs must match your LoftwareAutomation configurations. You can configure Automation to adapt to standard XML/JSON messages your cloud system can already generate. |
Your on-premise integration system merges label templates from Loftware Cloud DMS (Document Management System) with data received from your cloud business systems to print labels on your local printers.
Cloud Trigger transparently and securely integrates your local label printing with applications that communicate over the open internet located on different networks than your printers.
Workflow:
-
Send data from your cloud-based system to Loftware API in Loftware Cloud (HTTPS requests).
-
Your on-premise integration system receives data and processes requests following configurations you define in LoftwareAutomation configuration files.
-
Your labels print on local printers. Status responses get send back to your cloud-based system. Responses can also contain label previews or other custom data you need.
You make Loftware APIs print requests to:
https://labelcloudapi.onnicelabel.com/Trigger/v1/CloudTrigger/{triggerId}
You provide:
-
{triggerId}
: Your Cloud Trigger “unique identifier” (defined in your Automation configuration). -
Custom request header to provide your user credentials.
-
Set Ocp-Api-Subscription-Key to your subscription key.
-
-
Label data in either query strings (GET method) or message bodies (POST method).
The integration system processes the label data you provide and prints your labels. You can choose data input formats including CSV, XML, JSON, etc. You must create matching Automation trigger configurations to parse and process data you send into the trigger.
This integration pack example sends JSON messages to Loftware Cloud APIs:
https://labelcloudapi.onnicelabel.com/api/CloudTrigger/Api-CloudIntegrationDemo-Print
Sample outbound JSON message:
{ "FilePath": "/folder/label.nlbl", "FileVersion": "", "Quantity": "1", "Printer": "", "PreviewFormat": "PNG", "Variables": [ { "Product_name": "Syringe", "GTIN": "00311234567901", "LOT": "ABC123", "BestBefore": "10.05.22", "SSCC": "03831234560000001", "Count": "10" } ] }
This JSON message tells LoftwareAutomation to:
-
Create a PNG preview of label.nlbl.
-
Use key-value pairs from the Variables object.
This example of LoftwareAutomation configuration works with JSON. However, you can create custom LoftwareAutomation configurations for your specific situation. Custom configurations adapt to your existing application data structures.
For more information about configuring and running integration samples, read Appendix A: Integration bundle.
For more information about API definitions, read Appendix B: Cloud trigger API.
IoT printing with Cloud APIs, also known as direct printing, allows your cloud applications to print directly to your cloud-enabled printers. IoT printing with Cloud APIs does not require any local Loftware footprint or any locally installed Loftware software (like LoftwareAutomation or printer drivers).
BENEFITS
-
No local Loftware footprints.
REQUIREMENTS
-
Cloud-enabled printers which can connect to the Loftware Cloud service. For example, you can print with any Zebra Link-OS printer or SATO CL4NX / CL6NX printers.
Note Some Zebra printers with Link-OS Basic don't support Cloud Print (for example, Zebra ZD230). Check your printer's specification for the printer operating system. See also the list of Zebra DNA printers. Print DNA Basic printers don't support Cloud Print.
-
Reliable internet connections.
Cloud printers are smart label printers that connect to our Loftware Cloud print service and receive print jobs. Cloud printing lets you print from any applications or devices to cloud-connected printers, regardless of printer locations. Cloud printing also eliminates the need for printer drivers. Your Cloud Print service creates and delivers print jobs to your target printers via the cloud.
The diagram above shows cloud printing architecture. Printers register and connect to our Loftware Cloud print service. When you submit print requests, your cloud service merges label templates from DMS with your received data to create matching print jobs (for example, ZPL for Zebra printers, SBPL for SATO printers, etc.). Your cloud service delivers your print jobs over the internet to requested printers.
Cloud Print APIs become available when you enable the Cloud Print add-on for your Loftware Cloud subscription. Cloud Print APIs expose multiple HTTP REST methods for print integration. To use these methods, register your cloud-enabled printers in Loftware Cloud so they are visible to the service.
For example, the GET method “Printers” retrieves a list of all your registered printers and their live statuses. The POST method “Print” prints your selected labels from DMS to your cloud printers with your cloud application data.
You can provide API payloads as JSON or as XML data.
APIs process your provided label data and print your labels. Your labels always load from DMS.
You make Loftware API Print requests to:
https://labelcloudapi.onnicelabel.com/Print/v1/Print/{printerName}
You provide:
-
{printerName}
: Your cloud-connected printer name (defined at printer registration). For your list of registered printers, execute the GetPrinters method. -
Custom request header to provide your user credentials.
-
Set Ocp-Api-Subscription-Key to your subscription key.
-
-
Label data in either JSON or XML payloads.
Your JSON payloads can look like this:
{ "FilePath": "/folder/GS1-128.nlbl", "FileVersion": "", "Quantity": 1, "Variables": [ { "Product_name": "Syringe", "GTIN": "00311234567901", "LOT": "ABC123", "BestBefore": "10.05.22", "SSCC": "03831234560000001", "Count": "10" }, ], "PrinterSettings": "" }
For more information about API definitions, visit our Developer Portal.
For more information about Loftware Cloud printer registration and Developer Portal integration, read Cloud Printers.
With thin client printing, also known as client-based proxy printing, your cloud applications communicate with local proxies (LoftwareWeb Clients), which process and print labels to local print queues available on your computers.
BENEFITS
-
Supports all printer brands/models.
-
Performs data enrichment (merging data from various external systems on the same label).
-
Processes locally on your computers.
-
Prints to all local or network printers with drivers installed.
-
Displays label previews in your Web client.
REQUIREMENTS
-
Requires local Loftware footprint– you install small thin clients on each computer.
Your cloud-based business systems invoke your LoftwareWeb Client, which runs your custom label-printing Web application. You invoke your Web application from cloud applications via URI requests with label data provided in your query strings. Your Web application uses your locally installed printer drivers to print your business system data on your labels.
You create custom Web application user interfaces in LoftwareDesigner and run your custom Web applications as PowerForms solutions. The sample Web application user interface we include in your integration pack is minimal and only contains printer selection options.
LoftwareWeb Client registers custom URI schemes on your computer. URI technology allows cloud-based applications to start desktop applications and send them data.
In the following example, your Web application allows you to select default label printers. You can customize application user interfaces with features you need, including label preview displays.
Cloud-based systems call with URI methods like this:
nicelabelwebclient10:?server=https://<account>.onnicelabel.com/print&openMode=2&application=<applicationame>&variable=Var1=123&variable=Var2=ABC
You provide:
-
<account>
your Loftware Cloud account name. -
<applicationame>
your Web application name (defined in Control Center). -
openMode=2
when you receive new Web Client requests, your running Web application receives new variable values. -
variable=Var1=123
sets variable Var1 to value 123.
For more information, read Adjusting Web Printing.
For more information about your integration sample, read Appendix A: Integration bundle.
SSH File Transfer Protocols (SFTP) provide secure file transfer capabilities. Your cloud applications use SFTP to drop files over the internet. Connections between clients and FTP servers are encrypted so passwords and other sensitive information can be securely transferred over the network.
Loftware Automation is configured to monitor folders, while SFTP stores delivered files. FTP file drop location must be mounted locally and presented to Automation Service as a file share disk drive, mounted via file system. Automation Service user must have granted privileges to access this FTP destination location.
When files arrive, Loftware Automation picks them up for processing.
BENEFITS
-
Supports all printer brands/models.
-
Provides data enrichment (merging data from various external systems on the same label).
-
Returns label previews.
REQUIREMENTS
-
On-premise installation of LoftwareAutomation (integration system).
-
Printer drivers for all printers installed on your server with LoftwareAutomation.
-
Network-attached printers. Printing to locally connected printers (like USB printers) is only possible when they are shared in a network.
-
LoftwareAutomation must be able to access the file system where files from SFTP are stored.
When your business systems share local networks with Loftware integration systems, you have additional integration options for delivering label printing data to Loftware.
LoftwareAutomation accepts data the following ways:
-
File drops. Your applications save data into selected local or network folders. You can use data formats supported by your applications to create matching configurations and parse data in LoftwareAutomation (typically XML, JSON or CSV structures, but you can also use others).
-
Serial ports. Data comes from devices connected with RS-232 serial ports like barcode scanners and weight scales.
-
Databases.LoftwareAutomation monitors specified databases for changes. When Automation detects new records, your labels print automatically. Loftware can also monitor your business system databases directly with your authorization. Master data is often exported from business systems into intermediate databases that Loftware can access.
-
TCP/IP sockets. Allows raw data connections from network devices. Loftware can operate in server or client modes.
-
HTTP servers. Receives data from clients sending HTTP messages (native web application communication method). Messages are usually JSON-formatted, but Loftware supports all other data structures.
-
Web Services. Receives SOAP messages from clients. The underlying protocol is HTTP, and messages are XML-formatted.