Создание XSLT/FO шаблона со штрихкодами
Материал из BiTel WiKi
Pechenie (Обсуждение | вклад) (→Пример) |
DimOn (Обсуждение | вклад) (→Самый правильный путь) |
||
(6 промежуточных версий не показаны.) | |||
Строка 4: | Строка 4: | ||
Пример шаблона с использованием штрихкода 2of5 interleaved - [[Медиа:barcode-example.zip]]. | Пример шаблона с использованием штрихкода 2of5 interleaved - [[Медиа:barcode-example.zip]]. | ||
Размещаются в '''BGBillingServer/webroot/xsl'''. | Размещаются в '''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 === | ||
+ | <source lang="xml"> | ||
+ | <!-- нужны файлы 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> | ||
+ | </source> | ||
+ | --[[Участник:DimOn|dimOn]] 11:06, 19 марта 2015 (UTC) | ||
+ | === баркод: вариант на встроенном хендлере === | ||
+ | <source lang="xml"> | ||
+ | <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> | ||
+ | </source> | ||
+ | --[[Участник:DimOn|dimOn]] 11:06, 19 марта 2015 (UTC) | ||
+ | |||
+ | == Самый правильный путь == | ||
+ | В биллинг встроен генератор штрих-кодов, который работает как возврат картинки по запросу с url-ом "barcode:" . Краткий пример приложен выше. Поддерживаются разные типа ШК: Code 128, EAN-13, EAN-8, PDF417, QR-code, 2of5i/ITF. | ||
+ | |||
+ | Пример квитанции со всеми типами ШК: | ||
+ | [[Файл:bill_pdf_barcode_example.xsl]] | ||
+ | |||
+ | Тема на форуме для обсуждения и сообщения об ошибках: | ||
+ | * forum.bitel.ru/viewtopic.php?f=1&t=10296 |
Текущая версия на 12:34, 19 марта 2015
При необходимости создания шаблонов, включающих в себя штрих-код, можно воспользоваться уже готовыми для импорта шаблонами, которые можно взять, например, отсюда. Там же можно в режиме онлайн протестировать эти шаблоны.
Содержание |
Пример
Пример шаблона с использованием штрихкода 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.
Пример квитанции со всеми типами ШК: Файл:Bill pdf barcode example.xsl
Тема на форуме для обсуждения и сообщения об ошибках:
- forum.bitel.ru/viewtopic.php?f=1&t=10296