Создание XSLT/FO шаблона со штрихкодами
Материал из BiTel WiKi
Версия от 12:27, 19 марта 2015; DimOn (Обсуждение | вклад)
При необходимости создания шаблонов, включающих в себя штрих-код, можно воспользоваться уже готовыми для импорта шаблонами, которые можно взять, например, отсюда. Там же можно в режиме онлайн протестировать эти шаблоны.
Содержание |
Пример
Пример шаблона с использованием штрихкода 2of5 interleaved - Медиа:barcode-example.zip. Размещаются в BGBillingServer/webroot/xsl.
Ещё
- Квитанция телефонии физ. лицам
- http://forum.bitel.ru/viewtopic.php?f=14&t=1753
- http://forum.bitel.ru/viewtopic.php?f=14&t=3240
- http://forum.bitel.ru/viewtopic.php?f=14&t=5578
Живой пример
баркод: вариант на шаблоне code128.xsl
<!-- нужны файлы code128.xsl+code128-svg.xsl от RenderX --> <xsl:import href="code128.xsl"/> <xsl:variable name="contractnumber" select="@contract"/> <xsl:variable name="barcode_value" select="concat('SOF', $contractnumber)"/> <fo:instream-foreign-object content-width="100%" content-height="100%"> <xsl:call-template name="barcode-code128"> <xsl:with-param name="value" select="$barcode_value"/> <xsl:with-param name="subset" select="'B'"/> <xsl:with-param name="string" select="$contractnumber"/> <xsl:with-param name="quiet-vertical">0.02cm</xsl:with-param> <xsl:with-param name="module">0.01in</xsl:with-param> </xsl:call-template> </fo:instream-foreign-object>
--dimOn 11:06, 19 марта 2015 (UTC)
баркод: вариант на встроенном хендлере
<xsl:variable name="contractnumber" select="@contract"/> <fo:external-graphic width="6.5cm" height="1.1cm"> <xsl:attribute name="src"><xsl:value-of select="concat('barcode:///128a|SOF', $contractnumber, '<SOH>')"/></xsl:attribute> </fo:external-graphic>
--dimOn 11:06, 19 марта 2015 (UTC)
Самый правильный путь
В биллинг встроен генератор штрих-кодов, который работает как возврат картинки по запросу с url-ом "barcode:" . Краткий пример приложен выше. Поддерживаются разные типа ШК: Code 128, EAN-13, EAN-8, PDF417, QR-code, 2of5i/ITF.
Пример квитанции со всеми типами ШК:
Тема на форуме для обсуждения и сообщения об ошибках: