We’re very exited about what our team will deliver in v4.0 of ThermalLabel SDK. Today we want to provide some insights while designing and developing this new version.
First step: which .NET Framework version to target?
The first thing to determine for v4.0 was which .NET Framework version our product would leverage on. Back on October last year, we decided to run a very simple survey asking our customers about on which version of .NET Framework they were using ThermalLabel SDK. The result was the following:
- .NET 2.0 – 16%
- .NET 3.5 – 68%
- .NET 4.0 – 16%
Since its first release, ThermalLabel SDK was built on.NET 2.0. However, in v4.0 we had to decide which one to develop on. As we outlined in our previous post about ThermalLabel SDK 4.0 future plans the key for this new release is the change in the core engine which now should be graphic based for more development benefits. After analyzing pros and cons on .NET versions features, our team opted for .NET 3.5 and priorizing the “Client Profile” edition introduced in such .NET version. So, v4.0 of ThermalLabel SDK will require .NET 3.5 Client Profile or greater.
Brief intro to v4.0 features
Big new features and changes were made on v4.0. Most of the features outlined in our first post on v4.0 will be delivered. Here are some of them:
- A new label graphic-based engine: this new engine allowed us to accomplish most of the other high requested features like landscape printing and export labels to raster image files. However, the new engine is not purely graphic-based. To improve printing performance, some items are generated as native printer commads and not graphics depending on the items’ settings. But this new engine will allows you to create labels which will be printed exactly to both ZPL or EPL printers! That means you no longer will need to create separated labels for targeting each printer language.
- A complete new barcode engine: The new BarcodeItem now is based on our Barcode Professional product providing some new featues which were impossible to bring by using native printer commands.
- Buffering: previous version of ThermalLabel worked by buffering all the printer commads before sending them to the printer. In v4.0 this is a feature which can be enabled/disabled anytime (by default it is disabled i.e. the printer commands are sent as soom as possible to the target printer).
- Caching: because the new graphic-based engine, we included Caching feature to all items. This allows to cache the output of items to the printer once and then re-use them without re-generation. This is especially useful for items which display static contents like Company logos or fixed messages. By default, Caching is disabled.
- Portrait and Landscape Printing: this new release will provide Portrait printing with 0 and 180 degrees rotation as well as Landscape printing with 90 and 270 degrees rotation!
- Print Preview and Exporting Labels to image files: you no longer will need a real physical thermal printer for developing! In v4.0 you can export/save a PrintJob and ThermalLabel objects to raster image formats like JPEG, PNG, BMP, GIF and TIFF (including multi-page tiff)! You can save to files or streams and can be easily displayed on Windows Forms for end-user print preview.
- Exporting Labels to Adobe PDF document: In addition to export labels to raster image formats, in v4.0 you can export/save a PrintJob and ThermalLabel objects to Adobe PDF documents out-of-the-box!
NOTE: The only feature we won’t be able to deliver this time is the “Visual Label Designer”. This is because we wanted to launch and test the new label engine before going forward. We have some prototypes of this which will be fine-tuned and enhanced depending on the feedbacks we get with v4.0
Breaking changes and No Backward compatibility, sadly
Because the big changes introduced in v4.0, this new release has some breaking changes and will no be backward compatible, sadly. In v4.0 we had to deprecate/remove some items which do not make sense in this release.
- TextItem and GraphicTextItem: All text in v4.0 is graphic based now, so in oder to simplify things, then new TextItem class now features most of the goodies (full Unicode support, RTL, Windows TTF files, etc) found on previous GraphicTextItem. The last one will be deprecated/removed from v4.0
- BarcodeItem: this item, which is now based on our Barcode Professionl product, has changed some properties and added new ones. Some of them are the ability for centering barcodes inside its specified area, text alignment including justifying, stretching barcodes, etc.
- TableShapeItem: this item is no longer available. It was deprecated because the new TextItem and BarcodeItem classes now provide Border features which in conjunction make it possible to reproduce a table layout.
The new v4.0 of ThermalLabel SDK will provide lots of new features which will make easy working when dealing with Thermal Printers from .NET
We expect to launch it ending this month and hope our customers like and enjoy it. As allways your feedbacks are welcome and very appreciated.