Advanced Barcode Generator for Docker
BarcodePro Web API for Docker generates barcode images that can be used from Any Development Platform and Programming Languages (.NET, Java, PHP, Javascript, Python, Ruby, and more!). After specifying a Value to encode, choosing a Barcode Symbology, and setting some simple properties, BarcodePro Web API will generate the barcode symbol in the specified image or document format like JPEG/JPG, PNG, PCX, PCL, TIFF, SVG, EPS, and PDF!
It ships as a Linux Docker image for amd64 and arm64 that you run on your own servers, Kubernetes cluster or cloud account. If you prefer an in-process library for .NET, see Barcode Professional for .NET Standard.
Quick Start: a QR Code in 2 Commands
1. Run the container
docker run -d -p 8080:8080 neodynamic/barcodeprowebapi:5.0.2
# ARM64
docker run -d -p 8080:8080 neodynamic/barcodeprowebapi:5.0.2-arm64
2. POST the barcode settings, get the image
curl -X POST "http://localhost:8080/BarcodeGenerator" \
-H "Content-Type: application/json" \
-H "Accept: image/png" \
-d '{"symbology":"QRCode","code":"https://example.com","qrCodeErrorCorrectionLevel":"M","dpi":300}' \
--output qrcode.png
# Code 128 as PDF, bars sized in inches
curl -X POST "http://localhost:8080/BarcodeGenerator" \
-H "Content-Type: application/json" \
-H "Accept: application/pdf" \
-d '{"symbology":"Code128","code":"ABC123","barcodeUnit":"Inch","barWidth":0.0104,"barHeight":0.5}' \
--output code128.pdf
Change the Accept header for other formats, and see all barcode properties and symbology values.
Postman Samples for MaxiCode, QR Code, Code-128 & PDF417
Features at a Glance
Linear (1D), Postal, Stacked & 2D Barcodes
BarcodePro Web API for Docker supports most popular Linear (1D), Postal, Component Composite & 2D Barcode Symbologies all-in-one solution including Code 39, Code 128, GS1-128, GS1 DataBar (RSS-14), EAN 13 & UPC, Postal (USPS, British Royal Mail, Australia Post, DHL, FedEx, Japan), Data Matrix (DMRE), QR Code, PDF 417, Aztec Code, UPS MaxiCode, Chinese Han Xin Code, IFA PPN, all EAN/UPC Composite Barcodes (CC-A, CC-B & CC-C), Mailmark, DotCode, Swiss-QRCode, JAB-Code Multicolored 2D Matrix and many more barcode standardsGS1-AIM-ISO/IEC Compliance
Our barcode algorithms were written by following the official specifications of each barcode symbology. Our barcode engine provides you with exclusive features like auto-checksum, data validation, Bar Width Adjustment (BWA) for linear & 2D symbols, auto-encoding methods for shortest barcode symbol generation.Best-in-class Imaging Support
BarcodePro Web API for Docker creates barcodes in raster formats like PNG, JPEG/JPG, TIFF, PCX, PCL & PDF as well as in SVG & EPS vector formats! All barcode can be rotated at 90, 180 & 270 degrees. Rounded Border & Bearer Bars are also supported. High Quality DPI Resolution is supported for PNG & JPEG outputs.
GS1 Compliance for 2D barcodes at Point of Sale (POS)
Our barcode algorithms are fully 2D capable to meet the GS1's Ambition 2027 requirements. For your reference, the Neodynamic's products are officially listed by GS1 website under Barcode Creation section.Create Artistic Barcodes
Create customized barcodes by stamping logos or pictures on symbols as well as specifying an image for filling the bars or dots!
Create Artistic QR Codes with Custom Shape Patterns!
In addition to stamp images on barcode symbols, theArtModuleShape and ArtFinderShape properties allow you to customize the QR Code modules and finders!
ArtFinderShape Patterns
ArtModuleShape Patterns
QR Code Samples by combining the patterns...
Overview
Designed by following some of the REST principles, BarcodePro Web API for Docker responds to a simple HTTP POST by specifying the Barcode settings through a JSON object in the request body, returning the output rendering in the image or document format specified through the Accept header.
Help Doc Topics
Download and run BarcodePro Web API for Docker
BarcodePro Web API for Docker is available at Docker Hub registry.
-
To pull/download the Docker image, please type the following from a Terminal:
AMDdocker pull neodynamic/barcodeprowebapi:5.0.2ARMdocker pull neodynamic/barcodeprowebapi:5.0.2-arm64 -
To run the Docker image, please type the following from a Terminal:
AMDdocker run -it --rm -p 8080:8080 neodynamic/barcodeprowebapi:5.0.2ARMdocker run -it --rm -p 8080:8080 neodynamic/barcodeprowebapi:5.0.2-arm64
Special Parameters
- Auto HTTPS Redirection: By default, HTTPS redirection is enabled. It can be disabled by specifying the following parameter
-e "USE_HTTPS_REDIRECTION=false" - Swagger UI: By default, Swagger UI is enabled. It can be disabled by specifying the following parameter
-e "SWAGGER_UI_ENABLED=false"
- Auto HTTPS Redirection: By default, HTTPS redirection is enabled. It can be disabled by specifying the following parameter
Run BarcodePro WebAPI on a Custom Port
By default, our Docker image exposes port 8080 only. If you want to expose and use another different port, then do the following.
- Let's suppose you want to use port
12345, then run the docker image with the following parameters:
AMDdocker run -it --rm -p 8080:12345 neodynamic/barcodeprowebapi:5.0.2 -e ASPNETCORE_HTTP_PORTS=12345ARMdocker run -it --rm -p 8080:12345 neodynamic/barcodeprowebapi:5.0.2-arm64 -e ASPNETCORE_HTTP_PORTS=12345 - Special case for port
80: If you need to use port80, then run the docker image with the following parameters:
AMDdocker run -it --rm -p 8080:80 neodynamic/barcodeprowebapi:5.0.2 -u root -e ASPNETCORE_HTTP_PORTS=80ARMdocker run -it --rm -p 8080:80 neodynamic/barcodeprowebapi:5.0.2-arm64 -u root -e ASPNETCORE_HTTP_PORTS=80
How To Use It - Basic Sample
The following source code invokes the BarcodePro Web API for Docker to generate a PNG image for the specified Barcode JSON object (in this simple example we'll request a QRCode encoding 12345). For more advanced settings please refer to the Barcode JSON Object
curl -X POST "http://localhost:8080/BarcodeGenerator" \
-H "Accept: image/png" \
-H "Content-Type: application/json" \
-d "{\"symbology\":\"QRCode\", \"code\":\"12345\"}" \
--output label.png
$data = array(
'symbology' => 'QRCode',
'code' => '12345'
);
$options = array(
'http' => array(
'method' => 'POST',
'content' => json_encode( $data ),
'header' => "Content-Type: application/json\r\n" .
"Accept: image/png\r\n"
)
);
$context = stream_context_create( $options );
$url = 'http://localhost:8080/BarcodeGenerator';
$response = file_get_contents( $url, false, $context );
file_put_contents('label.png', $response);
require 'net/http'
require 'uri'
require 'json'
uri = URI.parse("http://localhost:8080/BarcodeGenerator")
header = {'Accept':'image/png', 'Content-Type': 'application/json'}
data = {symbology: 'QRCode', code: '12345'}
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri, header)
request.body = data.to_json
response = http.request(request)
open('/tmp/label.png', 'wb' ) { |file|
file.write(response.body)
}
import requests
import json
url = "http://localhost:8080/BarcodeGenerator"
jsondata = json.dumps( {"symbology": "QRCode", "code": "12345"} )
headers = {
'content-type': "application/json",
'accept': "image/png"
}
response = requests.request("POST", url, data=jsondata, headers=headers)
if response.status_code == 200:
with open("label.png", 'wb') as f:
f.write(response.content)
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $server_endpoint = "http://localhost:8080/BarcodeGenerator";
my $req = HTTP::Request->new(POST => $server_endpoint);
$req->header('content-type' => 'application/json');
$req->header('accept' => 'image/png');
my $post_data = '{ "symbology" : "QRCode", "code" : "12345" }';
$req->content($post_data);
my $resp = $ua->request($req);
open FILEHANDLE, ">label.png";
print FILEHANDLE $resp->{_content};
close FILEHANDLE;
CloseableHttpClient client = HttpClients.createDefault();
HttpPost httpPost = new HttpPost("http://localhost:8080/BarcodeGenerator");
String json = "{\"symbology\" : \"QRCode\", \"code\": \"12345\"}";
StringEntity body = new StringEntity(json);
httpPost.setEntity(body);
httpPost.setHeader("Accept", "image/png");
httpPost.setHeader("Content-type", "application/json");
CloseableHttpResponse response = client.execute(httpPost);
HttpEntity result = response.getEntity();
if (result != null) {
try (FileOutputStream outstream = new FileOutputStream(new File("label.png"))) {
result.writeTo(outstream);
}
}
client.close();
using var http = new HttpClient();
string json = JsonSerializer.Serialize(new { symbology = "QRCode", code = "12345" });
var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost:8080/BarcodeGenerator")
{
Content = new StringContent(json, Encoding.UTF8, "application/json")
};
request.Headers.Accept.ParseAdd("image/png");
var response = await http.SendAsync(request);
response.EnsureSuccessStatusCode();
await File.WriteAllBytesAsync("barcode.png", await response.Content.ReadAsByteArrayAsync());
// Browser (inside a <script type="module">): show the barcode in an img element
const response = await fetch("http://localhost:8080/BarcodeGenerator", {
method: "POST",
headers: { "Content-Type": "application/json", "Accept": "image/png" },
body: JSON.stringify({ symbology: "QRCode", code: "12345" })
});
const blob = await response.blob();
document.getElementById("barcode").src = URL.createObjectURL(blob);
// Node.js 18+ (built-in fetch). Save as convert.mjs (ES module, top-level await)
import fs from "fs";
const response = await fetch("http://localhost:8080/BarcodeGenerator", {
method: "POST",
headers: { "Content-Type": "application/json", "Accept": "image/png" },
body: JSON.stringify({ symbology: "QRCode", code: "12345" })
});
fs.writeFileSync("barcode.png", Buffer.from(await response.arrayBuffer()));
The Accept Header
The desired output rendering format must be specified through the Accept header. The supported formats are the following:
| Accept | Description |
|---|---|
image/png |
Returns the generated barcode symbol in PNG format. |
image/jpeg |
Returns the generated barcode symbol in JPEG/JPG format. |
image/tiff |
Returns the generated barcode symbol in TIFF format. |
application/pdf |
Returns generated barcode symbol as a single PDF document. |
application/postscript |
Returns generated barcode symbol in EPS format. Requires a license key... |
image/svg+xml |
Returns generated barcode symbol in SVG format. Requires a license key... |
image/vnd.zbrush.pcx |
Returns the generated barcode symbol in PCX format. |
application/vnd.hp-pcl |
Returns the generated barcode symbol in PCL format. |
The Barcode JSON Object
The body of POST /BarcodeGenerator is a Barcode JSON object. Only symbology and code are required; every other property has a sensible default. These are the most used properties:
| Property | Type | Example | Description |
|---|---|---|---|
symbology REQUIRED | enum (194 values) | Code128 | Barcode type to generate. See all symbology values. |
code REQUIRED | string | 12345 | The value to encode. |
codeEncoding | enum: Text | Base64 | Hex | The character encoding format of the Code property value. | |
barcodeUnit | enum: Inch | Millimeter | Centimeter | Mils | Micrometer | Inch | The unit of measure for the barcode dimensions. |
dpi | number | 96 | The DPI (dots per inch) or Resolution of the output barcode image. |
barWidth | number | 0.0104 | The narrow bars' width of the barcode. In barcode terminology this is called X value. The unit of measure must be specified to barcodeUnit property. |
barHeight | number | 1 | The bars' height of the barcode. The unit of measure must be specified to barcodeUnit property. |
autoSize | boolean | true | Whether the barcode image is automatically resized to display its entire contents. |
width | number | 2 | The width of the barcode image if autoSize property is not enabled. The unit of measure must be specified to barcodeUnit property. |
height | number | 1 | The height of the barcode image if autoSize property is not enabled. The unit of measure must be specified to barcodeUnit property. |
fitProportional | boolean | false | Whether the barcode symbol is created by automatically calculating the bars or modules sizes so it fits the available area (Width - Height) proportionally. |
rotate | enum: None | Degree90 | Degree180 | Degree270 | None | The rotation angle to apply on the barcode image. |
displayCode | boolean | true | Whether the value to encode must be displayed in the barcode image. |
humanReadableText | string | The Human Readable Text to be displayed instead of the value to encode specified in the code property. | |
text | string | The additional text to show in the barcode image e.g.: Product ID. Note: This is not the value to encode nor the Human Readable Text. | |
foreColor | string | #000 | The text color for using when rendering code and humanReadableText properties. Accepts RGB hex notation (e.g. "#000000") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,1)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB. |
barColor | string | #000 | The bars' color of the barcode. Accepts RGB hex notation (e.g. "#000000") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,1)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB. |
backColor | string | #fff | The background color. Accepts RGB hex notation (e.g. "#ffffff") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,0)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB. |
quietZoneWidth | number | 0.1 | The quiet zone's width. The unit of measure must be specified to barcodeUnit property. |
qrCodeErrorCorrectionLevel | enum: L | M | Q | H | M | The Error Correction Level to apply for QR Code symbology. |
dataMatrixFormat | enum (44 values) | Auto | The DataMatrix Format to use on that symbology. |
pdf417ErrorCorrectionLevel | enum: Level0 | Level1 | Level2 | Level3 | Level4 | Level5 | Level6 | Level7 | Level8 | Level2 | The Error Correction Level to apply for PDF417 symbology. |
epsColorMode | enum: None | Cmyk | Gray | None | The color space to use when generating EPS output (application/postscript). When Cmyk or Gray, all barcode colors (barColor, foreColor, textForeColor, backColor, borderColor, pharmacode2DColorField1..8) are converted to that color space. Colors specified using the exact "cmyk(c,m,y,k)" / "gray(g)" notation are honored without RGB conversion loss. Ignored for other output formats. |
tiffPixelFormat | enum: Bilevel | Grayscale8 | Rgb24 | Rgba32 | Rgba32 | The TIFF pixel format. |
All 194 Barcode properties (symbology-specific settings for QR Code, Data Matrix, PDF417, Aztec, MaxiCode, GS1, EAN/UPC, postal codes, EPS, TIFF, PCL...)
| Property | Type | Example | Description |
|---|---|---|---|
symbology REQUIRED | enum (194 values) | Code128 | Barcode type to generate. See all symbology values. |
code REQUIRED | string | 12345 | The value to encode. |
isCodeBase64 | boolean | false | Whether the specified value to encode in the code property is in Base64 format. Useful for encoding non-readable/printable chars. |
codeBase64EncodingName | string | ISO-8859-1 | The Encoding or CodePage Identifier/Name of the value to encode in the code property when isCodeBase64 is enabled. Default is ISO-8859-1. Valid values are listed at https://github.com/neodynamic/Barcode-Pro-Web-API-Docker/blob/master/README.md#supported-codepagesencodings |
barcodeUnit | enum: Inch | Millimeter | Centimeter | Mils | Micrometer | Inch | The unit of measure for the barcode dimensions. |
dpi | number | 96 | The DPI (dots per inch) or Resolution of the output barcode image. |
height | number | 1 | The height of the barcode image if autoSize property is not enabled. The unit of measure must be specified to barcodeUnit property. |
width | number | 2 | The width of the barcode image if autoSize property is not enabled. The unit of measure must be specified to barcodeUnit property. |
addChecksum | boolean | true | Whether checksum must be generated and attached to the value to encode. |
antiAlias | boolean | true | Whether AntiAlias effect must be applied to all the texts in the barcode image. |
artBarImagePattern | string | The image file (path or Base64 string) that will be used as a pattern to fill all the bars that compose the barcode symbol. | |
artLogoImage | string | The logo image file (path or Base64 string) that will be used to stamp it on top or bottom of the barcode symbol. Note: this feature is not available when exporting the barcode symbol to EPS format. | |
artLogoImageOpacity | integer | 100 | The opacity [from 1 to 100 (fully opaque)] of the image logo file. |
artLogoImagePercentage | integer | 20 | The percentage used to resize the logo image based on the barcode symbol size. |
artLogoImagePosition | enum: Top | Bottom | Top | The position of the logo image file on the barcode symbol. Default is Top. |
artFinderShape | enum: Rect | RoundRect | Circle | Rect | The barcode symbol finders artistic shape. Default is Rect. |
artModuleShape | enum: Rect | RoundRect | Dot | Circle | ZebraHorizontal | ZebraVertical | Diamond | Rect | The barcode symbol modules/bars artistic shape. Default is Rect. |
autoSize | boolean | true | Whether the barcode image is automatically resized to display its entire contents. |
aztecCodeByteEncodingName | string | ISO-8859-1 | The Encoding Name (Code Page) to be used for Aztec Code in Byte Compaction mode. |
aztecCodeErrorCorrection | integer | 23 | The Error Correction Percentage to apply for Aztec Code symbology. |
aztecCodeFormat | enum (37 values) | Auto | The Aztec Code Format to use on that symbology. |
aztecCodeModuleSize | number | 0.0417 | The module size. The unit of measure must be specified to barcodeUnit property. |
aztecCodeProcessTilde | boolean | false | Whether tilde character should be processed when Aztec Code is being generated. |
aztecCodeRune | integer | 0 | The Aztec Code Rune value. It must be a value from 0 to 255 and is available for Aztec Code Compact Format only. |
backColor | string | #fff | The background color. Accepts RGB hex notation (e.g. "#ffffff") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,0)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB. |
barcodePaddingBottom | number | 0 | The bottom extra space inside the container's border. The unit of measure must be specified to barcodeUnit property. |
barcodePaddingLeft | number | 0 | The left extra space inside the container's border. The unit of measure must be specified to barcodeUnit property. |
barcodePaddingRight | number | 0 | The right extra space inside the container's border. The unit of measure must be specified to barcodeUnit property. |
barcodePaddingTop | number | 0 | The top extra space inside the container's border. The unit of measure must be specified to barcodeUnit property. |
barColor | string | #000 | The bars' color of the barcode. Accepts RGB hex notation (e.g. "#000000") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,1)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB. |
barHeight | number | 1 | The bars' height of the barcode. The unit of measure must be specified to barcodeUnit property. |
barRatio | number | 2 | The wide bars' width compared to the narrow bars' width. In barcode terminology this is called N value. |
barWidth | number | 0.0104 | The narrow bars' width of the barcode. In barcode terminology this is called X value. The unit of measure must be specified to barcodeUnit property. |
barWidthAdjustment | number | 0 | The Bar Width Adjustment. |
bearerBarStyle | enum: None | Frame | HorizontalRules | None | Gets or set the bearer bars' type that must be drawn with the barcode image. Bearer bar is only available for 2 of 5, Code 128 and UCC.EAN 128 barcodes. |
bearerBarWidth | number | 0.05 | The bearer bars' width. The unit of measure must be specified to barcodeUnit property. |
borderColor | string | #000 | The barcode border's color. Accepts RGB hex notation (e.g. "#000000") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,1)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB. |
borderRadius | number | 0 | The barcode border's radius. The unit of measure must be specified to barcodeUnit property. |
borderWidth | number | 0 | The barcode border's width. The unit of measure must be specified to barcodeUnit property. |
bottomMargin | number | 0 | The height of the margin below the barcode bars. The unit of measure must be specified to barcodeUnit property. |
channelCode | integer | 8 | The Channel Code. Its value must be from 3 up to 8. Each channel code supports its own range of values: Channel 3 [0-26], Channel 4 [0-292], Channel 5 [0-3493], Channel 6 [0-44072], Channel 7 [0-576688], and Channel 8 [0-7742862] |
codabarStartChar | enum: A | B | C | D | A | The start character for Codabar symbology. Possible values are: A, B, C or D. |
codabarStopChar | enum: A | B | C | D | A | The stop character for Codabar symbology. Possible values are: A, B, C or D. |
code11TwoDigitsChecksum | boolean | false | Whether Code 11 two digits checksum must be calculated and encoded. |
code128CharSet | enum: Auto | A | B | C | Auto | The characters set to use in the Code 128 symbology. Possible values are: Auto, A, B or C. |
code16kMode | enum: Mode0 | Mode1 | Mode2 | Mode0 | The mode to use for Code16k symbology. Modes supported are: Mode 0, 1, and 2. |
code39FullAsciiMode | boolean | true | Whether the extended versions for Code 39 symbologies must be used. |
code93FullAsciiMode | boolean | true | Whether the extended versions for Code 93 symbologies must be used. |
codeAlignment | enum: AboveCenter | AboveLeft | AboveRight | AboveJustify | BelowCenter | BelowLeft | BelowRight | BelowJustify | BelowCenter | The text alignment for code and humanReadableText properties. |
codeFormatPattern | string | The string pattern to format the code property. The result of the format process is the one which will be encoded! | |
dataMatrixByteEncodingName | string | ISO-8859-1 | The Encoding Name (Code Page) to be used for DataMatrix in Byte Compaction mode. |
dataMatrixEncoding | enum: Auto | Ascii | C40 | Text | Base256 | AnsiX12 | EDIFACT | Auto | The DataMatrix Encoding to use on that symbology. |
dataMatrixFileId | string | 001001 | The File ID of the Data Matrix symbol. Its value must be a sequence of codewords (Each codeword value must be a number between 001 and 254) and must be the same for all data segments. |
dataMatrixFormat | enum (44 values) | Auto | The DataMatrix Format to use on that symbology. |
dataMatrixIncludeRectFormatsInAutoMode | boolean | false | Whether to consider Rectangular DataMatrix Formats when DataMatrixFormat is set to Auto. |
dataMatrixModuleSize | number | 0.0417 | The module size. The unit of measure must be specified to barcodeUnit property. |
dataMatrixProcessTilde | boolean | false | Whether tilde character should be processed when DataMatrix code is being generated. |
dataMatrixSymbolCount | integer | 1 | The number of Data Matrix symbols. Its value must be less than or equal to 16. |
dataMatrixSymbolIndex | integer | 1 | The Index for a Data Matrix symbol. Its value must be 1 up to 16 and must be less than or equal to the value in dataMatrixSegmentCount property. |
displayChecksum | boolean | true | Whether checksum value must be displayed after the value to encode in the barcode image. |
displayCode | boolean | true | Whether the value to encode must be displayed in the barcode image. |
displayLightMarginIndicator | boolean | true | Whether light margin indicators must be displayed in the barcode image. Only available for EAN/UPC Symbologies. |
displayStartStopChar | boolean | true | Whether start and stop characters must be displayed in the barcode image. |
dotCodeAspectRatio | string | The Columns (width) to Rows (height) Aspect Ratio for DotCode symbology. Aspect Ratio must be specified as C:R where C and R are integers e.g. 3:2 | |
dotCodeColumns | integer | 0 | The number of columns to use for DotCode symbology. |
dotCodeModuleShape | enum: Circle | Square | The shape of the modules that make the DotCode barcode symbol. | |
dotCodeModuleSize | number | 0.0417 | The module size. The unit of measure must be specified to barcodeUnit property. |
dotCodeProcessTilde | boolean | false | Whether tilde character should be processed when DotCode is being generated. |
dotCodeRows | integer | 0 | The number of rows to use for DotCode symbology. |
eanUpcAutoBWAfor1278DigitsEnabled | boolean | false | Whether the recommended Bar Width Adjustment for digits 1, 2, 7 and 8 by GS1 spec is enabled. The GS1 spec states that for digits 1, 2, 7 or 8; the bars (dark bars) and spaces (light bars) are reduced or enlarged by one-thirteenth of a module (BarWidth) to provide a uniform distribution of bar width tolerances and thus improve scanning reliability. |
eanUpcMagnificationFactor | number | 0 | The Magnification Factor for EAN/UPC barcodes. EAN/UPC barcodes can be printed at various densities to accommodate a variety of printing and scanning processes. The significant dimensional parameter is X, the ideal width of a single module element. In Barcode Professional, this is specified with barWidth property. For EAN/UPC symbols, the X-dimension at nominal size is 0.33 millimeter (= 0.013 inch). The "magnification factor" specifies the size of the barcode symbol as a whole by taking the nominal size as the 1.0 (100%) value. |
eanUpcSupplement | enum: None | Digits2 | Digits5 | None | The supplement type to use with EAN and UPC symbologies. |
eanUpcSupplementCode | string | 00000 | The supplement value for EAN and UPC symbologies. |
eanUpcSupplementSeparation | number | 0.15 | The gap separation between the EAN/UPC barcode and its supplement. The unit of measure must be specified to barcodeUnit property. |
eanUpcSupplementTopMargin | number | 0.15 | The height of the margin above the EAN/UPC supplement bars. The unit of measure must be specified to barcodeUnit property. |
fitProportional | boolean | false | Whether the barcode symbol is created by automatically calculating the bars or modules sizes so it fits the available area (Width - Height) proportionally. |
fontBold | boolean | false | Whether the Font object for code and humanReadableText properties must be bold. |
fontItalic | boolean | false | Whether the Font object for code and humanReadableText properties must be italic. |
fontName | string | Arial | The Font name for using when rendering code and humanReadableText properties. |
fontSizeInPoints | number | The Font size in points unit (1/72 inch) when rendering code and humanReadableText properties. | |
fontStrikeout | boolean | false | Whether the Font object for code and humanReadableText properties specifies a horizontal line through it. |
fontUnderline | boolean | false | Whether the Font object for code and humanReadableText properties is underlined. |
foreColor | string | #000 | The text color for using when rendering code and humanReadableText properties. Accepts RGB hex notation (e.g. "#000000") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,1)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB. |
gS1DataStrictValidation | boolean | false | Whether to strictly validate the specified GS1 Element Strings i.e. Application Identifier plus Data Field based on GS1 General Specifications rules. |
guardBar | boolean | true | Whether EAN/UPC guard bars must be drawn. |
guardBarHeight | number | 1.1 | The guard bars' height. The unit of measure must be specified to barcodeUnit property. |
hanXinCodeByteEncodingName | string | ISO-8859-1 | The Encoding Name (Code Page) to be used for Han Xin Code Binary Byte Encoding mode. |
hanXinCodeEncoding | enum: Auto | Numeric | Text | BinaryByte | ChineseReg1 | ChineseReg2 | GB18030Bytes2 | GB18030Bytes4 | Auto | The Han Xin Code Encoding to use on that symbology. |
hanXinCodeErrorCorrectionLevel | enum: L1 | L2 | L3 | L4 | L1 | The Error Correction Level to apply for Han Xin Code symbology. |
hanXinCodeModuleSize | number | 0.0417 | The module size. The unit of measure must be specified to barcodeUnit property. |
hanXinCodeProcessTilde | boolean | false | Whether tilde character should be processed when Han Xin Code is being generated. |
hanXinCodeVersion | enum (85 values) | Auto | The Han Xin Code Version to use on that symbology. |
hibcFormatHumanReadableText | boolean | true | Whether the Human Readable Text is formatted as specified by HIBC Standards i.e. Zeros are displayed as Slashed-Zeros and the Space character is displayed as an Underscore. |
hibcUseIsoIec15434Encoding | boolean | false | Whether the ISO/IEC 15434 Protocol is used to encode the HIBC LIC or PAS Data Structures in 2D symbols. |
humanReadableText | string | The Human Readable Text to be displayed instead of the value to encode specified in the code property. | |
isbt128DataStructure | enum (34 values) | DS001 | The ISBT 128 Data Structure to be generated. |
itf14LeftHMark | enum: None | Mark1 | Mark2 | Mark3 | Mark4 | Mark5 | Mark6 | Mark7 | None | The H mark type for the left side of ITF-14 barcode symbol. |
itf14RightHMark | enum: None | Mark1 | Mark2 | Mark3 | Mark4 | Mark5 | Mark6 | Mark7 | None | The H mark type for the right side of ITF-14 barcode symbol. |
jabCodeColors | integer | 8 | The number of colors for JAB Code Symbol. The number of colors can be set to 2, 4, 8, 16, 32, 64, 128, or 256. |
jabCodeModuleSize | number | 0.0417 | The module size. The unit of measure must be specified to barcodeUnit property. |
jabCodeSymbolCount | integer | 1 | The number of JAB Code Symbols to generate. JAB Code can be composed of a master symbol and many slave symbols. 61 is the maximum number of symbols. |
jabCodeSymbolEccLevel | string | The Error Correction Code Level for each or all of the JAB Code Symbols. Default is an empty string which specifies an ECC Level 5. The Error Correction Code levels range from 0 up to 10. If each JAB Code Symbol (in a master-slaves scenario) requires different ECC Levels, then it must be specified in a comma separated string. E.g. 8,4,5 means ECC Level 8 for master symbol and ECC Level 4 and 5 for first and second slave symbols respectively. | |
jabCodeSymbolPosition | string | The position for each or all of the JAB Code Symbols. Default is an empty string which specifies position 0 (center). JAB Code may have arbitrary forms by cascading master and slave symbols in horizontal and vertical directions. JAB Slave symbols can be docked to the side of a master symbol or other slave symbols. In a master-slaves scenario, each JAB Code Symbol position or location must be specified in a comma separated string stating the Position Indexes (Refer to https://neodynamic.com/barcodes JAB Code page to learn more about Position Indexes). E.g. 0,3,2 means Position Index 0 for master symbol and Position Index 3 and Position Index 2 for first and second slave symbols respectively. | |
jabCodeSymbolVersion | string | The Version (Side size) for each or all of the JAB Code Symbols. Default is an empty string which specifies the minimum size. A JAB Code Symbol can be of either square or rectangle form. JAB Code allows side Versions ranging from Version 1 (25 modules) up to Version 32 (145 modules). To specify a given side Version, a string must be specified in the format WxH where W is the horizonal side Version number and H is the vertical side Version Number. E.g. 4x4 would be a square JAB Symbol Version 4, 4x2 would be a rectangular JAB Symbol Version 4 (horizontal) and Version 2 (vertical). In a master-slaves scenario, if each JAB Code Symbol requires different side Versions, then it must be specified in a comma separated string. E.g. 4x4,4x2 means Version 8 for master symbol and Version 4 by Version 2 for the slave symbol. | |
maxiCodeDrawPixelBasedSymbol | boolean | false | Whether the MaxiCode symbol is drawn by using a Pixel Based method; otherwise, a Vector based method is used. |
maxiCodeMode | enum: Mode2 | Mode3 | Mode4 | Mode5 | Mode6 | Mode4 | The MaxiCode mode. |
maxiCodeProcessTilde | boolean | false | Whether tilde character should be processed when MaxiCode code is being generated. |
maxiCodeSymbolCount | integer | 1 | The number of MaxiCode symbols in a Structured Appended format. Its value must be less than or equal to 8. |
maxiCodeSymbolIndex | integer | 1 | The Symbol Index for a Structured Appended MaxiCode. Its value must be 1 up to 8 and must be less than the value in maxiCodeSymbolCount property. |
microPdf417Version | enum (35 values) | Auto | The MicroPDF417 version (a predefined combinations of numbers of columns and rows) to be generated. |
microQRCodeVersion | enum: Auto | M1 | M2 | M3 | M4 | Auto | The Micro QR Code Version to use on that symbology. |
msiChecksum | enum: OneMod10 | TwoMod10 | Mod11AndMod10 | OneMod10 | The checksum mode to be used on MSI symbology. |
pdf417AspectRatio | number | 0 | The ratio of the height to the overall width of the PDF417 symbol. Its value must be 0 (zero) up to 1 (one). |
pdf417ByteEncodingName | string | ISO-8859-1 | The Encoding Name (Code Page) to be used for PDF417 Byte Compaction mode. |
pdf417Columns | integer | 0 | The number of columns to use for PDF417 symbology. |
pdf417CompactionType | enum: Auto | Binary | Text | Numeric | Auto | The Compaction Type to apply for PDF417 symbology. |
pdf417ErrorCorrectionLevel | enum: Level0 | Level1 | Level2 | Level3 | Level4 | Level5 | Level6 | Level7 | Level8 | Level2 | The Error Correction Level to apply for PDF417 symbology. |
pdf417FileId | string | 000 | The File ID of the Macro PDF417 symbol. Its value must be a sequence of codewords (Each codeword value must be a number between 000 and 899) and must be the same for all data segments. |
pdf417Rows | integer | 0 | The number of rows to use for PDF417 symbology. |
pdf417SegmentCount | integer | 0 | The number of Macro PDF417 symbols. Its value must be less than or equal to 99999. |
pdf417SegmentIndex | integer | 0 | The Segment Index for a Macro PDF417 symbol. Its value must be 0 (zero) up to 99998 and must be less than the value in pdf417SegmentCount property. |
pdf417Truncated | boolean | false | Whether the right side of PDF417 barcode is truncated (removed). |
pharmacode2DColorField1 | string | #5E9C3E | The Pharmacode 2D Color Field 1. Default is #5E9C3E (RGB 94, 156, 62). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB. |
pharmacode2DColorField2 | string | #B84027 | The Pharmacode 2D Color Field 2. Default is #B84027 (RGB 184, 64, 39). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB. |
pharmacode2DColorField3 | string | #497AC3 | The Pharmacode 2D Color Field 3. Default is #497AC3 (RGB 73, 122, 195). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB. |
pharmacode2DColorField4 | string | #F0EB04 | The Pharmacode 2D Color Field 4. Default is #F0EB04 (RGB 240, 235, 4). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB. |
pharmacode2DColorField5 | string | #282374 | The Pharmacode 2D Color Field 5. Default is #282374 (RGB 40, 35, 116). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB. |
pharmacode2DColorField6 | string | #98C2A1 | The Pharmacode 2D Color Field 6. Default is #98C2A1 (RGB 152, 194, 161). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB. |
pharmacode2DColorField7 | string | #CB801C | The Pharmacode 2D Color Field 7. Default is #CB801C (RGB 203, 128, 28). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB. |
pharmacode2DColorField8 | string | #7A2E78 | The Pharmacode 2D Color Field 8. Default is #7A2E78 (RGB 122, 46, 120). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB. |
pharmacode2DColorFields | enum: None | Standard | ExtraColorsVariantA | ExtraColorsVariantB | Standard | The 2D-Pharmacode Color Fields type. |
pharmacode2DTriggerMark | enum: None | Left | Right | Top | Bottom | Left | Whether to display the 2D-Pharmacode Trigger Mark and its location. |
pharmacodeBarsSpacing | number | 0.0417 | The gap between Pharmacode bars. The unit of measure must be specified to barcodeUnit property. |
pharmacodeThickBarWidth | number | 0.0625 | The width of Pharmacode Thick Bars. The unit of measure must be specified to barcodeUnit property. |
pharmacodeThinBarWidth | number | 0.0208 | The width of Pharmacode Thin Bars. The unit of measure must be specified to barcodeUnit property. |
planetHeightShortBar | number | 0.1 | The short bars' height of Planet symbology. The unit of measure must be specified to barcodeUnit property. |
planetHeightTallBar | number | 0.2 | The tall bars' height of Planet symbology. The unit of measure must be specified to barcodeUnit property. |
postal4StateAddStartStopChar | boolean | true | Whether start and stop characters must be added and drawn in the barcode image. |
postal4StateBarsSpacing | number | 0.0313 | The gap spacing between bars. The unit of measure must be specified to barcodeUnit property. |
postal4StateTrackerBarHeight | number | 0.08 | The tracker bar's height. The unit of measure must be specified to barcodeUnit property. |
postal4StateTrackerBarWidth | number | 0.0208 | The tracker bar's width. The unit of measure must be specified to barcodeUnit property. |
postnetHeightShortBar | number | 0.1 | The short bars' height of Postnet symbology. The unit of measure must be specified to barcodeUnit property. |
postnetHeightTallBar | number | 0.2 | The tall bars' height of Postnet symbology. The unit of measure must be specified to barcodeUnit property. |
qrCodeByteEncodingName | string | ISO-8859-1 | The Encoding Name (Code Page) to be used for QR Code Byte Compaction mode. Default it ISO-8859-1. |
qrCodeEncoding | enum: Auto | Numeric | AlphaNumeric | Kanji | Byte | Auto | The QR Code Encoding to use on that symbology. |
qrCodeErrorCorrectionLevel | enum: L | M | Q | H | M | The Error Correction Level to apply for QR Code symbology. |
qrCodeMask | enum: Auto | Mask0 | Mask1 | Mask2 | Mask3 | Mask4 | Mask5 | Mask6 | Mask7 | Auto | The QR Code Mask pattern to use on that symbology. |
qrCodeModuleSize | number | 0.0417 | The module size. The unit of measure must be specified to barcodeUnit property. |
qrCodeProcessTilde | boolean | false | Whether tilde character should be processed when QR Code is being generated. |
qrCodeVersion | enum (41 values) | Auto | The QR Code Version to use on that symbology. |
quietZoneWidth | number | 0.1 | The quiet zone's width. The unit of measure must be specified to barcodeUnit property. |
rotate | enum: None | Degree90 | Degree180 | Degree270 | None | The rotation angle to apply on the barcode image. |
segmentsPerRow | integer | 4 | The number of segments per row to be used in GS1 DataBar Expanded Stacked or RSS Expanded Stacked symbologies. It must be an even number ranging from 2 up to 22. |
snapsToDevicePixels | boolean | false | A value that determines whether barcode drawing should use device-specific pixel settings during rendering. |
telepenEncoding | enum: Ascii | Numeric | Ascii | The Telepen Encoding to use on that symbology. |
text | string | The additional text to show in the barcode image e.g.: Product ID. Note: This is not the value to encode nor the Human Readable Text. | |
textAlignment | enum: AboveCenter | AboveLeft | AboveRight | AboveJustify | BelowCenter | BelowLeft | BelowRight | BelowJustify | AboveCenter | The text alignment for text property. |
textFontBold | boolean | false | Whether the Font object for text property must be bold. |
textFontItalic | boolean | false | Whether the Font object for text property must be italic. |
textFontName | string | Arial | The Font name for using when rendering text property. |
textFontSizeInPoints | number | 8 | The Font size in points unit (1/72 inch) when rendering text property. |
textFontStrikeout | boolean | false | Whether the Font object for text property specifies a horizontal line through it. |
textFontUnderline | boolean | false | Whether the Font object for text property is underlined. |
textForeColor | string | #000 | The text color for using when rendering text property. Accepts RGB hex notation (e.g. "#000000") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,1)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB. |
textFormatPattern | string | The string pattern to format the text property. | |
tlc39MicroPdf417BarWidth | number | 0.0104 | The narrow bar width for TLC39's MicroPdf417 symbol. The unit of measure must be specified to barcodeUnit property. |
tlc39MicroPdf417RowBarHeight | number | 0.03125 | The row bar height for TLC39's MicroPdf417 symbol. The unit of measure must be specified to barcodeUnit property. |
topMargin | number | 0 | The height of the margin above the barcode bars. The unit of measure must be specified to barcodeUnit property. |
upcESystem | enum: System0 | System1 | System0 | The number system to use for UPC-E symbology. |
useQuietZoneForText | boolean | false | Whether quiet zones are used for drawing text, code and humanReadableText properties. |
uspsFimPattern | enum: A | B | C | D | A | The USPS FIM pattern to use on that symbology. |
uspsHorizontalBarsCount | integer | 10 | The number of horizontal bars to be drawn. |
isTextBase64 | boolean | false | Whether the specified text in the text or humanReadableText properties is in Base64 format. Useful for encoding non-readable/printable chars. |
textBase64EncodingName | string | ISO-8859-1 | The Encoding or CodePage Identifier/Name of the value to encode in the text or humanReadableText properties when isTextBase64 is enabled. Default is ISO-8859-1. Valid values are listed at https://github.com/neodynamic/Barcode-Pro-Web-API-Docker/blob/master/README.md#supported-codepagesencodings |
rightToLeft | boolean | false | Whether the text property should draw right-to-left for RTL languages. Default value is false |
textPlacement | enum: Left | Right | Top | Bottom | Top | The text placement for text property. Default it Top. |
textZoneWidth | number | 0 | The width of the zone where the text property value will be rendered. The unit of measure must be specified to barcodeUnit property. |
textZoneHeight | number | 0 | The height of the zone where the text property value will be rendered. The unit of measure must be specified to barcodeUnit property. |
rectMicroQRCodeVersion | enum (33 values) | Auto | The Rectangular Micro QR Code Version to use on that symbology. |
ultracodeErrorCorrection | enum: Level0 | Level1 | Level2 | Level3 | Level4 | Level5 | Level2 | The Error Correction Code Level for Ultracode Symbol. |
ultracodeModuleSize | number | 0.0417 | The module size. The unit of measure must be specified to barcodeUnit property. |
quietZoneBottom | number | 0 | The bottom quiet zone. The unit of measure must be specified to barcodeUnit property. |
quietZoneLeft | number | 0.1 | The left quiet zone. The unit of measure must be specified to barcodeUnit property. |
quietZoneRight | number | 0.1 | The right quiet zone. The unit of measure must be specified to barcodeUnit property. |
quietZoneTop | number | 0 | The top quiet zone. The unit of measure must be specified to barcodeUnit property. |
pdf417ProcessTilde | boolean | false | Whether tilde character should be processed when PDF417 Code is being generated. |
codeEncoding | enum: Text | Base64 | Hex | The character encoding format of the Code property value. | |
epsEmbedTextAsOutlines | boolean | false | Whether text is embedded into generated EPS files as vector outline. |
epsEmbedPreview | boolean | false | Whether a TIFF preview is embedded into generated EPS files. |
epsColorMode | enum: None | Cmyk | Gray | None | The color space to use when generating EPS output (application/postscript). When Cmyk or Gray, all barcode colors (barColor, foreColor, textForeColor, backColor, borderColor, pharmacode2DColorField1..8) are converted to that color space. Colors specified using the exact "cmyk(c,m,y,k)" / "gray(g)" notation are honored without RGB conversion loss. Ignored for other output formats. |
epsTransparentBackground | boolean | true | Whether the background must be transparent in the generated EPS file when epsColorMode is Cmyk or Gray. |
tiffPixelFormat | enum: Bilevel | Grayscale8 | Rgb24 | Rgba32 | Rgba32 | The TIFF pixel format. |
pclColorMode | enum: BlackAndWhite | Grayscale | Color | BlackAndWhite | The PCL color mode. |
pclStandalone | boolean | true | Whether the PCL output is a self-contained job; otherwise, only the raster graphics block is emitted so it can be embedded into a larger PCL stream produced elsewhere. |
Symbology values (194)
Valid values for the symbology property:
Codabar, Code11, Code16k, Code39, Code93, Code128, DataMatrix, Ean8, Ean13, Industrial2of5, Interleaved2of5, Isbn, Msi, Pdf417, Planet, Postnet, UccEan128, UpcA, UpcE, UspsOneCode4CB, RoyalMail, AustraliaPost, RoyalTpgPostKix, Sscc18, Pzn, DeutschePostLeitcode, DeutschePostIdentcode, UspsTrayLabel, UspsSackLabel, EanVelocity, SingaporePost, Jan8, Jan13, SwissPostParcel, Opc, Ean99, Itf14, Scc14, Issn, Ismn, NumlyNumber, QRCode, UspsFim, UspsHorizontalBars, Telepen, Pharmacode, Semacode, Code32, UspsPicUccEan128, FedExGround96, AztecCode, CompactPdf417, MacroPdf417, MicroPdf417, VicsBol, VicsScacPro, ItalianPost25, Isbt128, HibcLic39, HibcLic128, HibcPas39, HibcPas128, UspsIntelligentMail, EanUpcAddOn2, EanUpcAddOn5, UspsPicCode128, GS1DataBarOmnidirectional, GS1DataBar14, Rss14, GS1DataBarTruncated, GS1DataBar14Truncated, Rss14Truncated, GS1DataBarStacked, GS1DataBar14Stacked, Rss14Stacked, GS1DataBarStackedOmnidirectional, GS1DataBar14StackedOmnidirectional, Rss14StackedOmnidirectional, GS1DataBarLimited, RssLimited, GS1DataBarExpanded, RssExpanded, GS1DataBarExpandedStacked, RssExpandedStacked, GS1128, MaxiCode, MicroQRCode, Matrix2of5, DanishPostal39, FrenchPostal39AR, IATA2of5, AustraliaPostDomesticEParcelBarcode, UspsIntelligentMailContainerBarcode, KodakPatchCode, GS1DataMatrix, Ean13CCA, Ean13CCB, Ean8CCA, Ean8CCB, UpcACCA, UpcACCB, UpcECCA, UpcECCB, UccEan128CCA, UccEan128CCB, UccEan128CCC, GS1128CCA, GS1128CCB, GS1128CCC, GS1DataBarOmnidirectionalCCA, GS1DataBar14CCA, Rss14CCA, GS1DataBarOmnidirectionalCCB, GS1DataBar14CCB, Rss14CCB, GS1DataBarTruncatedCCA, GS1DataBar14TruncatedCCA, Rss14TruncatedCCA, GS1DataBarTruncatedCCB, GS1DataBar14TruncatedCCB, Rss14TruncatedCCB, GS1DataBarLimitedCCA, RssLimitedCCA, GS1DataBarLimitedCCB, RssLimitedCCB, GS1DataBarStackedCCA, GS1DataBar14StackedCCA, Rss14StackedCCA, GS1DataBarStackedCCB, GS1DataBar14StackedCCB, Rss14StackedCCB, GS1DataBarStackedOmnidirectionalCCA, GS1DataBar14StackedOmnidirectionalCCA, Rss14StackedOmnidirectionalCCA, GS1DataBarStackedOmnidirectionalCCB, GS1DataBar14StackedOmnidirectionalCCB, Rss14StackedOmnidirectionalCCB, GS1DataBarExpandedCCA, RssExpandedCCA, GS1DataBarExpandedCCB, RssExpandedCCB, GS1DataBarExpandedStackedCCA, RssExpandedStackedCCA, GS1DataBarExpandedStackedCCB, RssExpandedStackedCCB, Ean14, Dun14Itf, Dun14Ean, GS1QRCode, Ppn, IFAsecurPharm, DhlAwb, HibcLicDataMatrix, HibcLicQRCode, HibcLicAztecCode, HibcPasDataMatrix, HibcPasQRCode, HibcPasAztecCode, Isbt128DataMatrix, DeutschePostResponsePlusPostMatrix, DeutschePostBzl, UspsIntelligentMailPackageBarcode, HanXinCode, JapanPost, KoreaPost, DataLogic2of5, MailmarkCMDM, Mailmark4StateC, Mailmark4StateL, DotCode, GS1AztecCode, SwissQRCode, Pharmacode2D, ChannelCode, JABCode, Plessey, EPCQRCode, Code49, CodablockF, Tlc39, HibcLicCodablockF, HibcPasCodablockF, TriOptic, DINSpecQRCode, DINSpecDataMatrix, RectMicroQRCode, GS1RectMicroQRCode, DPDCode, DAFT, VINCode39, VINQRCode, VINDataMatrix, PharmacodeTwoTrack, Ultracode
Visual samples and specifications of each barcode type are in the Barcode Center.
Errors
Successful requests return HTTP 200 with the barcode in the format requested by the Accept header. Invalid data for the chosen symbology or any processing error returns HTTP 500 with a ProblemDetails JSON object:
{
"type": "string",
"title": "string",
"status": 500,
"detail": "string",
"instance": "string"
}
Web API Doc
Interactive OpenAPI reference. The same swagger.json is used by the Swagger UI built into the container (enabled by default). All properties are also listed in The Barcode JSON Object.
Licensing
On-Premise - Full Deployment Control
BarcodePro 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...
License Registration
When you buy a commercial license of BarcodePro Web API for Docker, you are provided with license information (LicenseOwner & LicenseKey) to register the product. The license information must be specified to the Docker image as environment variables as follows:
AMDEvaluation Mode
The Trial Version of BarcodePro Web API for Docker is fully functional and has no expiry date. However, while in TRIAL mode, the output rendering has the following limitations:
- SVG & EPS barcode image formats require a license key, a blank image will be generated in TRIAL mode.
- A TRIAL stamp will be rendered at the top of the rendering output.
Want to try BarcodePro Web API for Docker without TRIAL watermark?
We offer you a 30-day Evaluation License Key which will allow you to test the BarcodePro Web API for Docker in fully-functional mode for 30 days! When the 30-day Evaluation License Key expires, the BarcodePro Web API for Docker behavior backs to Trial mode. Request your 30-day Evaluation License Key now...Which Barcode Edition Do I Need?
The same GS1, ISO/IEC & AIM compliant barcode engine is available in these editions:
| Edition | Best for | NuGet package / delivery | Platforms |
|---|---|---|---|
| Barcode Professional for .NET Standard | Cross-platform .NET: ASP.NET Core, APIs, console, services, Xamarin | Neodynamic.SDK.BarcodeCore | Windows, Linux, macOS (.NET Standard 2.0) |
| Barcode Professional for Blazor | Blazor Server & WebAssembly apps | Neodynamic.Blazor.Barcode | Any Blazor host |
| Barcode Professional for Windows Forms | WinForms desktop apps, printing & reports | Neodynamic.WinControls.NetCore.BarcodeProfessional (.NET Core 3.1 & .NET 5+)Neodynamic.WinControls.BarcodeProfessional (.NET Framework) | Windows |
| Barcode Professional for WPF | WPF apps, XPS & vector printing | Neodynamic.WPF.NetCore.BarcodeProfessional (.NET Core 3.1 & .NET 5+)Neodynamic.WPF.Barcode (.NET Framework) | Windows |
| BarcodePro Web API for Docker | Any language, servers and cloud | Docker image neodynamic/barcodeprowebapi | Linux container (amd64 & arm64) |
| Barcode Professional for SSRS & PBIRS | SQL Server Reporting Services & Power BI Report Server | Installer: Custom Report Item (CRI) and DLL | SSRS 2005–2022, PBIRS |
| Barcode Professional for ASP.NET Legacy | Existing ASP.NET WebForms & MVC apps | Neodynamic.WebControls.BarcodeProfessional | Windows (.NET Framework 2.0–4.x) |
| Barcode Professional SDK for .NET Windows Legacy | Existing .NET Framework apps | Neodynamic.SDK.Barcode | Windows (.NET Framework 2.0–4.x) |
New web or cross-platform project? Use Barcode Professional for .NET Standard. See also the full feature comparison.
BarcodePro Web API FAQ
- How do I generate a barcode with a REST API?
- Run docker run -p 8080:8080 neodynamic/barcodeprowebapi:5.0.2 and POST a JSON body like {"symbology":"QRCode","code":"12345"} to http://localhost:8080/BarcodeGenerator with the Accept header set to the image format you want, for example image/png.
- Which output formats are supported?
- PNG, JPEG, TIFF, PCX, PCL and PDF, plus the vector formats SVG and EPS. The format is chosen with the Accept header. SVG and EPS require a license key.
- Which barcode types are supported?
- 194 symbology values, covering linear (1D), postal, stacked, composite and 2D barcodes such as Code 128, GS1-128, EAN-13, UPC-A, ITF-14, GS1 DataBar, Data Matrix, GS1 DataMatrix, QR Code, GS1 QR Code, Micro QR, rMQR, PDF417, Aztec, MaxiCode, Han Xin, DotCode, Swiss QR Code, JAB-Code, USPS Intelligent Mail and Royal Mail Mailmark. See all symbology values.
- Which programming languages can I use?
- Any language that can send an HTTP POST with JSON: Python, Node.js, JavaScript, Java, PHP, C#, Ruby, Perl, Go or curl. There is no SDK to install.
- Is it self-hosted?
- Yes. It runs as a Docker container on your own servers, Kubernetes cluster or cloud account, so the data you encode never leaves your infrastructure.
- Does it run on ARM64?
- Yes. Images are published for amd64 (neodynamic/barcodeprowebapi:5.0.2) and arm64 (neodynamic/barcodeprowebapi:5.0.2-arm64).
- Is there a health check endpoint?
- Yes. GET /health can be used for Docker, Kubernetes or load balancer health checks.
- What are the limitations of the evaluation version?
- The trial is fully functional and does not expire, but it adds a TRIAL stamp to the output and SVG and EPS generate a blank image. A 30-day evaluation license key without these limitations is available on request. See Evaluation Mode.
Latest Release: v5.0.2 2026-11-02
- Fixed! Added missing
image/tiffandapplication/vnd.hp-pclAccept Headers.