ThermalLabel Web API can be used for designing from simple to complex labels layout supporting Texts, Barcodes, Graphics and Images, RFID Tags, and Shapes like circles, ellipses, rectangles, and lines. It provides an unified object model which will allow you to create one label design and export/convert it to either raw Zebra, EPSON & Honeywell-Intermec, HP PCL printer commands as well as to image or document formats like JPEG/JPG, PNG, PCX, SVG, HTML, and PDF!
Expressions/Formulas can include a combination of variables, constants, operators, functions, and references to label Items as well as to data fields in a data merging/binding scenario.
Expressions are set to any Item in the label to dynamically set the Item's content based on the expressions result.
ThermalLabel Web API ships with 100+ built-in well-known functions.
Text items supporting multi-line, content alignment, sizing, Unicode,
RTL (Hebrew, Arabic, etc.), Custom and installed TTF files, White Text
On Black, rotation, horizontal alignment, counters, and text masking.
Graphic, Image & Picture items supporting image formats like
JPG/JPEG, and PNG; monochrome conversion features like Threshold and
Floyd-Steinberg algorithms and reversing; sources image like files, base64 as
well as binary content.
Shape items supporting Tables/Grids, lines (horizontal, vertical, and diagonals),
rectangles with rounded corners, circles and ellipses.
Repeater items supporting fixed count and data bound items repetition.
RFID items supporting ASCII, HEX as well as EPC Data Structures. (NOTE: Only available for ZPL & Fingerprint printers)
Designed by following some of the REST principles, ThermalLabel Web API for Docker responds to simple HTTP GET & POST requests by specifying the right parameters through a JSON object in the request body, returning the output processing in the raw commands, image or document formats specified through the Accept header.
ThermalLabel Web API for Docker is available at Docker Hub registry.
To pull/download the Docker image, please type the following from a Terminal:
AMDTo run the Docker image, please type the following from a Terminal:
AMDBy default, our Docker image exposes ports 80
and 443
only. If you want to expose and use another different port, then do the following.
12345
. Create a new Dockerfile and edit it by pasting the following content:
FROM neodynamic/thermallabelwebapi:4.0.12
EXPOSE 12345
The desired output rendering format must be specified through the Accept header. The supported formats are the following:
Accept | Description |
---|---|
image/png |
Returns the first rendered label in PNG format. If the specified params generate more than one label, then you should specify image/png+json or image/png+zip values instead. |
image/jpeg |
Returns the first rendered label in JPEG/JPG format. If the specified params generate more than one label, then you should specify image/jpeg+json or image/jpeg+zip values instead. |
image/svg+xml |
Returns all the rendered labels in SVG format. |
application/pdf |
Returns all the rendered labels as a single PDF document. The PDF file will contain as many pages as rendered labels. |
image/vnd.zbrush.pcx |
Returns the first rendered label in PCX format. If the specified params generate more than one label, then you should specify image/vnd.zbrush.pcx+json or image/vnd.zbrush.pcx+zip values instead. |
text/html |
Returns all the rendered labels in HTML format. |
application/vnd.zpl |
Returns all the rendered labels in Zebra ZPL format. |
application/vnd.epl |
Returns all the rendered labels in Zebra EPL format. |
application/vnd.fingerprint |
Returns all the rendered labels in Honeywell-Intermec Fingerprint format. |
application/vnd.escpos |
Returns all the rendered labels in EPSON ESC/POS format. |
image/png+json |
Returns all the rendered labels as a JSON Array containing each label in Base64 PNG Data URI scheme. The returned JSON Object will have this structure: {labels:["data:image/png;base64,<BASE64-STRING>", "data:image/png;base64,<BASE64-STRING>", ... ]} |
image/jpeg+json |
Returns all the rendered labels as a JSON Array containing each label in Base64 JPEG Data URI scheme. The returned JSON Object will have this structure: {labels:["data:image/jpeg;base64,<BASE64-STRING>", "data:image/jpeg;base64,<BASE64-STRING>", ... ]} |
image/svg+xml+json |
Returns all the rendered labels as a JSON Array containing each label in Base64 SVG Data URI scheme. The returned JSON Object will have this structure: {labels:["data:image/svg+xml;base64,<BASE64-STRING>", "data:image/svg+xml;base64,<BASE64-STRING>", ... ]} |
application/pdf+json |
Returns all the rendered labels as a JSON Array containing a single PDF in Base64 Data URI scheme. The PDF file will contain as many pages as rendered labels. The returned JSON Object will have this structure: {labels:["data:application/pdf;base64,<BASE64-STRING>"]} |
image/vnd.zbrush.pcx+json |
Returns all the rendered labels as a JSON Array containing each label in Base64 PCX Data URI scheme. {labels:["data:image/vnd.zbrush.pcx;base64,<BASE64-STRING>", "data:image/vnd.zbrush.pcx;base64,<BASE64-STRING>", ... ]} |
text/html+json |
Returns all the rendered labels as a JSON Array containing each label in Base64 HTML Data URI scheme. The returned JSON Object will have this structure: {labels:["data:text/html;base64,<BASE64-STRING>", "data:text/html;base64,<BASE64-STRING>", ... ]} |
application/vnd.zpl+json |
Returns all the rendered labels as a JSON Array containing each label in Base64 ZPL Data URI scheme. {labels:["data:application/vnd.zpl;base64,<BASE64-STRING>", "data:application/vnd.zpl;base64,<BASE64-STRING>", ... ]} |
application/vnd.epl+json |
Returns all the rendered labels as a JSON Array containing each label in Base64 EPL Data URI scheme. {labels:["data:application/vnd.epl;base64,<BASE64-STRING>", "data:application/vnd.epl;base64,<BASE64-STRING>", ... ]} |
application/vnd.fingerprint+json |
Returns all the rendered labels as a JSON Array containing each label in Base64 Fingerprint Data URI scheme. {labels:["data:application/vnd.fingerprint;base64,<BASE64-STRING>", "data:application/vnd.fingerprint;base64,<BASE64-STRING>", ... ]} |
application/vnd.escpos+json |
Returns all the rendered labels as a JSON Array containing each label in Base64 ESC/POS Data URI scheme. {labels:["data:application/vnd.escpos;base64,<BASE64-STRING>", "data:application/vnd.escpos;base64,<BASE64-STRING>", ... ]} |
image/png+zip |
Returns all the rendered labels as a ZIP file containing each label in PNG format. Each file name is named to [DataTime-Ticks].png |
image/jpeg+zip |
Returns all the rendered labels as a ZIP file containing each label in JPEG/JPG format. Each file name is named to [DataTime-Ticks].jpg |
image/svg+xml+zip |
Returns all the rendered labels as a ZIP file containing a single SVG. The SVG file will contain as many pages as rendered labels. [DataTime-Ticks].svg |
application/pdf+zip |
Returns all the rendered labels as a ZIP file containing a single PDF. The PDF file will contain as many pages as rendered labels. [DataTime-Ticks].pdf |
image/vnd.zbrush.pcx+zip |
Returns all the rendered labels as a ZIP file containing each label in PCX format. Each file name is named to [DataTime-Ticks].pcx |
text/html+zip |
Returns all the rendered labels as a ZIP file containing a single HTML doc. The HTML file will contain as many pages as rendered labels. [DataTime-Ticks].html |
application/vnd.zpl+zip |
Returns all the rendered labels as a ZIP file containing a single ZPL file. The ZPL file will contain as many pages as rendered labels. [DataTime-Ticks].zpl |
application/vnd.epl+zip |
Returns all the rendered labels as a ZIP file containing a single EPL file. The EPL file will contain as many pages as rendered labels. [DataTime-Ticks].epl |
application/vnd.fingerprint+zip |
Returns all the rendered labels as a ZIP file containing a single Fingerprint file. The Fingerprint file will contain as many pages as rendered labels. [DataTime-Ticks].fingerprint |
application/vnd.escpos+zip |
Returns all the rendered labels as a ZIP file containing a single ESC/POS file. The ESC/POS file will contain as many pages as rendered labels. [DataTime-Ticks].escpos |
Most labels that are designed might contain some texts, and these texts need to be rendered by using a given set of fonts. To make these fonts available for the ThermalLabel Web API for Docker to preview, render and convert the labels to the target format, then a special configuration must be performed.
The following steps show how to configure the ThermalLabel Web API for Docker to add support for Arial Unicode TTF font for rendering texts in different languages.
c:\Windows\Fonts\ARIALUNI.TTF
). Remember that any added font remain the exclusive property of their specific owners and require a license from their owners.ARIALUNI.TTF
font file, copy it to the Linux box where the ThermalLabel Web API instance will be running on.MyThermalLabelSettings
ARIALUNI.TTF
to the MyThermalLabelSettings
directoryfonts.json
and then write or copy/paste the following content:
[
{
"name": "Arial Unicode",
"fileName": "ARIALUNI.TTF"
}
]
name
of the font (which is just for your identification only) and the fileName
which points to the physical font file.
ThermalLabel Web API is licensed for Private On-Premise environments giving you full control on the infrastructure where our product will run on. Please refer to Licensing model and prices...
When you buy a commercial license of ThermalLabel Web API for Docker, you are provided with license information (LICENSE_OWNER & LICENSE_KEY
for the Web API - EDITOR_LICENSE_OWNER & EDITOR_LICENSE_KEY
for the Web Label Editor) to register the product. The license information must be specified to the Docker image as environment variables as folows:
The Trial Version of ThermalLabel Web API for Docker is fully functional and has no expiry date. However, while in TRIAL mode, the output rendering has the following limitations:
2024-12-12
2024-12-02
2024-08-12
2024-07-04
2024-05-10
2024-05-03
2024-04-29
2024-04-24
2024-02-15
2024-02-06
2024-01-05
2023-11-14
2023-11-10
2023-10-16
2023-10-09
2023-08-07
2023-07-26
2023-07-17
2023-05-31
2023-05-10
2023-05-06
2023-04-28
2023-04-21
2023-04-03
2023-03-27
2023-01-03
2022-09-22
2022-09-01
2022-08-31
2022-08-25
2022-08-23
2022-08-19
2022-08-15
2022-08-03
2022-07-27
2022-07-25
2022-03-11
2022-02-08
Pages
collection prop to ThermalLabel to support multi-page labels concept.
DesignBackgroundImage
prop to ThermalLabel to specify a non-printing background image (in PNG format) that assists you in the design of your labels through the visual editors.
BatchCut
prop to ThermalLabel to specify num of labels printing after which cutting will be performed (ZPL Only).
ReadOnly
prop to Items. Whether the source content of an item can be changed.
Resizable
prop to Items. Whether an item can be resizable in the visual editor surface.
ValidationRegEx
and ValidationErrorMessage
props to TextItem.
2021-10-20
2021-10-07
2021-10-06
2021-07-06
2021-05-19
null
data value handling when using JSON Data Source.2021-04-30
2021-03-30
2021-03-25
2021-03-23
2021-03-22
operationId
for API actions.2021-03-04
/health
2021-03-02
2021-02-01
2021-01-30
2021-01-26
2021-01-25
2021-01-18
2020-12-30