Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Отредактируйте шаблон в поле Source. Для визуализации шаблона нажмите Render:

Image RemovedImage Added

Для создания шаблонов в Card Template Designer используется Windows GDI + API в синтаксисе XML. Все содержимое шаблона должно находится в секции <cardDesign>. . . </cardDesign>.

Info

Закомментированный текст внутри секций <!- -. . . - -> не учитывается при создании шаблона. Ниже приведены элементы, используемые при создании шаблонов печати.

Отображаемое имя шаблона

Имя шаблона отображается в интерфейсе Indeed CM. Задается в значении параметра displayName в секции <cardDesign>.

Info
iconfalse
titleПример:

<cardDesign displayName="Тестовый шаблон" >
...
</cardDesign>

Перо

Задается в секции <pens> с параметрами:

  • pen id
  • color
  • width
Info
iconfalse
titleПример:

<pens>
<pen id=’id1’ color=’#FF000000’ width=’0.1’ />
</pens>

Описанная строка определяет цвет линии и толщину. В дальнейшем pen id задается как параметр в других секциях. Например, как контур прямоугольника:

<rectangle pen=’id1’ x=’0.9’ y=’0.9’ width=’4’ height=’54.2’ />

Warning

Для задания цвета используйте шестнадцатиричное значение и степень прозрачности. Например, #FFA52A2A, где FF – полная непрозрачность коричневого цвета A52A2A . Таблицы цветов и прозрачности приведены в Приложении 1.

Кисть

Задается в секции <brushes> с параметрами:

  • brush id
  • color
Info
iconfalse
titleПример:

<brushes>
<brush id=’id1’ color=’#FF0000FF’ />
</brushes>

В дальнейшем brush id задается как параметр в других секциях. Например, как цвет прямоугольника:

<rectangle brush=’id1’ x=’0.9’ y=’0.9’ width=’4’ height=’54.2’ />

Шрифт

Задается в секции <fonts> с параметрами:

  • font id
  • familyName
  • size
  • style: regular, bold, italic, underline, strikeout
Info
iconfalse
titleПример:

<fonts>
<font id=’id1’ familyName=’Arial’ size=’3’ style=’regular’ />
<font id=’id2’ familyName=’Arial’ size=’4’ style=’italic’ />
</fonts>

Описанная структура определяет id, название, размер и начертание шрифтов. В дальнейшем font id задается как параметр в других секциях. Например, в секции <text>:

<text font=’id1’ brush=’id2’ x=’10’ y=’15’>$user.Name.elementAt(0)</text>
<text font=’id2’ brush=’id2’ x=’10’ y=’36’>$user.JobTitle</text>

Текст

Задается в составе секции <text> с параметрами:

  • font
  • brush
  • x
  • y
  • widht (опциональный)
  • heigth (опциональный)
  • horizontalAlignment: left, right, center (опциональный)
  • verticalAlignment: top, bottom, center (опциональный)
  • formatFlags (см. подробное описание значений)
    – directionRightToLeft
    – directionVertical
    – displayFormatControl
    – fitBlackBox
    – lineLimit
    – measureTrailingSpaces
    – noClip
    – noFontFallback
    – noWrap

Info
iconfalse
titleПример:

<text font=’id2’ brush=’id2’ x=’10’ y=’36’ width=’35’ height=’9’
formatFlags=’noClip’>$user.JobTitle</text>

Описанная строка определяет шрифт, цвет, положение, размер и формат вывода должности пользователя, подставляемой из Active Directory.

Атрибуты пользователя Active Directory выводимые на печать

Данные пользователя (ФИО, должность, подразделение и т.д.) подставляются в шаблон из атрибутов Active Directory. Ниже приведен синтаксис для подстановки значений наиболее часто используемых атрибутов:

  • $user.Name
  • $user.LogonName
  • $user.PrincipalName
  • $user.FirstName
  • $user.LastName
  • $user.Email
  • $user.TelephoneNumber
  • $user.Country
  • $user.State
  • $user.Locality
  • $user.Organization
  • $user.OrgUnit
  • $user.Street
  • $user.JobTitle

Для печати данных из произвольного атрибута используйте синтаксис: $user.attribute(’имя атрибута Active Directory’)

Info
iconfalse
titleПример:

$user.attribute(’Notes’)

Перенос строк

Для переноса текста по строкам (например, разбивки ФИО пользователя, подставленного из Active Directory на несколько строк) можно использовать параметры replace (замена символа) или elementAt (извлечение элемента из строки).

Info
iconfalse
titleПример 1:

Фамилия, имя и отчество пользователя подставляются из атрибута Active Directory и пишутся в одну строку в шаблоне через пробелы:

<text font=’id1’ brush=’id2’ x=’10’ y=’15’>$user.Name</text>


Info
iconfalse
titleПример 2:

Фамилия, имя и отчество пользователя подставляются из атрибута Active Directory, пробелы заменяются на перевод строки (\r – переход к началу строки, \n – переход на новую строку). В результате в шаблоне ФИО разбивается на три строки:

<text font=’id1’ brush=’id2’ x=’10’ y=’15’>$user.Name.replace(’␣’,␣’\r\n’)</text>

Аналогичным образом может быть перенесено на несколько строк значение должности или подразделения пользователя. Вместо пробела "" может быть любой другой символ.

Для переноса извлеченного из Active Directory значения ФИО по строкам, без замены текста применяется elementAt. ФИО пользователя можно вывести в шаблоне построчно следующим образом:

Info
iconfalse

<text font=’id1’ brush=’id2’ x=’10’ y=’15’>$user.Name.elementAt(0)</text>
<text font=’id1’ brush=’id2’ x=’10’ y=’22’>$user.Name.elementAt(1)</text>
<text font=’id1’ brush=’id2’ x=’10’ y=’29’>$user.Name.elementAt(2)</text>

где:

  • 0 – первое слово (например, Имя)
  • 1 – второе слово (например, Фамилия)
  • 2 – третье слово (например, Отчество)

Изображение

Задается в секции <image> с параметрами:

  • x
  • y
  • widht (опциональный)
  • heigth (опциональный)
  • keepAspectRatio (true или false)
  • data (опциональный)
Info
iconfalse
titleПример:

<image x=’56’ y=’14’ width=’22’ height=’26’
keepAspectRatio=’true’>$user.Photo</image>

Описанная строка определяет положение, размер и следование пропорциям изображения, подставляемого из атрибута Active Directory (переменная $user.Photo). Помимо переменной можно подставить и изображение в кодировке base64 (например, для добавления в шаблон логотипа компании) и затем визуализировать его выполнив следующие действия:

  1. Нажите Load image и перейдите в окно выбора изображения в формате JPEG. Размер изображения подбирается исходя из желаемого дизайна шаблона и размеров смарт-карты. В примере ниже размер изображения 100x100 пикселей.
  2. Кликните правой кнопкой мыши на изображении и нажмите Копировать.
  3. Выберите изображение и нажмите Открыть.
  4. В секции <image> удалите $user.Photo и нажмите Вставить.
  5. Нажмите Render для визуализации.

Image RemovedImage Added

Ниже на рисунке приведен пример шаблона со статическим логотипом компании и подстановкой данных пользователя из Active Directory:

  • Фамилии, имени и отчества с разбивкой по строкам, написанных жирным шрифтом
  • Фотографии
  • Должности, написанной курсивом

Image RemovedImage Added

Далее приведен пример ожидаемого результата печати по шаблону. Для визуализации вместо переменных $user.Name.elementAt, $user.JobTitle и $user.Photo в шаблоне прописаны данные пользователя и загружена его фотография.

Image RemovedImage Added

Прямоугольник

Задается в секции <rectangle> с параметрами:

  • pen (опциональный)
  • brush (опциональный)
  • x
  • y
  • width (опциональный)
  • height (опциональный)

Сторона карты

Сторона карты задается в секциях <frontSide> (передняя) и <backSide> (задняя). Внутри секции располагаются элементы, определяющие то, что должно быть напечатано на стороне (rectangle, text, image и т.д).

Вращение

Содержимое стороны карты может быть развернуто при необходимости. Для разворота в секции стороны карты используйте параметры:

  • rotationAngle
  • rotationOffsetX
  • rotationOffsetY
Info
iconfalse
titleПример:

<frontSide rotationAngle=’180’ rotationOffsetX=’43.8’ rotationOffsetY=’28’>
...
</frontSide>

Ниже на рисунке приведен пример перевернутого на 180 градусов базового шаблона печати с фотографией.