Empower your .NET Windows Apps with a First-Class Visual Thermal Label Editor & Designer
ThermalLabel Windows Editor Add-on is a first-class barcode label designer component for .NET Windows desktop apps (WinForms & WPF) which empowers your own apps by providing an end-user visual label editor! The ThermalLabel Editor component leverages and requires the ThermalLabel SDK. You focus on your app's UI (menu, ribbon, toolbar, properties window or dialogs); the editor provides the design surface.
The ThermalLabel Editor features visual creation tools for every label item type: texts, barcodes, pictures, shapes, tables, repeaters, literals and RFID tags. It also includes an undo/redo engine, Cut-Copy-Paste (internal or OS clipboard), Z-ordering, grouping, alignment and distribution tools, zooming, rulers, grid and snapping, duplex (Front/Back) label design, view rotation, keyboard shortcuts for well-known common actions, In-place text edition for TextItem objects and many more features! It is also very customizable, including saving and loading a theme as JSON, so you can skin it to match the app's UI style on which it will be hosted in.
With the ThermalLabel Editor component, you can allow your end-users to create, load, edit and save ThermalLabel objects in the form of XML or JSON template file definition or .NET object within your own .NET apps. You can also export labels to PDF or raster & vector image formats by leveraging the ThermalLabel SDK
Requirements: ThermalLabel SDK 16.0, .NET Framework 4.6.1+ or .NET Core 3.1+, SkiaSharp 1.68.3+ and System.Text.Encoding.CodePages 4.4.0+. Available for both WPF (with ready-to-bind routed commands) and Windows Forms.
"We have been using the ThermalLabel SDK for a few years now, and this has allowed us to give our customers the ability to print labels with complex layouts, barcodes and graphics, right from within our application, at the click of a button. We have now integrated the ThermalLabel Editor into our application, and we anticipate our customers will love the ease of use and simplicity to create their own advanced label designs."
Tim Failes
Advanced User Systems Pty Ltd
from Australia
Users create items by activating a tool and drawing on the surface. There are visual creation tools for every label item type: rectangles, ellipses, lines, texts, barcodes, images, literals, RFID tags, tables and repeaters. You provide a template item (for example, a Code 128 barcode with default data) and the editor clones it each time the user draws a new one, then goes back to the Pointer tool automatically. Items can also be added from code at any time.
The items on the design surface can be selected by the user by "drawing" a rectangular selection around the desired items; or by left-clicking on the item. Multiple items can be selected by left-clicking on the items while holding down the CTRL key. Items that belong to the same group are always selected together. Each time the user selects one or multiple items, adorners appear on the design surface: resize handles, a rotation handle and a legend with the item's position and size, with specific adorners for lines and tables. Hold SHIFT to keep the aspect ratio while resizing. The handler's color can be changed to match your own UI App Style!
The ThermalLabel Editor features rulers to help users with the measurement process. There are two rulers; one which runs at the top of the editor's canvas and one which runs at the left side. The ruler's unit of measurement automatically changes to match the current Unit set up on the ThermalLabel object which is being edited, and the rulers highlight the position and size of the current selection. The ruler divisions, background and foreground colors as well as the color of highlighted zone can be changed to match your own UI App Style!
Users can easily edit the text of a TextItem by double-clicking on it or by hitting the F2 key (ESC leaves edit mode). The In-Place Text Edition is even enabled if the TextItem is being rotated! You can follow the text as the user types through the CurrentSelectionTextChanged event, or turn the feature off if your app edits text through its own dialog.
Users can move items on the editor's surface by using the Arrow keys. For longer movements users can hold down the CTRL key. In addition, ThermalLabel Editor does support the following keyboard shortcuts: CTRL+C (Copy), CTRL+X (Cut), CTRL+V (Paste), CTRL+Z (Undo), CTRL+Y (Redo), CTRL+A (Select All), DELETE (Delete selected items), F2 (Edit text), CTRL+SHIFT+LEFT/RIGHT (Select previous/next item), CTRL+PLUS SIGN (Zoom In), CTRL+MINUS SIGN (Zoom Out) & CTRL+0 (Zoom 100%). If your app already uses any of these keys, you can disable any combination of shortcuts.
Items can be locked so they cannot be resized, moved or rotated on the editor surface. Locked items can still be selected and show a lock icon, so users know why they can't be moved.
The Grid (lines or dots) helps you with a better label design and the "Snap To Grid" feature allows you to place and size items according to the grid divisions. In addition, the "Snap To Items" feature shows smart guide lines when an item's edges or center line up with those of nearby items, and snaps to the closest guide when the mouse is released. Rotation can also snap to a configurable angle step.
The ImageItemUtils class features a method which allows you to get the output when converting the image source of an ImageItem to black & white based on the MonochromeSettings options set up on such ImageItem object! It is useful for you to display to your users a preview of the image in black & white format by fine tuning the MonochromeSettings options. You can also set the monochrome processing DPI to your printer's resolution so the dithering you preview matches the printed output. In addition, you can specify a custom image file which will be displayed on the editor if the image source of the ImageItem cannot be found or was not specified!
ThermalLabel Editor provides you with a high quality zooming feature. User can zoom the editor's surface from 10% up to 1000% by using CTRL + mouse wheel or the keyboard, and you can set the zoom to "fit" so the whole label is visible in the viewer.
ThermalLabel Editor allows users to undo/redo actions as well as to cut, copy & paste items. The clipboard can be internal to the editor or shared with the OS clipboard, so items can be pasted into another editor instance or application. You as the app developer are provided with methods, properties and events related to the state of the editor's design surface for Undo/Redo and the clipboard's state to update your UI accordingly.
Design labels with a Front and a Back side and let users flip between them with a smooth flip animation. Items can be moved from one side to the other with Cut and Paste, and both sides share one component tray. The editor validates that items stay inside the side they belong to when the label is exported, and it warns the user before Back side items are deleted when converting a duplex design to simplex. Flipping the side is also undoable.
Group and ungroup items so they are always selected and moved together. Align items to the first selected item or to the label itself, distribute them with equal spacing horizontally or vertically, and resize them to the same width and/or height. Z-ordering tools let you bring items forward or to the front, and send them backward or to the back.
Rotate the way the whole label is shown on the design surface in 90-degree steps; for example, to design a label the way it comes out of a printer that feeds it sideways. Items, margins, duplex pages and the background image rotate with the view, while rulers and grid are updated. You choose whether the label is saved as originally designed or as it is currently shown.
Small reference icons tell the user about each item's state: data bound, contains an expression, locked, non editable, read only, not visible, has comments, or printed as a printer-resident element. A tooltip with the item's index appears when the pointer is over the item, and it shows the item's comment if it has one. Items placed partly outside the printable area of the label are outlined with a dashed frame, even on round labels.
Design rectangular or round labels, with optional rounded frame corners. Show a design background image behind the items, such as a scan of a pre-printed label. RFID tags and literals, which have no visual footprint on the printed label, are displayed as icons in a component tray docked below the label instead of floating over it.
Almost every color, border, adorner and icon of the editor can be changed so it matches the look of the app that hosts it: designer background, rulers, label frame, grid and guides, handles, tooltips, duplex controls and the component tray. Capture the whole look as a JSON theme, ship it as a file or let your users pick a skin. Partial themes are supported, so a theme file can contain only the properties you want to change.
In WPF apps, the editor's actions (Undo, Redo, Cut, Copy, Paste, Z-ordering, Lock, Save, Load, RotateView and more) are exposed as routed commands, so you can bind menu items and toolbar buttons in XAML and get automatic enabled/disabled state. Both WPF and Windows Forms editions raise events for selection changes, new items, deletions, undo and clipboard state, view rotation and duplex side changes, so you can keep your properties window and toolbar in sync.
ThermalLabel Editor provides First-Class International Barcode Standards compliance. Neodynamic is an expert in the barcode field and all the barcode algorithms were written from ground up based on the official specifications. ThermalLabel Editor leverages the ThermalLabel SDK and provides you and your end-users with barcode generation for most popular Linear (1D), Postal, Component Composite & 2D Barcode including Code 39, Code 128, GS1-128 (formerly EAN/UCC-128), GS1 DataBar (RSS-14), EAN 13 & UPC, Postal (USPS, British Royal Mail, Australia Post, DHL, etc.), Data Matrix (including GS1 & DMRE versions), QR Code (including GS1 version), PDF 417, UPS MaxiCode, Micro QR Code, Chinese Han Xin Code, IFA PPN, ALL EAN/UPC Composite Barcodes (CC-A, CC-B & CC-C), DotCode and many more!