Breaking Changes
From Version 8.0
- When exporting labels to any of the supported image formats and specifying a
Streamto store them, in v8 each image was saved to the buffer with the"THERMAL-LABEL:"header/prefix. In v9+, that approach was removed, and now each image is saved to a Zip compressed file stored in the specifiedStreamobject.
From Older Versions (4.0 to 7.0)
Note
In Version 8.0, the ThermalLabel SDK graphics backend changed. Older versions (4.0 to 7.0) relied on the Microsoft WPF Imaging/Drawing API, which unfortunately performs very poorly, especially in high-volume printing scenarios or in server-side service projects. We decided to drop that technology, and starting with v8.0 our SDK relies on the SkiaSharp library, which provides faster imaging/drawing operations and greatly improves SDK performance compared to older versions. Some of the breaking changes are due to this transition.
Note
A Migration Guide is available to port your current code to Version 16.0.
If you're using an older version of our SDK (4.0 to 7.0), these are the breaking changes if you want to use Version 16.0:
- Apps or projects targeting .NET Framework older than v4.6.1 are no longer supported. See "What's New in v16.0".
- The
PrintJobclass is no longer used for direct printing. It is now used for generating printer commands and exporting labels to image or PDF formats only. ThePrintJobprinting features were moved to the brand newWindowsPrintJobclass, found in the brand newNeodynamic.SDK.ThermalLabel.WindowsPrinting.dllassembly. - The
PrintUtilsclass was moved to theNeodynamic.SDK.ThermalLabel.WindowsPrinting.dllassembly. - The
WebPrintJobandWebPrintJobGroupclasses were moved to the brand newNeodynamic.SDK.ThermalLabel.WebPrinting.dllassembly. ImageItem- The DPI resolution of the source image used to be auto-detected. Now it must be explicitly specified in the
SourceDpiproperty.
- The DPI resolution of the source image used to be auto-detected. Now it must be explicitly specified in the
BarcodeItem- The size of the printed barcode symbol could vary from older versions if the
BarWidthor 2D module size settings were set to values that are not a multiple of the target printer DPI. v8 now prints the same barcode size you see on screen or when exporting labels to image formats. - The
GetAutoSizemethod now returns aSystem.Tuple<double, double>value instead ofSystem.Windows.Size. - The
BorderThicknessproperty can only be set to a single value for all sides.
- The size of the printed barcode symbol could vary from older versions if the
TextItem- The
GetAutoSizemethod now returns aSystem.Tuple<double, double>value instead ofSystem.Windows.Size.
- The
- The
CustomFontFileFamilyNameproperty of theFontclass is temporarily disabled. - The
PixelFormatandTiffCompressionproperties ofImageSettingsare no longer supported. - Exporting labels to TIFF, BMP and GIF image formats is no longer supported.
- When exporting labels to the PNG image format, the DPI setting is no longer set automatically. It must be enabled through the
PngIncludeDpiMetadataproperty ofImageSettings. - Removed the
outputQualityparam from theExportToPdfmethod of thePrintJobclass. - License info settings in
.configfiles are no longer supported.