Текстовые метки

Настройка автозаполнения текстовой метки значениями атрибута

Текстовые метки на XPS-документе при его создании можно автоматически заполнять значениями атрибутов. Например, это может быть использовано для наложения регистрационного номера, времени создания документа и т.д. Для этого необходимо произвести настройку типа в Pilot-myAdmin:

  • Откройте вкладку Типы в базе данных Pilot-myAdmin.
  • Выберите тип и нажмите Редактировать в панели инструментов или контекстном меню.
  • В появившемся окне Редактирование типа в поле Дополнительные параметры вставьте описание конфигурации. Например:
<Configuration>
    <TextBlock
        Canvas.Top="20"
        HorizontalAlignment="Center"
        FontFamily="Arial">
            Произвольный текст: {attribute_name}
    </TextBlock>
</Configuration>
  • Отредактируйте текст, в фигурных скобках запишите имя атрибута, значение которого нужно отобразить.
  • В текстовую метку можно выводить значения справочников. Для этого создайте атрибут типа Справочник элементов и укажите имя этого атрибута в {attribute_name} в настройке текстовой метки.

    Несколько текстовых меток в одном документе

    На одном документе можно создать несколько текстовых меток. В этом случае текст будет выглядеть следующим образом:

    <Configuration>
        <TextBlock HorizontalAlignment="Left">
            Произвольный текст 1: {attribute_name_1}
        </TextBlock>
        <TextBlock HorizontalAlignment="Right">
            Произвольный текст 2: {attribute_name_2}
        </TextBlock>
    </Configuration>

    Для того, чтобы метки не накладывались друг на друга используется форматирование текста. В приведённом примере метки разнесены по углам листа с помощью горизонтального выравнивания аттрибутом HorizontalAlignment.

    Несколько атрибутов в одной метке

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

    <Configuration>
        <TextBlock>
            Произвольный текст 1: {attribute_name_1} <LineBreak/>
            Произвольный текст 2: {attribute_name_2}
        </TextBlock>
    </Configuration>

    Тег - <LineBreak/> используется для перевода строки внутри текстовой метки.

    Стилизация и форматирование текста

    Для стилизации и форматирования текста можно задавать следующие параметры:

    Параметр Описание Значение
    Width Ширина текстовой метки Числовое значение.
    TextWrapping Перенос текста при заданной ширине текстовой метки.
    По умолчанию текст обрезается.
    Wrap (по умолчанию); NoWrap.
    FontSize Размер шрифта Числовое значение.
    FontFamily Шрифт текстовой метки Название семейства шрифта.
    Angle Угол поворота текста от 0 до 360°.
    HorizontalAlignment Выравнивание текста по горизонтали относительно страницы Left; Center; Right.
    VerticalAlignment Выравнивание текста по вертикали относительно страницы Top; Center; Bottom.
    Canvas.Top, Canvas.Bottom Cмещение по вертикали от текущего выравнивания Числовое значение со знаком "+" или "—" .
    Canvas.Left, Canvas.Right Смещение по горизонтали от текущего выравнивания Числовое значение со знаком "+" или "—".
    Floating Параметр определяет, будут ли текстовые метки встраиваться в итоговоый документ при наличии запроса на подпись или подписи без запроса. True — при наличии запроса на подпись или подписи без запроса текстовая метка не будет встраиваться (плавающая текстовая метка);
    False — при наличии запроса на подпись или подписи без запроса текстовая метка будет встраиваться (по умолчанию).
    HideIfEmptyValue Параметр скрывает имя незаполненного атрибута в текстовой метке.
    True — в текстовой метке имя незаполненного атрибута скрыто;
    False — в текстовой метке отображается имя атрибута (по умолчанию).
    PageRange Параметр задаёт номер, список номеров или диапазон страниц, на которые будут накладываться текстовые метки. Числовое значение, список или диапазон значений.
    Возможные варианты задания диапазона страниц:
    • 1,2,4 — метки будут наложены на страницы 1,2,4;
    • 1-4 — на страницы с 1-ой по 4-ю;
    • 1-3,6-8 — с 1 по 3-ю, с 6-ой по 8-ю страницы;
    • 1,2,4-5 — на 1-ю, 2-ю и с 4-ой по 5-ю включ.;
    • 3- — с 3-ей страницы по последнюю.
    KeepWithinPageBounds Параметр позволяет управлять ограничением размещения текстовой метки.
    По умолчанию текстовые метки могут выходить за границы документа. Благодаря этому, текстовую метку, для которой задан угол поворота отличный от 0°, можно расположить у края страницы.
    False — текстовая метка может выходить за границы документа (по умолчанию);
    True — текстовая метка не может выходить за границы документа.

    Единицы измерения параметров

    По умолчанию, все значения, относящиеся к расположению и размерам элементов, задаются в пикселях. Кроме того, значения можно задавать в:

    • дюймах — in;
    • сантиметрах — cm;
    • точках — pt.

    Чтобы задать значения в этих единицах измерения, допишите к числовому значению параметра обозначение единицы измерения, например:

    <Configuration>
        <TextBlockCanvas.Top="2.5cm"
            HorizontalAlignment="Center"
            FontFamily="Arial">
                Произвольный текст: {attribute_name}
        </TextBlock>
    </Configuration>

    В качестве десятичного разделителя используйте точку.

    Выравнивание текстовых меток на странице

    Чтобы разместить метку на любом месте страницы, нужно выбрать один из углов страницы и позиционировать метку относительно него. Для этого существуют параметры HorizontalAlignment и VerticalAlignment, позиционирующие метку относительно какого-то угла, и сопутствующие им Canvas.*, которые сдвигают её на заданное расстояние. В зависимости от заданного *Alignment используются различные параметры Canvas.* согласно таблице:

    Параметр расположения Параметр сдвига
    VerticalAlignment="Center" Canvas.Top="5cm"
    VerticalAlignment="Top" Canvas.Top="5cm"
    VerticalAlignment="Bottom" Canvas.Bottom="5cm"
    HorizontalAlignment="Center" Canvas.Left="5cm"
    HorizontalAlignment="Left" Canvas.Left="5cm"
    HorizontalAlignment="Right" Canvas.Right="5cm"

    Чтобы разместить текстовую метку в левом нижнем углу и сдвинуть относительно него на 5 см, используйте следующие параметры выравнивания:

    HorizontalAlignment="Left"
    VerticalAlignment="Bottom"
    Canvas.Left="5cm"
    Canvas.Bottom="5cm"

    Чтобы разместить текстовую метку в правом нижнем углу и сдвинуть относительно него на 5 см, используйте следующие параметры выравнивания:

    HorizontalAlignment="Right"
    VerticalAlignment="Bottom"
    Canvas.Right="5cm"
    Canvas.Bottom="5cm"

    Чтобы разместить текстовую метку в левом верхнем углу и сдвинуть относительно него на 5 см, используйте следующие параметры выравнивания:

    HorizontalAlignment="Left"
    VerticalAlignment="Top"
    Canvas.Left="5cm"
    Canvas.Top="5cm"

    Чтобы разместить текстовую метку в правом верхнем углу и сдвинуть относительно него на 5 см, используйте следующие параметры выравнивания:

    HorizontalAlignment="Right"
    VerticalAlignment="Top"
    Canvas.Right="5cm"
    Canvas.Top="5cm"

    Текстовая метка с временем создания документа

    Чтобы автоматически наложить время создания документа задайте следующую настройку с использованием системного атрибута creation_time:

    <Configuration>
        <TextBlockCanvas.Top="2cm"
            HorizontalAlignment="Center"
            FontFamily="Arial">
                Дата создания: {creation_time}
        </TextBlock>
    </Configuration>

    Чтобы задать системному атрибуту creation_time формат даты и времени, отличный от формата, определённого по умолчанию, добавьте описание к атрибуту, например:

    {creation_time:d/M/yyyy HH:mm}

    Подробнее см. Атрибут Дата и время.