:: Visual Foxpro, Foxpro for DOS
Ещё раз про штрихкод, двумерный, по ГОСТ Р 56042-2014
andrewk
Автор

Сообщений: 174
Откуда: Красноярск
Дата регистрации: 15.05.2005
Есть такой ГОСТ Р 56042-2014 «Двумерные символы штрихового кода для осуществления платежей физических лиц». Он допускает три варианта: QR Code, Aztec Code, Data Matrix.
Есть славная библиотека Zint (https://sourceforge.net/projects/zint). Там exe-шник в 700 кБ умеет кодировать текст в кучу штрих-форматов, сохраняет в png и прочее.
По умолчанию воспринимает текст как UTF-8, есть и переключатели. Всё бы хорошо, но какая-то хрень с кодировками. Даже если подсунуть utf-8, получить картинку, а потом её чем-нибудь декодировать (есть куча программ под Андроид, есть онлайн декодеры, например decodeit.ru), то получается странная чушь (сверху исходник, снизу результат, пробелы добавил чтоб понятней было):
ST00011|Name=ТСЖ Жёлтый домик| BankName=ОАО "БАНК"|Sum=123412|PayerAddress=ул.Энтузиастов д.13 кв.29| LastName=Пупкин|FirstName=ОАОВасилий|MiddleName=АлибабаевичОАО
ST00011|Name=SRG Жёлтый t€}y{|BankName=O@O "A@NK"|Sum=123412|PayerAddress=…|.Энтузиастов t.13 {r.29|LastName=Пупкин|FirstName=ОАОВасилий|MiddleName=АлибабаевичОАО
То есть одни и те же буквы пишутся то нормально, то криво.
Причём, на базе этой библиотеки есть их же онлайн сервис (http://www.barcode-generator.org), и там кодируется нормально.
Есть на старой версии этой же библиотеки ActiveX-контрол (http://ocvita.ru), он кодирует правильно, хотя оригинальный консольный вариант той же версии ещё больше корёжет.

Собственно вопросы:
1) кто-нибудь разбирался с этой библиотекой, удалось добиться результата?
2) есть ли ещё какие-то программы, позволяющие на лету получать файл-картинку со штрихкодом одного из этих трёх видов?
3) или таки ActiveX (помимо упомянутой ocvita)?
Ratings: 0 negative/0 positive
Re: Ещё раз про штрихкод, двумерный, по ГОСТ Р 56042-2014
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Смотря как "подсунуть", очевидно. Там дока большая, надо вдумчиво читать про разные варианты. Похоже воспринимает пробелы да точки как "переключатель" или какой-то разделитель...
Консоль вообще-то сама имеет кодовую страницу (chcp управляет оной, и в винде она была весьма убога при работе с юникодом в разных его вариантах - по крайней мере до 10 версии, может там что получше уже), потому для чистоты эксперимента стоит всё ж не "параметрами командной строки" передавать а через файл.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Ещё раз про штрихкод, двумерный, по ГОСТ Р 56042-2014
andrewk
Автор

Сообщений: 174
Откуда: Красноярск
Дата регистрации: 15.05.2005
Не, конечно, через файл. В командную строку и не влезет.
С файлом экспериментировал. Сначала пробовал в 1251 и указать это переключателем – сразу не покатило, поэтому решил к вернуться к его родному умолчанию. Руками ввёл файл в utf-8. Причём, BOM программа не воспринимает, надо без него. Ну а итог уже показывал в первом сообщении – часть нормально, часть криво.

Igor Korolyov
Похоже воспринимает пробелы да точки как "переключатель" или какой-то разделитель
Ага, похоже. Да надо бы с разрабом списаться, но уже совершенно нет времени на разбор полётов, срочно нужен результат, поэтому здесь и спросил в надежде на уверенный пинок в нужном направлении))

Upd: забыл сказать. Там есть GUI-утилита, прямо в поле копируешь нужный текст и выдаёт картинку. Так она такая же кривая. То есть дело не файле-источнике.



Исправлено 1 раз(а). Последнее : andrewk, 29.05.18 00:49
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 46 (Гостей: 46)

© 2000-2024 Fox Club 
Яндекс.Метрика