Основано на обработке //infostart.ru/public/877003/
Работает с помощью проекта ZXING и PDFbox. Требует установленной Java.
Перед работой нужно поместить файлы с расширением jar в каталог "C:\zxing"
Обработка написана под управляемые формы (любая современная типовая конфигурация 1с или запустить старую в режиме управляемых форм).
Сначала нужно выбрать каталог в котором находятся файлы pdf с этикетками, которые сгенерированы ЦРПТ. Кнопка "Выбрать каталог".
Далее по кнопке обработка конвертирует pdf из каталога в jpg. Кнопка "Разобрать PDF". Пример выполняемого кода: cmd /c java -jar C:/zxing/pdfbox-app-2.0.21.jar PDFToImage -dpi 200 order.pdf
После окончания выполнения команды в каталоге появятся jpg файлы с отдельными страницами из PDF.
Следующий шаг - распознавание кодов с jpg. Кнопка "Распознать файлы JPG". Пример выполнения кода: cmd /c java -cp C:/zxing/javase-3.4.1.jar;C:/zxing/core-3.4.1.jar;C:/zxing/jcommander-1.78.jar com.google.zxing.client.j2se.CommandLineRunner --dump_results --possible_formats DATA_MATRIX --try_harder --crop 280 0 280 477 file:///C:/zxing/test/order1.jpg
Количество строк и колонок этикеток на странице устанавливается вручную. Ширина и высота этикетки тоже.
Количество строк, колонок, ширина и высота вычислены эмпирически для этикеток по группе Молоко при разрешении картинок jpg 200dpi. Ширина и высота вычисляют по верхней границе 2ой этикетки во 2ой колонке в графическом редакторое. Например, в Paint.
После окончания работы конечный файл сохранится в каталог под именем DMs.txt.
Обработка сообщит о результатах работы. Пустые этикетки будут выдавать ошибку. Если какой-то DM не распознается, то нужно увеличить dpi для конвертации pdf. Но это приведет к изменению размеров этикеток в пикселях.
При включении галочки Отладка будут выдаваться сообщения о вызываемых командах для проблемных DM.
Так же может работать с одиночными DM через кнопку Выбрать файл картинки и Распознать.
Обработка тестировалась на пустой конфигурации и в ERP 2.4. Платформа 8.3.16, 8.3.13
Если не хотите на 1с, то попробуйте другими способами. Основа - это две команды.
cmd /c java -jar C:/zxing/pdfbox-app-2.0.21.jar PDFToImage -dpi 200 order.pdf
cmd /c java -cp C:/zxing/javase-3.4.1.jar;C:/zxing/core-3.4.1.jar;C:/zxing/jcommander-1.78.jar com.google.zxing.client.j2se.CommandLineRunner --dump_results --possible_formats DATA_MATRIX --try_harder --crop 280 0 280 477 file:///C:/zxing/test/order1.jpg
UPD 10.11.2020.
Исправлена ошибка для pdf с полями.
UPD 06.11.2020.
В обработку добавлены настройки размеров этикеток и положения Datamatrix, для случаев, когда Datamatrix располагается не по центру этикетки.
Добавлена предустановка для простой этикетки категории Обувь.
Для того, чтобы подобрать собственные размеры этикеток нужно выполнить следующую инструкцию.
Для того, чтобы получить свои размеры нужно сначала разобрать PDF. В выбранном каталоге появятся jpg файлы с этикетками. Нужно открыть один файл в графическом редакторе. Например, Paint.
При наведении на любую точку в редакторе в одном из углов будут её координаты в пикселях. Для случая, когда у страницы есть поля, нужно запомнить координаты верхнего левого угла первой этикетки. Иначе обе координаты будут 0. Далее нужно запомнить правый нижний угол, включая пробелы между этикетками.
Далее нужно запомнить координаты верхнего левого угла и правого нижнего угла Datamatrix. Координаты нужно брать с небольшим запасом, чтобы вокруг DM были белые поля.