Создание XSLT/FO шаблона со штрихкодами

Материал из BiTel WiKi

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: При необходимости создания шаблонов, включающих в себя штрих-код, можно воспользоваться уже готовыми...)
(Самый правильный путь)
 
(7 промежуточных версий не показаны.)
Строка 3: Строка 3:
== Пример ==
== Пример ==
Пример шаблона с использованием штрихкода 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, '&lt;SOH&gt;')"/></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.

Ещё

Живой пример

баркод: вариант на шаблоне 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, '&lt;SOH&gt;')"/></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
Личные инструменты