forum.bitel.ru
http://forum.bitel.ru/

штрих-коды
http://forum.bitel.ru/viewtopic.php?f=1&t=10296
Страница 1 из 3

Автор:  dimOn [ 18 мар 2015, 15:51 ]
Заголовок сообщения:  штрих-коды

Прикручена упрощённая генерация штрих-кодов (для карточек, например), чтобы весело всё можно было это сделать и без костылей.
Пока работают штрих-коды: Code 128, EAN-13, EAN-8, PDF417, QR-code. Может ещё какие пожелания имеются на этот счёт, пока рефакторится всё? :umnik:

Автор:  vkulakov [ 18 мар 2015, 16:41 ]
Заголовок сообщения:  Re: штрих-коды

А в какой версии будет реализовано? Счёта модуля bill можно будет генерировать со штрих-кодом?

Автор:  dimOn [ 19 мар 2015, 00:24 ]
Заголовок сообщения:  Re: штрих-коды

с 6.2. ну счета конечно можно будет, в основном для них и делается.

Автор:  skyb [ 19 мар 2015, 08:53 ]
Заголовок сообщения:  Re: штрих-коды

а как сие работает?

Автор:  dimOn [ 19 мар 2015, 11:44 ]
Заголовок сообщения:  Re: штрих-коды

Также как один из предыдущих уже существующих способов - картинкой по url-у barcode:///... (от FO отвязано, чтобы можно было во всякие jasper итд сувать, правда не проверял), только сейчас чуть более предсказуемо и ещё размер итоговой картинки в урле можно задать.

Автор:  vkulakov [ 19 мар 2015, 12:24 ]
Заголовок сообщения:  Re: штрих-коды

А ещё какие параметры штрих-кода кроме размера можно будет указывать? А какая библиотека будет использоваться? А можно ли будет при необходимости использовать библиотеку напрямую как, например, в случае Barcode4j и XML-FO.

Автор:  dimOn [ 19 мар 2015, 13:14 ]
Заголовок сообщения:  Re: штрих-коды

А какие там ещё параметры бывают? ну там содержимое соответствующее по содержанию и длине (в зависимости от типа ШК) только и всё. (теоретически можно, например, задавать mime-тип результата и цвета, например. но зачем?)
Сейчас пока на zxing (и скорее всего на ней и останется), я все либы которые нашёл перепробовал. Barcode4j будет конечно работать, если руками впилить её, там и биндинги для FOP есть. На ней останавливаться не хотелось, хотелось всё же через url сделать для бОльшей универсальности. А при этом zxing самой активно развивающейся кажется.
Текущую barbecue выпилить придётся, очень уж она устарелая и ничего нового там нет и не будет, походу. А про QR-code очень часты вопросы.

Автор:  vkulakov [ 19 мар 2015, 13:38 ]
Заголовок сообщения:  Re: штрих-коды

Про параметры сам точно не скажу. Для QR-кода знаю, что есть уровень ошибок, отступы и т. п. Мне кажется. что в некоторых приложениях это может быть важно, но сам пока с этим не сталкивался. Просто интересно, как быть в нестандартной ситуации.

Barcode4j для генерации QR-кода сам использует zxing, поэтому мне пришлось его тоже добавлять в биллинг когда потребовался QR-код в квитанции. Надо будет попробовать перейти на zxing раз такое дело началось...

Нативно использовать zxing, полагаю, тоже можно будет?

Автор:  dimOn [ 19 мар 2015, 13:55 ]
Заголовок сообщения:  Re: штрих-коды

Отступы, уровень ошибок итд задаётся для каждого ШК намертво исходя из предпочтительных/разумных требований для нашей задачи "вставить баркод в печатную форму". Если потребуется кому что-то совсем другое -- там можно уже поразбираться.
Цитата:
Нативно использовать zxing, полагаю, тоже можно будет?
Нативно его как-то сложновато использовать, оно достаточно низкоуровневая библиотека. Она даже чексуммы не считает для EAN, например, в отличие от barbecue. Или что значит нативно?

Автор:  vkulakov [ 19 мар 2015, 14:05 ]
Заголовок сообщения:  Re: штрих-коды

Нативно - это как Barcode4j: кинул либы в папку биллинга и уже можно в XSL код вставлять и всё заработает.

Не нативно - это когда нужно будет ещё и свой код написать, класс создать, чтобы всё заработало.

Автор:  dimOn [ 19 мар 2015, 14:21 ]
Заголовок сообщения:  Re: штрих-коды

Нет, так нельзя как раз. Для этого обёрток над ней есть несколько, частично Barcode4j в том числе.
Просто регулярно просят прикрутить всякие ШК и хотелось, чтобы сразу работало и попроще, чем текущие способы: xsl-шаблоны и всякая другая ручная работа.

Автор:  vkulakov [ 19 мар 2015, 14:36 ]
Заголовок сообщения:  Re: штрих-коды

В общем, понятно. Будем пробовать, только будет это очень нескоро :(.

Автор:  dimOn [ 19 мар 2015, 18:00 ]
Заголовок сообщения:  Re: штрих-коды

не просто скоро, а уже есть. правда, в 6.2 :umnik:

Вложения:
screenshot-20150319-165832.png
screenshot-20150319-165832.png [ 55.24 КБ | Просмотров: 38141 ]

Автор:  nikav80 [ 27 апр 2016, 14:32 ]
Заголовок сообщения:  Re: штрих-коды

Добавьте пожалуйста возможность выбора кодировки во всех типах barcode.(windows-1251, UTF-8)
Сейчас по умолчанию ISO-8859-1.

Автор:  dimOn [ 27 апр 2016, 18:41 ]
Заголовок сообщения:  Re: штрих-коды

Цитата:
кодировки во всех типах barcode.(windows-1251, UTF-8)

а это вообще законно?

что подразумевается под выбором кодировки?
в code128 pdf417 совершенно точно только ASCII кодируется.
ean8 ean13 только цифры кодирует. ean128 теоретически может наверно, но распространённый подвид словаря для него это как раз по сути code128 и все три разновидности 128A 128B 128C не позволяют кодировать что-то кроме ASCII.
дайте какую-либо информацию о любом из типов barcode, из тех которые поддерживаются хотя бы

Автор:  nikav80 [ 27 апр 2016, 19:00 ]
Заголовок сообщения:  Re: штрих-коды

Сбербанк QR-code.
На sbqr.ru, проверка кода, вместо русских букв -> ????????
Сбербанк поддерживает только:
1 – WIN1251 ;
2 – UTF8 ;
3 – КОI8-R .

Автор:  dimOn [ 27 апр 2016, 21:11 ]
Заголовок сообщения:  Re: штрих-коды

а, ну QR да, там можно

ну выбор там не нужен, надо просто починить чтобы всегда в utf8 было вместо latin1, ну какой 1251 то уж)

Автор:  nikav80 [ 28 апр 2016, 11:58 ]
Заголовок сообщения:  Re: штрих-коды

цитата из рекомендаций sbrf:
Цитата:
Для кодирования знаков кириллического алфавита рекомендуется использовать 8-битовые кодированные наборы (“1”-WIN1251, “3”-KOI8-R), как наиболее экономные (1 байт = 1 знак).

Автор:  vkulakov [ 28 апр 2016, 13:01 ]
Заголовок сообщения:  Re: штрих-коды

В чём проблема то? У нас QR-коды сбербанка уже больше года используются и там есть русские буквы. Никаких проблем нет, в том числе и с кодировками. Версия 6.0.

Автор:  dimOn [ 28 апр 2016, 13:10 ]
Заголовок сообщения:  Re: штрих-коды

vkulakov писал(а):
В чём проблема то? У нас QR-коды сбербанка уже больше года используются и там есть русские буквы. Никаких проблем нет, в том числе и с кодировками. Версия 6.0.

а как вы их генерите?

Автор:  nikav80 [ 28 апр 2016, 13:13 ]
Заголовок сообщения:  Re: штрих-коды

Поддерживаю вопрос.

Автор:  dimOn [ 28 апр 2016, 13:22 ]
Заголовок сообщения:  Re: штрих-коды

Потому что там в явном виде действительно не задаётся чарактер сет, хотя некоторыми енкодерами такой параметр опционально предусмотрен. Для PDF417 и QR задание кодировки будет явное.

Автор:  dimOn [ 28 апр 2016, 13:46 ]
Заголовок сообщения:  Re: штрих-коды

nikav80, версия у вас какая

Автор:  vkulakov [ 28 апр 2016, 13:48 ]
Заголовок сообщения:  Re: штрих-коды

Наконец-то нашёл XSL'ку...

Код:
<xsl:variable name="qrName">Общество с ограниченной ответственностью "Весёлые ребятишки"</xsl:variable>
<xsl:variable name="qrBankName">ЦЧБ ОАО "Сбербанк России"</xsl:variable>
<xsl:variable name="qrPersonalAcc"     select="'40701234013000009876'"/>
<xsl:variable name="qrBIC"             select="'042007681'"/>
<xsl:variable name="qrCorrespAcc"      select="'30101654300000009876'"/>
<xsl:variable name="qrSum"             select="translate(format-number(bill/@summ, '.00'), '.', '')"/>
<xsl:variable name="qrPurpose"         select="'Оплата по договору'"/>
<xsl:variable name="qrPayeeINN"        select="'3665051234'"/>
<xsl:variable name="qrKPP"             select="'366401234'"/>
<xsl:variable name="qrPersonalAccount" select="normalize-space(bill/@contractTitle)"/>
...
<fo:instream-foreign-object>
    <barcode:barcode
        xmlns:barcode="http://barcode4j.krysalis.org/ns"
        message="ST00012|Name={$qrName}|PersonalAcc={$qrPersonalAcc}|BankName={$qrBankName}|BIC={$qrBIC}|CorrespAcc={$qrCorrespAcc}|Sum={$qrSum}|Purpose={$qrPurpose}|PayeeINN={$qrPayeeINN}|KPP={$qrKPP}|PersonalAccount={$qrPersonalAccount}|">

        <barcode:qr>
            <barcode:module-width>0.5mm</barcode:module-width>
            <barcode:encoding>UTF-8</barcode:encoding>
        </barcode:qr>
    </barcode:barcode>
</fo:instream-foreign-object>


И ещё дополнительно кинул в либы файлы:
Код:
barcode4j-fop-ext.jar
barcode4j.jar
zxing-core.jar

Автор:  dimOn [ 28 апр 2016, 13:58 ]
Заголовок сообщения:  Re: штрих-коды

ну так у вас не встроенными средствами делается, получается.
для 6.2 обнова выложена, прошу проверить и отписаться

Автор:  vkulakov [ 28 апр 2016, 14:04 ]
Заголовок сообщения:  Re: штрих-коды

dimOn писал(а):
ну так у вас не встроенными средствами делается, получается.

Выше как раз об этом речь и идёт. Не вижу проблемы кинуть пару jar'ников в либы.

Автор:  dimOn [ 28 апр 2016, 15:02 ]
Заголовок сообщения:  Re: штрих-коды

да нет проблем, просто хочется решение искаропки)

Автор:  nikav80 [ 28 апр 2016, 18:17 ]
Заголовок сообщения:  Re: штрих-коды

dimOn писал(а):
nikav80, версия у вас какая
6.2

Автор:  nikav80 [ 28 апр 2016, 18:19 ]
Заголовок сообщения:  Re: штрих-коды

dimOn писал(а):
ну так у вас не встроенными средствами делается, получается.
для 6.2 обнова выложена, прошу проверить и отписаться

Проверяю

Автор:  nikav80 [ 28 апр 2016, 20:38 ]
Заголовок сообщения:  Re: штрих-коды

QR-code во вкладке "Просмотр документов" и при выводе на печать - один, а при сохранении в pdf - другой!
Тот что в просмотре и на печать правильный, а вот тот что на сохранение - также '?????'
Вложение:
Комментарий к файлу: Просмотр документов и на печать
pscreen.png
pscreen.png [ 38.15 КБ | Просмотров: 37853 ]

Вложение:
Комментарий к файлу: Сохранение в pdf
pscreenpdf.png
pscreenpdf.png [ 30.6 КБ | Просмотров: 37853 ]

Страница 1 из 3 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/