How to Pad Data in a Script
Description
A label value needs to be padded, but padding in formula doesn't work or user needs to pad with a character not offered via properties. This article demonstrates how this can be done using a label script.
How to Pad Data in a Script
- Set up a scripting field, an input field, an output field, and padding character field on the label.
- Copy the example below to a text editor and modify using the names of the fields on your label.
- Choose section of code you want to use left padding, right padding, or center padding and remove the other padding types from the script.
- Copy the modified script into the scripting field data source window and save the label.
- Test and validate the label output.
//part 1 define variables
var input = String(label.fields.field.(@name=='INPUT').@data);
var padchar = String(label.fields.field.(@name=='PAD_CHAR').@data);
// xml parser strips out spaces so spaces have to be represented as the #x20; string
if (padchar == "" || padchar == " ")
{
padchar = "#x20;";
}
var padlimit = label.fields.field.(@name=='PAD_LIMIT').@data;
var inputL = input.length;
var leftpad= new String;
var rightpad = new String;
var centerpad = new String;
var i;
var j;
//part 2 left pad
leftpad = input;
for (i=inputL;i<padlimit;i++)
{
leftpad = padchar + leftpad;
}
label.fields.field.(@name=='LEFT_PAD').@data = leftpad;
//part 3 right pad
rightpad = input;
for (i=inputL;i<padlimit;i++)
{
rightpad = rightpad + padchar;
}
label.fields.field.(@name=='RIGHT_PAD').@data = rightpad;
//part 4 center pad
centerpad = input;
var padlimiti = (padlimit - inputL)/2;
for (i=0;i<padlimiti;i++)
{
centerpad = padchar + centerpad;
}
var padlimitj = (padlimit - i)-inputL;
for (j=0;j<padlimitj;j++)
{
centerpad = centerpad + padchar;
}
label.fields.field.(@name == 'CENTER_PAD').@data = centerpad;
Article Number
2018008
Versions
Loftware Label A label is a design area on the computer screen where a label format is created or edited. Manager / Loftware Print Server versions 9.5.2.0 - 11.1
Environment
Any supported LPS family product environment