Если надо указать точные размеры документа, или получить их по получившемуся контенту.
Если надо использовать фон, скруглённые углы или любую векторную форму в качестве фона с цветом заливки или контура.
Если надо получить документ, кратный какому-то значению.
Если надо сгенерировать имя документа, исходя из данных макета.
Если надо использовать цвет заливки или цвет контура и толщину контура.
Если надо рисовать и выравнивать объекты на некотором расстоянии друг от друга.
Если надо выровнять объект относительно другого объекта или группы объектов. В шаблоне применяется к объекту.
anchor: { x: {string|string[]}, y: {string|string[]}, point: {JPAnchorPoint}, align: {JPAnchorPoint}, }
x
— привязка по горизонтали
y
— привязка по вертикали
point
— точка привязки «родителя»
align
— точка выравнивания объекта
По умолчанию все объекты выравниваются по документу.
Координаты объекта указывают на верхний левый угол объекта относительно нижней левой точки «родителя».
anchor: { x: 'square', y: 'square', point: JPAnchorPoint.rightTop, align: JPAnchorPoint.leftTop, }, position: new JPPosition(20, 0),
anchor: { x: 'square', y: 'square', point: JPAnchorPoint.rightBottom, align: JPAnchorPoint.centerTop, }, position: new JPPosition(20, 8),
JPAnchorPoint = { document: '_document', // выравнивание по документу, значение по умолчанию stack: '_stack', // выравнивание внутри стека элементов center: 'center', leftCenter: 'leftCenter', leftTop: 'leftTop', leftBottom: 'leftBottom', rightCenter: 'rightCenter', rightTop: 'rightTop', rightBottom: 'rightBottom', centerTop: 'centerTop', centerBottom: 'centerBottom', }
Если надо разместить объект по центру ширины или высоты документа.
Если надо разместить объект по центру группы других объектов.
Если надо рисовать объекты со смещением относительно точки выравнивания.
Если надо выровнять группы объектов по вертикали между собой, а также сами объекты внутри групп.
Если надо указать шрифт, начертание, стиль, размер шрифта.
Если надо указать шрифт, начертание, стиль и размер шрифта отдельных частей одного текстового блока.
Если надо использовать нестандартный кернинг или межстрочное расстояние.
Если надо использовать цветной фон текста или контур с настраиваемыми полями, используя прямоугольник или прямоугольник с закруглёнными углами.
Если надо текст вписать в ширину, используя перенос по словам, а если текст совсем не умещается — по слогам.
Если надо текст вписать в ширину, не перенося его на новые строки, а за счет уменьшения размера шрифта.
Если надо выравнивать текст по базовой линии, по высоте кегельной площадке, по x-height или caps-height шрифта.
Если надо конвертировать текст в кривые, чтобы при открытии файла не требовался шрифт.
Если надо указать ширину и высоту элемента, или только ширину или высоту, используя пропорции.
Если надо подогнать ширину или высоту формы по размеру документа, не искажая пропорции.
Если надо указать цвет формы в шаблоне или даже несколько цветов, в которые раскрашивается форма.
Если надо указать цвет формы в шаблоне или даже несколько цветов, в которые раскрашивается форма.
Если надо рисовать формы внутри других форм с отдельной настройкой стиля вложенной формы.
Если текст умещается в ширину и в результате получается несколько строк (параграфов), то иногда необходимо сместить другие объекты (помимо тех, которые привязаны к нижней части текста). В шаблоне применяется к документу.
positionMovingByParagraphsCount: [ { count: { {string: ключ текста}: {number: число строк}, ..., }, move: { {string: ключ объекта смещения}: { x: {number}, y: {number}, }, ..., }, }, ..., ],
Представляет собой массив объектов, содержащих 2 ключа:
count
— количество строк в результирующем тексте,
move
— смещения объектов.
Смещение сработает, если число строк в указанных текстовых блоках равно указанным числам.
Сработают смещения всех объектов, указанных в объекте move
.
Если нужно сместить все объекты, то используется ключ _allCalculated
.
positionMovingByParagraphsCount: [ { count: { name: 1, nameEng: 2, }, move: { name: { y: -7.697, }, symbol: { isRequired: false, y: -7.697, }, }, }, { count: { name: 2, nameEng: 2, }, move: { _allCalculated: { exceptOf: ['arrowRight', 'arrowLeft'], y: -38.346, }, }, }, ],
В этом примере смещается позиция текста name и формы symbol. Для смещения создано 2 проверки:
1. Если у текста name 1 строка и у текста nameEng 2 строки, то объекты name и symbol смещаются по y
на -7.697.
2. Если у текстов name и nameEng 2 строки, то объекты name и symbol смещаются по y
на -38.346.
_allCalculated
— надо сместить все объекты.
exceptOf
— надо сместить все обсчитанные объекты кроме arrowRight и arrowLeft.
isRequired: false
— этот объект не обязательно может смещаться. Если же обязательных объектов не будет найдено, система выдаст ошибку.
afterCalculate
Если надо проверить или изменить объекты после обсчёта документа, но до создания документа и генерации его.
beforeDraw
Если надо проверить или изменить объекты после обсчёта документа, после создания документа, но перед его генерацией.