На данной странице Вы можете получить информацию о общей истории развития VintaSoft Barcode .NET SDK.
Информация о изменениях в API SDK находится в документации.
Добавлена возможность распознавания и генерации штрих-кодов Japan Post.
Добавлена возможность распознавания и генерации штрих-кодов Italian Post 2 of 5.
Теперь генератор штрих-кода может сгенерировать векторное представление штрих-кода с текстом штрих-кода (например, штрих-код EAN-13 с текстом под штрих-кодом). Ранее генератор штрих-кода мог генерировать векторное представление штрих-кода только без текста штрих-кода.
Теперь генератор штрих-кода может сгенерировать SVG-изображение штрих-кода с текстом штрих-кода (например, штрих-код EAN-13 с текстом под штрих-кодом). Ранее генератор штрих-кода мог генерировать только SVG-изображение штрих-кода без текста штрих-кода.
Теперь тест качества печати штрих-кодов ISO15415 может возвращать матрицу модуляции анализируемого штрих-кода. Матрицу модуляции можно использовать для выявления проблем в напечатанном штрих-коде.
Увеличена производительность распознавания QR штрих-кодов до 20%.
Увеличена производительность распознавания DataMatrix штрих-кодов до 20%.
Улучшено распознавание 1D и PDF417 штрих-кодов на изображениях низкого качества.
BarcodeDemo: Добавлена возможность просмотра матрицы модуляции для 2D штрих-кода, если штрих-код был проверен с помощью теста качества печати штрих-кодов ISO15415.
Улучшен алгоритм, который выполняет распознавание штрих-кодов в автоматическом режиме:
Улучшено распознавание штрих-кодов на изображениях с неравномерным освещением.
Улучшено распознавание штрих-кодов на изображениях с низкой модуляцией.
Улучшено распознавание штрих-кодов на изображениях с плохой фокусировкой.
Увеличена скорость распознавания QR штрих-кодов.
Увеличена скорость распознавания DataMatrix штрих-кодов.
Увеличена скорость распознавания Aztec штрих-кодов.
Увеличена скорость распознавания штрих-кодов в многопоточной среде.
Добавлена возможность выбора типа адаптивной бинаризации с помощью свойства Vintasoft.Barcode.ReaderSettings.AdaptiveBinarizationType.
Добавлена возможность задать минимальную (свойство Vintasoft.Barcode.ReaderSettings.QrMinSymbolVersion) и максимальную (свойство Vintasoft.Barcode.ReaderSettings.QrMaxSymbolVersion) версию символа для распознаваемых QR штрих-кодов.
Если распознаватель штрих-кодов знает версию символа распознаваемых QR-штрих-кодов, это позволяет значительно увеличить скорость распознавания QR штрих-кодов на изображении, которое содержит много одинаковых QR-штрих-кодов.
Изменения в API:
Значение по умолчанию у свойства Vintasoft.Barcode.ReaderSettings.AutomaticRecognition изменено на True (раньше было значение False).
Значение по умолчанию у свойства Vintasoft.Barcode.ReaderSettings.ScanDirection изменено на "ScanDirection.Vertical | ScanDirection.Horizontal" (раньше было значение ScanDirection.LeftToRight).
Значение по умолчанию у свойства Vintasoft.Barcode.ReaderSettings.AdaptiveBinarizationType изменено на AdaptiveBinarizationType.HighQuality (раньше было значение AdaptiveBinarizationType.Fast).
Добавлена поддержка для .NET 7 в Windows, Linux и macOS.
Выполнен рефакторинг архитектуры SDK:
Сборка Vintasoft.Barcode.dll больше не зависит от библиотеки System.Drawing и может быть использована в Windows, Linux и macOS.
Сборка Vintasoft.Barcode.dll теперь зависит от сборки Vintasoft.Shared.dll.
Сборка Vintasoft.Barcode.dll теперь использует класс Vintasoft.Imaging.VintasoftBitmap (из сборки Vintasoft.Shared.dll) для работы с битмапами - это позволяет получить/передать битмапу от/к VintaSoft Imaging .NET SDK без дублирования памяти.
Создана сборка Vintasoft.Barcode.Gdi.dll - расширение, которое позволяет работать со штрих-кодами используя библиотеку System.Drawing в Windows.
Создана сборка Vintasoft.Barcode.Wpf.dll - расширение, которое позволяет работать со штрих-кодами используя WPF в Windows.
Создана сборка Vintasoft.Barcode.SkiaSharp.dll - расширение, которое позволяет работать со штрих-кодами используя библиотеку SkiaSharp (.NET библиотека с неуправляемым кодом) в Windows, Linux, macOS.
Создана сборка Vintasoft.Barcode.ImageSharp.dll - расширение, которое позволяет работать со штрих-кодами используя библиотеку SixLabors.ImageSharp (полностью управляемая .NET библиотека) в Windows, Linux, macOS.
Прекращена поддержка сборки Vintasoft.WpfBarcode.dll. Используйте сборки Vintasoft.Barcode.dll и Vintasoft.Barcode.Wpf.dll вместо сборки Vintasoft.WpfBarcode.dll.
Добавлена возможность распознавания и генерации 2D компоненты символики составного GS1 штрих-кода, который базируется на штрих-коде MicroPDF417 или PDF417.
Добавлена возможность распознавания следующих символик составного GS1 штрих-кода:
Добавлена возможность распознавания и генерации 2D компоненты символики составного GS1 штрих-кода, который базируется на штрих-коде MicroPDF417 или PDF417.
Добавлена возможность распознавания следующих символик составного GS1 штрих-кода:
Добавлен класс WebSwissQrCodeJS, который позволяет задать структурированное значение штрих-кода Swiss QR Code для генератора штрих-кодов.
Теперь класс WebBarcodeReaderJS выполняет анализ значения распознанного AAMVA, Swiss QR Code, Mailmark CCMD, PPN штрих-кода и возвращает структурированное значение штрих-кода.
Xamarin разработка:
Добавлена возможность распознавания и генерации 2D компоненты символики составного GS1 штрих-кода, который базируется на штрих-коде MicroPDF417 или PDF417.
Добавлена возможность распознавания следующих символик составного GS1 штрих-кода:
Добавлена поддержка .NET Core 3 для Windows, macOS и Linux.
Создана .NET Core сборка Vintasoft.WpfBarcode.dll, которая может быть использована в .NET Core WPF проекте.
Прекращена поддержка .NET Framework 2.0, теперь SDK поддерживает .NET Framework 4+ и 3.5.
Издание "Edition for Windows" теперь заменяет прежние издания "Standard edition" и "Standard+WPF edition".
Добавлена возможность распознавания и генерации штрихкодов ISBT 128 и ISBT 128 Data Matrix.
Добавлена возможность распознавания и генерации штрихкодов HIBC LIC 128, HIBC LIC 39, HIBC LIC Aztect Code, HIBC LIC Data Matrix и HIBC LIC QR Code.
В класс BarcodeWriter добавлена функция SaveBarcodeAsImage, которая позволяет сохранить изображение штрихкода в файл или поток в форматах PNG, BMP, SVG.
Созданы WinForms и WPF демо-приложения для .NET Core.
Веб разработка:
Добавлена поддержка .NET Core 3 в платформенно-независимый веб сервис для распознавания и генерации штрихкодов.
Добавлена поддержка ASP.NET Core 3 в ASP.NET Core Web API сервис для распознавания и генерации штрихкодов.
Обновлено веб демо-приложениe AspNetCoreBarcodeDemo для совместимости с ASP.NET Core 3.
Улучшена многопоточная работа в алгоритмах распознавания штрих-кодов:
Увеличена производительность распознавания QR штрих-кодов до 30%.
Увеличена производительность распознавания DataMatrix штрих-кодов до 40%.
Увеличена производительность распознавания PDF417 штрих-кодов до 15%.
Увеличена производительность распознавания 1D штрих-кодов до 20%.
Примеры для .NET Core:
Создан проект Vintasoft Barcode Scanner Console Demo, который показывает как распознать штрих-коды в изображении в консольном .NET Core приложении.
Создан проект Vintasoft Barcode Generator Console Demo, который показывает как сгенерировать изображение штрих-кода в консольном .NET Core приложении.
Создан проект ASP.NET Core MVC Barcode Demos, который показывает как распознавать штрих-коды и сгенерировать изображение штрих-кода в ASP.NET Core MVC приложении.
Добавлена возможность распознавать и генерировать штрих-коды в приложениях для Android устройств:
Реализована поддержка платформы Xamarin для Android 4.0.3 (API level 15) и выше.
Созданы классы для распознавания более 80 одномерных, почтовых и двумерных штрих-кодов.
Созданы классы для генерации растровых и векторных изображений более 80 одномерных, почтовых и двумерных штрих-кодов.
Добавлена возможность генерировать штрих-коды в виде SVG строки.
Ускорено распознавание QR кодов, в среднем на 20%.
Создан класс CameraBarcodeScanner для оптимального распознавания штрих-кодов из потока изображений полученных с камеры.
Добавлена возможность распознавать штрихкоды из любого источника изображений с помощью класса ImageSource.
Создан класс StructuredAppendBarcodeInfo для распознавания составных штрихкодов использующих флаги соединения структуры.
Примеры для Xamarin.Android:
Создан Xamarin.Android проект Vintasoft Barcode Scanner Demo, который показывает как получить изображения с камеры мобильного устройства и распознать штрих-коды в полученных изображениях.
Создан Xamarin.Android проект Vintasoft Barcode Generator Demo, который показывает как сгенерировать изображение штрих-кода и вывести его на экран мобильного телефона.
Бесплатные приложения для устройств, которые поддерживают Android 4.0.3 (API level 15) и выше:
Выпущено бесплатное приложение Vintasoft Barcode Scanner, которое позволяет распознавать более 80 типов штрих-кодов.
Выпущено бесплатное приложение Vintasoft Barcode Generator, которое позволяет генерировать более 80 типов штрих-кодов.
Добавлена возможность распознавания штрихкодов QR Code Model 1.
Добавлена возможность распознавания штрихкодов Code 39 без стартовых и стоповых символов.
Добавлена возможность распознавания штрихкодов Pharmacode, которые состоят их 3-х полос.
Добавлена возможность завершить распознавание штрихкодов по таймауту.
Добавлена возможность распознавания зеркально отраженных штрихкодов Aztec, QR, Micro QR.
Добавлена возможность получения центров поисковых паттернов (finder patterns) для штрихкодов Aztec, QR, Micro QR, Han Xin Code.
Добавлена возможность получить параметер "Mask Pattern" QR штрихкода.
Добавлена возможность выполнить масштабирование изображения штрихкода перед распознаванием.
Скорость распознавания больших штрихкодов может быть увеличена многократно, если указать что штрихкод должен быть уменьшен перед распознаванием.
Качество распознавания очень маленьких штрихкодов может быть улучшено, если указать что штрихкод должен быть увеличен перед распознаванием.
Добавлена возможность задать максимальный размер ячейки двумерного штрихкода для штрихкодов Aztec, QR, Micro QR, DataMatrix, Han Xin Code, Maxicode.
Предыдущая версия всегда искала штрихкоды с размерами ячеек от 1 до 64 пикселей.
Скорость распознавания 2D штрихкодов может быть увеличена до 30%, если уменьшить размер максимальной ячейки, например искать штрихкоды с размерами ячеек от 1 до 20 пикселей.
Создание штрихкодов:
Добавлена возможность сгенерировать Aztec, DataMatrix, QR, MicroQR, HanXinCode штрихкод в виде "структуры двумерного штрихкода".
"Структура двумерного штрихкода" имеет следующие преимущества:
Штрихкод представлен с помощью древовидной структуры, которая состоит из фрагменов матрицы и фиксированных элементов.
Процесс рисования штрихкода упрощен потому что поисковые паттерны и паттерны выравнивания представлены в виде отдельных объектов.
Для каждой ячейки штрихкода можно определить ее важность, которая определяется слоем к которому принадлежит ячейка:
поиcковые паттерны
паттерны ориентации
паттерны выравнивания
timing паттерны
служебная информация (данные содержащие информацию о формате, версии и уровне коррекции ошибок символа)
пользовательские данные
Добавлена возможность создания "design" штрихкодов Aztec, DataMatrix, QR, MicroQR, HanXinCode.
Добавлена возможность создания штрихкодов QR Code Model 1.
Добавлена возможность создания штрихкодов Pharmacode, которые состоят из 3-х полос.
Добавлена возможность создавать изображения штрихкодов строго заданного размера.
Добавлена возможность задавать и получать параметер "Mask Pattern" QR штрихкода.
Добавлена возможность задавать "Quiet Zones" для создаваемых штрихкодов.
Создан платформенно-независимый веб сервис для чтения и генерации штрихкодов. Платформенно-независимый веб сервис позволяет быстро создавать веб сервисы для любой .NET совместимой веб платформы, например для ASP.NET WebForms, ASP.NET MVC, ServiceStack.
Создан веб API контроллер для чтения и генерации штрихкодов в ASP.NET MVC 5.
JavaScript код для чтения и генерации штрихкодов проверен на совместимость с jQuery 2 и 3.
Cоздано демо-приложение, которое показывает как распознавать и генерировать штрихкоды в ASP.NET MVC 5.
Поддержка Silverlight 4 прекращена.
Добавлены проекты демо-приложений для Visual Studio .NET 2017.
Сборка Vintasoft.Barcode.Web.HttpHandlers может быть использована на серверной стороне ASP.NET приложения и позволяет создать HTTP обработчик для распознавания и генерации штрихкодов.
Сборка Vintasoft.Barcode.Web.WcfServices может быть использована на серверной стороне ASP.NET приложения и позволяет создать WCF сервис для распознавания и генерации штрихкодов.
Сборка Vintasoft.Barcode.Web.ApiControllers может быть использована на серверной стороне ASP.NET MVC приложения и позволяет создать Web контроллер для распознавания и генерации штрихкодов.
JavaScript файл Vintasoft.Barcode.js может быть использован на клиентской стороне ASP.NET приложения и содержит классы и перечисления для упрощения распознавания и генерирации штрихкодов.
Улучшен алгоритм распознавания штрих-кодов DataMatrix. Сейчас стало возможно считать DataMatrix штрих-код имеющий различные ширины ячеек.
Улучшен алгоритм распознавания штрих-кодов QR Code:
Теперь алгоритм умеет распознавать QR штрихкоды с осевой неравномерностью (axial non-uniformity), т.е. непропорциональные штрихкоды.
Добавлен новый параметр ReaderSettings.QRMaxAxialNonuniformity, который позволяет повысить скорость распознавания, если QR штрихкоды не имеют существенных осевых неравномерностей.
Улучшен алгоритм коррекции ошибок 2D штрихкодов.
Исправлена ошибка в алгоритме расчета параметра FixedPatternDamage для теста качества печати штрих-кодов по ISO 15415.
Исправлена ошибка возникающая при десериализации свойства ReaderSettings.ThresholdIterations. Максимальное допустимое значение свойства ReaderSettings.ThresholdIterations увеличено до 75.
Создано новое ASP.NET MVC демо-приложение - AspNetMvcBarcodeDemos, которое показывает как распознавать и генерировать штрихкоды в ASP.NET MVC. Приложение использует сборку Vintasoft.Barcode.Web.ApiControllers и файл Vintasoft.Barcode.js.
Добавлена поддержка распознавания и создания двумерного матричного штрихкода Han Xin Code (Chinese Sensible Code):
7 режимов кодирования:
Текстовый режим (до 4350 текстовых символов)
Байтовый режим (до 3261 байт)
Числовой режим (до 7827 числовых символов)
Простые китайские символы в режиме Region One (до 2174 GB18030 символов)
Простые китайские символы в режиме Region Two (до 2174 GB18030 символов)
GB18030 2-byte Region mode (до 1739 GB18030 символов)
GB18030 4-byte Region mode (до 1044 GB18030 символов)
Обнаружение и коррекция ошибок с помощью алгоритма Reed-Solomon (4 уровня)
ECI Character
Поддержка распознавания с пространственными и нелинейными искажениями, например штрихкодов полученных используя камеру телефона или фотоаппарат.
Создан тест качества печати штрих-кода по ISO 15415 для штрихкода Han Xin Code.
Определены следующие подмножества штрих-кодов:
XFA Compressed Aztec
XFA Compressed QRCode
XFA Compressed DataMatrix
XFA Compressed PDF417
Улучшен алгоритм распознавания QR кодов: добавлена возможность распознавания штрихкодов с пространственными и нелинейными искажениями, например штрихкодов полученных используя камеру телефона или фотоаппарат.
Улучшен алгоритм распознавания Aztec кодов: добавлена возможность распознавания штрихкодов с пространственными и нелинейными искажениями, например штрихкодов полученных используя камеру телефона или фотоаппарат.
Улучшен алгоритм поиска штрихкодов DataMatrix. Теперь возможно распознавание штрих-кодов с поврежденным L паттерном. Новый параметр настроек реадера ReaderSettings.DataMatrixLPatternMaxErasures позволяет указать максимально допустимое количество повреждений в L паттрене DataMatrix.
Добавлена возможность распознавать и генерировать следующие новые типы штрихкодов:
Code 16K
Matrix 2 of 5
IATA 2 of 5 (2/5 IATA, International Air Transport Association 2 of 5)
PPN (IFA PPN-Code)
PZN (PZN7, PZN8, Pharmazentralnummer)
FedEx Ground 96
DHL AWB
VIN (Vehicle Identification Number)
OPC (Optical Product Code)
Deutsсhe Post Leitcode
Deutsche Post Identcode
SSCC-18
VICS BOL (VICS Bill of Lading)
VICS SCAC PRO (SCAC/Pro)
JAN (JAN8, JAN13)
Swiss PostParcel
EAN-Velocity
Numly Number
Добавлена возможность использовать Structured Append функциональность для PDF417 (Macro PDF417) штрих-кодов.
Добавлена возможность использовать Structured Append функциональность для Micro PDF417 штрих-кодов.
Добавлена возможность использовать Structured Append функциональность для Code 16K штрих-кодов.
Улучшено качество распознавания штрихкодов Code 39. Минимизирована вероятность ошибок при распознавании штрих-кодов Code 39 в сильно зашумлённых изображениях.
Ускорено на 25% и улучшено качество распознавания штрих-кодов Code 128. Минимизирована вероятность ошибок при распознавании штрих-кодов Code 128 в сильно зашумлённых изображениях.
Улучшено качество распознавания штрих-кодов RSS 14 Stacked и RSS Expanded Stacked.
Улучшено качество распознавания штрих-кодов Interleaved 2 of 5.
Добавлена возможность получить ширину единичной полосы распознанного 1D штрих-кода.
Добавлена возможность получить размер матрицы и размер единичной ячейки распознанного 2D штрих-кода.
Добавлена возможность кодировать GS1 штрих-коды используя "GS1 Printable Value".
Расширен тест качества печати штрих-кодов ISO 15415. Теперь тест позволяет получить дополнительные параметры определенные в ISO 16022 Annex M. Также тест теперь позволяет получить информацию о свободной зоне (Quiet Zone) вокруг штрих-кода и угол искажения штрих-кода.
Параметр Decode теста качества печати штрих-кодов ISO 15416 теперь учитывает свободную зону (Quiet Zone) вокруг штрих-кода.
Добавлена поддержка чтения и создания MicroPDF417 штрих-кодов:
Реализован алгоритм автоматического подбора размера символа по кодируемым данным (с возможностью указания количества столбцов).
Поддержка флагов Macro05, Macro06, ReaderProgramming, LinkageToCompositeSymbol, LinkageToEANUCC.
Поддержка флагов эмуляции режима Code 128.
Добавлена поддержка чтения и создания Code 32 штрих-кодов.
Добавлен тест проверки качества печати линейных штрих-кодов по стандарту ISO/IEC 15416 для Code 32, MSI, Pharmacode, Telepen, Standard 2 of 5, RSS-14, RSS-14 Stacked, RSS Limited, RSS Expanded, RSS Expanded Stacked.
Некоторые мелкие исправления и дополнения в движках чтения и создания штрих-кодов.
Добавлен тест проверки качества печати линейных штрих-кодов по стандарту ISO/IEC 15416 для EAN-8, EAN-13, UPC-A, UPC-E, Interleaved 2 of 5, Codabar, Code 11, Code 39, Code 93 и Code 128 штрих-кодов.
Добавлена поддержка чтения и создания почтового одномерного Dutch KIX штрих-кода.
Улучшен код и обновлены демо-приложения.
Исправлены мелкие ошибки и добавлены некоторые полезные оптимизации.
Добавлена возможность индикации наличия неизвестного линейного штрих-кода на изображении.
Скорость распознавания QR Code штрих-кодов увеличилась до 35%.
Скорость распознавания DataMatrix и Aztec штрих-кодов увеличилась до 20%.
Скорость распознавания линейных 1D штрих-кодов увеличилась до 10%.
Повышено качество распознавания штрих-кодов PDF417.
Добавлена возможность устанавливать режим кодирования (A, B, C) при генерации Code 128 штрих-кодов.
Добавлена возможность сериализации и десериализации WriterSettings в файл XML.
Добавлена возможность вывода текстового значения 2D штрих-кода на изображение вместе со штрих-кодом при его генерации.
Исправлены некоторые мелкие ошибки в алгоритме распознавания штрих-кодов.
Добавлена возможность использовать кодовую страницу текста для декодирования значения штрих-кода в Barcode Demo.
Создано демо-приложение Barcode Reader Calibration Demo, которое помогает найти оптимальные настройки для чтения штрих-кодов из изображений одного и того же типа.
Добавлена поддержка чтения и создания штрих-кода Aztec:
Символы: Full range, Compact, Rune.
Режимы Text и Byte.
Алгоритм коррекции ошибок Reed-Solomon.
Улучшилась поддержка многопоточности.
Добавлена возможность генерировать штрих-коды в векторной форме.
Добавлена возможность создавать метод проверки штрих-кодов заданный пользователем (ReaderSettings.VerifyBarcodeMethod).
Добавлена возможность создавать изображения штрих-кодов с заданными размерами и разрешением.
Улучшен движок чтения PDF файлов: поддержка распознавания штрих-кодов из ресурсов изображений не зашифрованных PDF файлов версии 1.0-1.7.
Создана и успешно протестирована совместимость между сгенерированным с помощью VintaSoft Barcode .NET SDK PDF417 штрих-кодом и его последующим распознаванием с помощью аппаратных сканеров штрих-кодов.
Увеличена скорость распознавания штрих-кодов QR Code.
Исправлены некоторые ошибки в алгоритме распознавания штрих-кодов.
Добавлена возможность распознавания штрих-кодов из ресурсов изображений PDF документов (PDF версии 1.4).
Добавлена возможность генерации следующих 2D штрих-кодов в соответствии с заданным значением:
Data Matrix, PDF417/PDF417 Compact, QR Code.
Поддерживаются следующие режимы кодирования данных: Text, Byte, Numeric, Kanji (QR Code).
Поддерживается возможность оптимизации закодированного значения штрих-кода для получения минимального размера матрицы.
Добавлена возможность устанавливать размер матрицы автоматически или вручную.
Поддерживаются все ECC200 квадратные (от 10x10 до 144x144) и прямоугольные (от 8x18 до 16x48) символы DataMatrix штрих-кодов.
Добавлена возможность генерации следующих 1D штрих-кодов в соответствии с заданным значением:
Линейные штрих-коды: Code 11, Code 39, Code 93, Code 128 (A,B,C), EAN-13, EAN-8, UPC-A, UPC-E, Interleaved 2 of 5, Standard 2 of 5, Codabar (A,B,C,D), Patch Code, Telepen.
Почтовые штрих-коды: Intelligent Mail, Australian Post, Postnet, Planet, Royal Mail.
Добавлена возможность проверить какие сканирующие линии, которые пересекают штрих-код, имеют важное значение для его распознавания (свойство ReadingQuality).
Оптимизирован и улучшен алгоритм распознавания Code 128 и Interleaved 2 of 5 штрих-кодов.
Исправлены некоторые ошибки в алгоритме распознавания штрих-кодов.
Добавлена возможность декодирования штрих-кода Patch code: 1, 2, 3, 4, 6, Т.
Добавлена возможность чтения так называемых "pea" штрих-кодов. "Pea" штрих-код - это штрих-код черного цвета, который содержит много белых точек на полосах.
Добавлена возможность устанавливать минимальное расстояние между штрих-кодами. Поддержка распознавания штрих-кодов с минимальной дистанцией между ними в 4 пикселя.
Создана документация для SDK в формате Visual Studio .NET 2005.
Исправлены некоторые ошибки в алгоритме распознавания штрих-кодов.