Differences between NiceLabel 2019 and NiceLabel 6
Article ID: 302 - Updated: Feb 22, 2021 - Version: V2019 - Category: Compatibility and Migration
NiceLabel 2019 is the next-generation of NiceLabel software built upon the foundation set by NiceLabel 2017.
NiceLabel 2019 inherits a lot of the concepts and functionality from the NiceLabel 6 software, but is based on new technology. Some of the functionalities that were available in NiceLabel 6 are either offered differently or no longer available.
This article describes the differences between NiceLabel 2019 and NiceLabel 6. It also provides a migration overview and outlines challenges you may encounter when moving to the NiceLabel 2019 platform.
General Functionality Restructure
- Licensing - All multi-user editions of NiceLabel 2019 are consistently licensed using a simple and transparent licensing method based on the number of printers used. For more information, see the Licensing document.
- User management - Control Center enables you full user permission management.
You can omit label design permissions by installing only a print module on workstations.
- Print history logging and label reprinting - You can log printing events to a database. The option is available in LMS editions and accessible via Control Center. You can reprint labels retrieved from printing history on systems running the Automation module. Local printing log and label reprinting are no longer available.
- ActiveX API -ActiveX API is no longer available and is superseded by the new .NET API available in PowerForms Suite and LMS editions. The new .NET based API incorporates modern programming concepts and is superior in terms of performance and reliability. You can adapt your applications using the ActiveX API to make them compatible with the new API. See the .NET API User Guide for more.
- Desktop Applications - NiceLabel 2019 desktop applications are significantly simplified. We adopted and improved many V6 applications and discontinued some of them:
NiceLabel Pro and NiceForm merged into NiceLabel Designer which now supports both – label and form (solution) designing.
NiceLabel Print and QuickPrint merged into NiceLabel Print.
NiceData is discontinued because the modern database and spreadsheet formats do not require a 3rd party content editing utility.
NicePrintQueue is discontinued – this functionality is available as part of Control Center.
Download to printer functionality of NiceMemMaster is available with the latest NiceLabel drivers.
Smart Keyboard Downloader utility is discontinued.
NiceLabel 2019 is highly compatible with previous editions of NiceLabel in terms of Label design functionalities. Most labels open and print without any issues.
This section lists the differences and currently non-supported functionalities in NiceLabel 2019. When opening or importing a NiceLabel 6 .LBL file to a NiceLabel 2019 .NLBL or .NSLN file which uses these features, the system informs you about incompatibility issues. NiceLabel V2019 ignores these functionalities.
Objects and properties
- Not supported barcodes. Royal Mail, Australia Post 4-state, Code128 Pharmacy, Code-32, Kix, Pharmacode, all Postnet barcodes. When importing legacy labels, these objects are removed from the label. Support for these barcodes will be added in future releases.
- Not supported 2D barcodes. 2D Pharmacode, Codablock F, GridMatrix, DotCode. When importing legacy labels, these objects are removed from the label. Support for non-supported 2D barcodes will be added in future releases.
- OLE object. Object linking and embedding (OLE) label design objects are no longer available. When importing the existing labels with such objects, they are removed from the label.
- “Stacked text” option of Text object. Stacked text option is not supported with Text object properties.
- Size of PDF-417 barcode. When opening a PDF-417 barcode in NiceLabel 2019, the aspect ratio adjusts to a value of at least 1.5 to ensure standard compliance. Also, after designing a PDF-417 barcode with value for the rows and columns set to 0, NiceLabel 2019 can display the barcode with a slightly different size or ratio. The data remains encoded correctly, but make sure the barcode still fits on the label.
- ECC 200 level for Data Matrix barcode. When you open the label with Data Matrix barcode created in NiceLabel 6, the ECC 000-140 level is automatically set to 200. ECC 200 is the latest version of Data Matrix barcode – it uses Reed-Solomon codes for error correction and symbol erasure recovery.
- QR Code displays the error message "Contents of item cannot be set, because its value is invalid. Value to encode is too long. Either update the content or barcode properties to allow more content" during printing. This error might appear when you try to print a label which was created in NiceLabel 6 and contains a QR Code with invalid properties. NiceLabel 2019 loads such labels and recognizes the incompatibilities during printing. Verify the settings of the erroneous barcode object.
- Font point size differences in Text objects. NiceLabel 2019 includes an optimized calculation of font point sizes. In some cases, this might cause a Text object to display a font slightly differently when compared to NiceLabel 6. For example, font height might differ for 1 pixel.
- Rotating the object with the enabled fill option also rotates the fill itself. When rotating the object with the enabled fill option in NiceLabel 6, only the object is rotated, while the fill retained its absolute orientation relative to the label). In NiceLabel 2019, rotating the object also rotates the fill effect – fill settings retaines relative to the object.
- The Rectangle object has a uniform thickness setting. In NiceLabel 6 you could define different values for horizontal and vertical thickness. In NiceLabel 2019, the Rectangle object has a single uniform thickness setting. When loading a Rectangle object from a label created in NiceLabel 6, horizontal thickness applies.
- Picture mirroring. The options to flip pictures vertical or horizontal are not available.
- Relative object positioning across label sides. Object position cannot be linked to the position of some object from the other label side.
- Printing human readable in Truetype font. In NiceLabel v6, you could design a barcode object to print human interpretation formatted in the printer font. NiceLabel 2019 converts the printer font into Arial TrueType font
- Global variables. NiceLabel 2019 uses a new folder (by default C:\ProgramData\NiceLabel\Global Variables) or Control Center's database to store the global variables. If you want to use the global variables from NiceLabel 6, copy the variables from NiceLabel 6 location to the new location. Global variables with counter rollover settings are not supported – the setting is ignored.
- Lookup table is not available. Lookup table was a simple table object with a few fields embedded in the label file. It was used as quick storage for non-changeable database. The alternative is to use an external data source, such as a formatted text file (CSV) or Excel file.
- Custom check digit algorithms are not available. The custom check digit functionality from NiceLabel 6 cannot be used in NiceLabel 2019. The alternative is to code a custom check digit algorithm using VBScript or Python.
- Non-supported functions: User defined check-digit algorithms, Currency exchange, and PIATS Code. They can be replaced using a custom VBScript or Python script.
- Non-supported "label" API object in scripting. This part of the ActiveX API was previously also accessible from the label itself. This functionality was used to set the conditional visibility of objects and to set the values of other label variables. NiceLabel 2019 allows direct defining of conditional visibility separately for each object in the design area. To set the label values of other variables, use PowerForms application.
- Connection to BDE data sources is not available. Borland Database Engine was a popular database engine years ago (prior to 2000) when Paradox and dBase were predominant file-based database types. Today, the use of BDE data sources is negligible.
- RFID "Read & Store". RFID support in NiceLabel 2019 allows you to encode RFID tags on a smart label. NiceLabel printer drivers enable this functionality. The "Read & Store" (reads the contents of an RFID tag – usually UniqueID – and saves it to a local database) feature is not supported yet.
- Functions no longer have an editable data output format. In NiceLabel 2019, the function output format does not allow additional editing, such as adding a prefix, suffix, or setting a date format. If you want to change the function output format, define a new variable, use the function data source as an initial value, and set a changed format for its output.
- No value used for NULL fields in databases. If a table field contains a NULL value, NiceLabel 2019 no longer displays the default field (such as 0) and ignores its content.
- No need to define the format of DateTime fields. In NiceLabel 6, you had to set the data type to Date if you wanted to use the localization settings. NiceLabel 2019 applies these settings by default.
- Consistent handling of DateTime fields. NiceLabel 6 handled data fields differently on a label than on a form. In NiceLabel 2019, forms and labels use common data sources. If you have a DateTime field with an empty Time component, its output is the Date component alone (the output format for the field must be a default one with "HH:mm:ss" at the end). If you want to force a format using the empty Time component at the end (00:00:00), you can add a space at the end of the output date format.
- Data from linked fields and objects. NiceLabel Designer Standard 6 had the option to merge values from various objects and to use the merged value in a new object. Such object data merging is not available in NiceLabel 2019. However, the functionality of the linked fields loads correctly when you import legacy label files (.LBL) into NiceLabel 2019. Concatenate function merges the values.
- Database filter with LIKE condition:
Filter with LIKE relation will search for %value% not value%. In NiceLabel 6, LIKE relation was handled differently in NiceLabel Pro and in NiceForm. NiceLabel Pro created a condition for LIKE that queried for value% (wildcard at the end), while NiceForm created a condition that queried for %value% (wildcard at both ends). NiceLabel 2019 uses the %value% implementation – same as NiceForm V6.
Unification of LIKE database filter. The implementation of LIKE filter in NiceLabel 6 was done differently for NiceLabel Pro and for NiceForm applications. In NiceLabel Pro, the resulting dataset contained all records if the parameter for LIKE was empty. In NiceForm, the resulting dataset contained no records for the empty LIKE parameter. NiceLabel 2019 has inherited the functionality from NiceLabel Pro 6 and returns all records if a parameter for LIKE is empty. The LIKE condition is ignored if it has no value. To use the old functionality in new forms, set the LIKE parameter to an invalid value, such as "<Enter the product>". In this case, no matching record is found and the returned dataset is empty.
- Honoring original newline character for data coming from database sources. NiceLabel 2019 keeps the original newline character, like CR, LF or CR/LF. NiceLabel 6 always reformatted the newline into CR/LF syntax.
- Prompting for the value of the data source. NiceLabel 2019 prompts you for the value of the data source just once – before the print process starts. The configurable option from NiceLabel 6 to prompted the user for data value mid-printing is no longer supported. In V2019 you can split the print job to several batches, for which you provide data values all at once.
- You can't use labels created in NiceLabel versions prior to 5.4.4 without a conversion. Print modules in NiceLabel 2019, such as NiceLabel Print, NiceLabel Automation, and NiceLabel .NET API cannot print legacy labels (.LBL) that are saved with NiceLabel older than 5.4.4. When you try to print such labels, you receive the message "File <label> was created by an older label designer and contains design features that cannot be used. To make the label available, open it in V5.4.4. or V6.x and save it." To make these labels available for printing, open them in NiceLabel Designer 2019 and re-save them in the new .NLBL format.
- Document Metadata. Metadata about the current document, such as author, keywords, comment, and file version is not available.
- Multiband Printing. The option to print a large size label in several bands or stripes is not supported.
- Smart replacement of printer fonts. The NiceLabel 6 font replacement feature is no longer supported. You can define custom font mapping rules and apply them to NiceLabel 2019 Designers and Automation. See the topic "Automatic Font Replacement" in NiceLabel 2019 User Guide.
- Custom stocks. NiceLabel 2019 does not support the creation of custom stocks. You can select the stock from a predefined library of stocks. The stocks contain label dimensions information, but no printer driver settings are included.
- Label is linked to stock. The option to link the current label to a stock is not supported.
- Opening a page label with labels across (such as 2x4) for a thermal printer might open differently.
In NiceLabel 6, it became 2x1 or 1x1 label – depending on the maximum label width.
In NiceLabel 2019, it becomes 2x4 or 1x4 label (or even 1x3), depending on the maximum label width and height.
- "Identical copies per label" setting is not copied from V6 labels. Within the V6 .LBL file, you could save the number of label copies used at print time. In V2019 auto-generated print form handles the printing functionality. To change the default value, update the value of the variable named PrintingForm_IdenticalCopies which is generated for the printing form. If you build a PowerForms application yourself, you already have full control over the label quantity settings.
- Ribbon customization. NiceLabel 2019 doesn't support ribbon customization.
- EasyForms auto-generated forms. NiceLabel Pro V6 could generate the print form for each label template. You couldn't change the functionality of the forms, but you could change their visual appearance. When migrating labels from V6 to V2019, the print forms are be imported as NiceLabel 2019 generates forms with different types of objects. You can easily re-create the forms in V2019.
- Running JOB files in command-line parameter. NiceLabel Designer V2019 does not support executing JOB files from a command-line. You can use NiceLabel Automation to automate label printing with JOB files.
- Downloading images to printer memory. You can't download images to printer memory separately from the label template. This was an optimization techique used with older and slower printers. Downloading individual images does not gain much benefit with modern printers. You can still download static images from the label template using the "Store/recall" printing mode. You can also download Truetype fonts in the NiceLabel printer driver.
NiceLabel 2019 is highly compatible with V6 form design functionalities. A majority of older form solutions will run as-is.
When making changes, store the forms (solutions) using the new .NSLN document format. This section lists the differences and currently non-supported functionalities in NiceLabel 2019. If you open or import an .XFF form file in NiceLabel 2019, the NiceLabel informs you about the incompatibilities. Designer ignores non-supported functionalities. Further releases of NiceLabel 2019 might re-introduce some of the below listed features.
Objects and properties
- Table object doesn't support the built-in navigator. When you import a NiceLabel 6 form which includes a Table object with a navigator, the importer adds the navigator as a separate control on the form. This does not affect the form functionalities.
- BMP images on buttons are not transparent. Usually, images in BMP format do not include transparency. To use the transparent background in NiceLabel 2019, convert the images to PNG format which supports transparency by default.
- Label Preview rotation. Rotation of label preview inside the Label Preview object is not supported. If you define a rotation angle other than 0 degrees, your label displayed without rotation. You can rotate the complete preview control to achieve a similar effect.
- Refresh preview. This action was introduced to support manual refreshing of label previews on slow computers. NiceLabel 2019 is built using the new .NET technology and does not need this action anymore.
- Close label. Keeping a label open does not consume a relevant amount of memory resources and at the same time provides for an immediate response the next time the label is required. You can keep all labels in memory. NiceLabel 2019 is built on the new .NET technology and does not need this action anymore.
- For every label. In NiceLabel 6, this action allowed you to execute a certain set of actions for a group of labels. This action was rarely used. To replicate the functionality with NiceLabel 2019, you can define many Open Label actions and assign the appropriate actions to each label.
- Acquire image. In NiceLabel 6, this action allowed you to interface PowerForms application with the TWAIN-enabled scanning devices or cameras. There is no substitute functionality available in NiceLabel 2019.
- View log file. Local log is not available in NiceLabel 2019. LMS users can configure PowerForms applications to open the consolidated printing history on Control Center webpage instead.
- Custom SQL statement in combination with filter is not supported. In NiceLabel 6, you could define a custom SQL statement and additionally define a filter for it when building a form. This is an atypical combination of double filtering, which is not supported in NiceLabel 2019. We recommend you to define a filter just once.
- Date variable can have an empty value. When you define a date variable in NiceLabel 6 and connect it to the Edit field object, you can select the date value in the date picker, but cannot empty the value. In NiceLabel 2019, the date variable has no default value. If you want to assign the current date as a starting value, you can set the initial value of a date variable to "." (dot character). If you want to assign any other date as a starting value, set the initial value to reference another current date variable.
- Adding records to a table without a primary key is not possible. When you create a form to manage database records, you might see the error message "Cannot execute requested database operation. Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information." This happens when you try to add a new record to a table that does not have a primary key defined.
- Distributed printing is not supported. Distributed printing was used in the past to support printing from Pocket NiceLabel. With distributed printing, the Print button created a NiceLabel JOB file and sent it to NiceWatch for processing. If you need a similar functionality with your desktop PowerForms application, configure it using new actions in NiceLabel 2019, such as "HTTP Request".
- Automatic events for incoming serial port data are not supported. The form application does not automatically collect the data received on the serial port as it does in NiceLabel 6. As a workaround, you can define OnFormTimer event and read the data from the serial port in time intervals with the action Read Data from Serial Port.
- Out-of-the-box support for Python programming language. NiceLabel 2019 uses IronPython, a .NET variant of Python programming language. IronPython supports .NET Framework and Python libraries. Support for IronPython is included with NiceLabel 2019 and requires no additional installation.
- Normal/Data view. A single design surface view displays the current values of objects (if assigned), or displays six question marks (or less if the data source is limited to a shorter length) for variable objects with the assigned current value. To see the data view of the label as it would print out, open the Print dialog which shows you the real print preview.
- Stroke fonts are not supported. Stroke fonts use an older font technology and were developed for plotters under Microsoft Windows 3.X. Quality of printed output on other output devices is very poor. Examples of stroke fonts include Roman, Modern, and Script.
- Most of label export features are not supported (such as export to graphics, POF, SAP, and general export). You can use the Store and Recall functionality, which exports the label to the printer memory and recalls it with label data at print time. You can export labels to graphics in PowerForms using appropriate actions, such as Redirect printing to PDF, which generates a PDF file.
- Export (store) label to printer is not available in Express. To export a label to the printer and store it in the printer's internal memory, NiceLabel Designer Pro product level or higher is required.
- Printing text boxes that do not fit into a designed rectangle. If the setting for "Print invalid objects" was set to "True" in NiceLabel 6, a non-fitting text box was still printed with a reported error in preview. NiceLabel 2019 shows an error if a text box does not fit. If you want to achieve the same response as with NiceLabel 6, enable the option "Ignore excessive content" for the Text box object.
Differences in NiceLabel Control Center
- Move print job from one printer spooler to another. The Print Management tab option which moves a print job from one printer to another is not available in Control Center 2019.
Differences in NiceLabel Automation
- Running triggers in a failover cluster. If you enable failover cluster support in Automation, the information about the loaded configurations and enabled triggers is no longer propagated automatically to Automation on both nodes. NiceLabel Automation has its own settings on each cluster node. Make sure you deploy equal configuration on both nodes.