![]() |
|
Кто-то еще использует PDF417? | ☑ | ||
---|---|---|---|---|
0
Chameleon1980
06.05.25
✎
16:52
|
Приветствую всех!
Понадобилось тут формировать PDF417. Ну ок - есть типовая компонента, которая умеет. Но... То, что формируется - ничем не читается. ЧЯДНТ, какие подводные камни я не учел? ШиринаРисунка = ОбластьМакета.Рисунки.QRКодНомерПоДаннымКлиента.Ширина; ВысотаРисунка = ОбластьМакета.Рисунки.QRКодНомерПоДаннымКлиента.Высота; ПараметрыШтрихкода.Ширина = ШиринаРисунка; ПараметрыШтрихкода.Высота = ВысотаРисунка; ПараметрыШтрихкода.ТипКода = 6; // 6 - PDF417 ПараметрыШтрихкода.Штрихкод = ШтрихКод; ПараметрыШтрихкода.ПрозрачныйФон = ПрозрачныйФон; ДанныеQRКода = ""; РезультатОперации = ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода); РезультатОперации.Свойство("ДвоичныеДанные", ДанныеQRКода); Если ТипЗнч(ДанныеQRКода) = Тип("ДвоичныеДанные") Тогда КартинкаQRКода = Новый Картинка(ДанныеQRКода); ОбластьМакета.Рисунки.QRКодНомерПоДаннымКлиента.Картинка = КартинкаQRКода; Иначе ТекстСообщения = Нстр("ru = 'Не удалось сформировать QR-код'"); ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения); КонецЕсли; P.S. вот этот сервис формирует немного другой рисунок, который правильно читается. http://barcode.tec-it.com/barcode.ashx?data=12345678901234567890&code=PDF417&dpi=96 |
|||
1
Fish
гуру
06.05.25
✎
16:57
|
Если при генерации никаких ошибок нет, то может, что-то с масштабом картинки?
Помнится, если пропорции ШК не соблюсти, то он читаться не будет. Думаю, что это касается любого ШК и QR в том числе. |
|||
2
Fish
гуру
06.05.25
✎
16:59
|
(0) А если просто сохранить двоичные данные, как файл картинки вместо вывода в макет, то будет читаться?
|
|||
3
Chameleon1980
06.05.25
✎
17:02
|
(1) вот и я иногда грешу на это, но иногда прям ересь выводится, иногда вообще, как ЕАН13.
(2) нужно попробовать да. |
|||
4
Chameleon1980
06.05.25
✎
17:02
|
(1) я вот за этим и пришел, чтобы кто-то вспомнил, как он крутил параметры.
|
|||
5
Fish
гуру
06.05.25
✎
17:05
|
(4) Ну я с этим типом дела не имел. Только одномерные - ЕАН13, 128 или QR использовали.
|
|||
6
Hmster
06.05.25
✎
17:05
|
что такое у тебя "ГенерацияШтрихкода"
|
|||
7
Fish
гуру
06.05.25
✎
17:07
|
По идее (2) должно отсечь искажения, привнесённые макетом. Если файл будет читаться - значит, надо смотреть параметры рисунка в макете.
Если же нет - надо генерацию ШК копать. Возможно для этого типа ШК какой-то параметр не задан, или наоборот, лишний |
|||
8
Fish
гуру
06.05.25
✎
17:08
|
(6) Общий модуль
|
|||
9
Hmster
06.05.25
✎
17:12
|
(8) я к тому, что в общем модуле может быть зарыт кот в мешке
(0) сам пробовал вызывать компоненту и формировать код? |
|||
10
Fish
гуру
06.05.25
✎
17:15
|
(9) Да это из типовых модуль. Там по идее все должно работать нормально.
|
|||
11
Chameleon1980
06.05.25
✎
17:20
|
(9) нет - напрямую не пробовал. Вроде, все прозрачно.
|
|||
12
Chameleon1980
06.05.25
✎
17:24
|
вот два одинаковых кода
почти похоже, но - нет
|
|||
13
Garykom
гуру
06.05.25
✎
17:48
|
(12) с разной коррекцией ошибок будет разный результат
читаться должны одинаково |
|||
14
Chameleon1980
06.05.25
✎
17:55
|
(13)
1. не очень понял. 2. первый не читается, второй - читается. у меня, к сожалению, нет сканера под рукой, я проверяю сторонними сервисами. |
|||
15
Garykom
гуру
06.05.25
✎
17:57
|
(14) проверять надо сканером
например мой смартфон оба не читает никак, сканера под рукой нет, друг одолжил и пока не вернул wiki:PDF417 PDF417 предусматривает полиномиальное кодирование Рида-Соломона дополнительных данных для восстановления информации. Количество дополнительных КС зависит от уровня коррекции ошибок. |
|||
16
Chameleon1980
06.05.25
✎
17:58
|
(15) благодарю.
|
|||
17
Garykom
гуру
06.05.25
✎
17:58
|
(15)+ Поищи сервис генерации который позволяет уровень коррекции ошибок выставлять
И попробуй сформировать ШК как у компоненты 1С |
|||
18
Fish
гуру
07.05.25
✎
10:03
|
В параметрах компоненты 1С, кстати, есть такой параметр:
// УровеньКоррекции - Число - уровень погрешности изображения, при котором данный QR-код все еще возможно 100% // распознать. // Параметр должен иметь тип целого и принимать одно из 4 допустимых значений: // 0 (7 % погрешности), 1 (15 % погрешности), 2 (25 % погрешности), 3 (35 % погрешности). |
|||
19
MWWRuza
гуру
07.05.25
✎
10:33
|
А что Вы туда передаете? Может с кодировкой что-то связано, если там русский текст, то может сначала преобразовать в юникоды (utf-8) - ?
А хотя, все, увидел скриншот, там строка цифр. Тогда, да, дело не в этом. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |