или
- Сайт системы Честный знак позволяет печатать коды в pdf, eps и сохранять текстом в csv.
- Но в текстовом виде сайт отдает только часть кода, без "криптохвоста".
- Если такой код распечатать самостоятельнот, то при сканировании, приложение всегда выдает "Сомнительный товар"
- Если мы хотим печатать коды самостоятельно в bartender, нам надо получить полный код с криптохвостом.
- Выгрузить коды в eps из честного знака
- Перевести все коды в bmp
- Распознать код полностью и записать в текстовый файл
- разместить в макете Bartender как Datamatrix
Делал все в Ubuntu под windows (WSL). Напрямую под windows не удалось, т.к. нет готовой собранной программы dmtxread. Существует библиотека, но завести ее под C# мне не удалось.
Устаналиваем пакет dmtx-utils для распознавания датаматрикса в текст:
sudo apt update
sudo apt install dmtx-utilsЧистим каталог от старых файлов
rm out.txt; rm *.bmp;Кладем с наш каталог все eps коды, скачанные с Честного знака. Я тестировал на 13000 файлов.
Переводим все eps файлы в bmp с помощью ghostscript
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=bmpmono -r300 -dEPSCrop -sOutputFile=out%d.bmp *.eps;Распознаем каждый файл и пишем код в текстовый файл:
for filename in *.bmp; do
dmtxread -n $filename >> out.txt;
doneОпционально: убрать дубликаты из текстового файла
awk -i inplace '!seen[$0]++' out.txtДобавляем datamatrix в bartender. Указываем источником данных наш файл. Разделителем ставим tab (важно).