Шрифты, которые должны использоваться в создаваемом документе, должны быть предварительно объявлены. Для объявления используемых шрифтов используется функция function CreateFont(const FontName: WideString; Size: Double; Bold: WordBool; Italic: WordBool): IPDFFont; где: - const FontName - имя шрифта, аналогичное имени объявляемого шрифта в операционной системе. В Функции объявляется в кавычках.
- Size - размер шрифта в пунктах
- Bold - признак начертания шрифта "жирный". Значения - True или False
- Italic - признак начертания шрифта "курсив". Значения - True или False
Пример | Примеры объявления шрифтов: 1set font = page.createFont("Arial", 20, False, False)
2set labelFont = page.createFont("Times New Roman", 16, False, True)
3set dataFont = page.createFont("Tahoma", 18, True, False)
|
Для вывода текстовой информации на страницу используются процедуры:
- procedure WriteLine(const LineText: WideString; X: Double; Y: Double);
- используется для вывода текстовой строки - function WriteText(const AText: WideString; X: Double; Y: Double; Width: Double; Alignment: TPDFTextAlignment): Double;
- используется для вывода текстового блока.
Параметры для procedure WriteLine : - const LineText - текстовая строка для вывода. Прописывается в кавычках. Будет выведена на страницу одной строкой.
- X - координата верхней левой точки текстовой строки по горизонтали в миллиметрах.
- Y - координата верхней левой точки текстовой строки по вертикали в миллиметрах.
Пример | Примеры вывода текстов на страницу:
01set page = CreatePage(Null)
02page.DrawGrid
03set font = page.createFont("Arial", 20, False, False)
04set labelFont = page.createFont("Times New Roman", 16, False, True)
05set dataFont = page.createFont("Tahoma", 18, True, False)
06Font.WriteLine "Фамилия", 5, 2
07Font.WriteLine "Имя", 5, 10
08Font.WriteLine "Отчество", 5, 18
09labelFont.WriteLine "Дата рождения", 5, 26
10dataFont.WriteLine "Национальность", 5, 34
Результат:
|
Параметры для function WriteText : - const AText - текст для вывода на страницу. Прописывается в кавычках. Будет выведена на страницу в виде текстового блока.
- X - координата верхней левой точки текстового блока по горизонтали в миллиметрах.
- Y - координата верхней левой точки текстового блока по вертикали в миллиметрах.
- Width - ширина текстового блока в миллиметрах
- Alignment - тип выравнивания текста в текстовом блоке.
Значение параметра | Тип выравнивания | 0 | По левому краю | 1 | По правому краю | 2 | По центру | 3 | Выравнивание по ширине |
Пример | Примеры вывода текстовых блоков на страницу:
1set page = CreatePage(Null)
2page.DrawGrid
3set font = page.createFont("Arial", 14, False, False)
4set labelFont = page.createFont("Times New Roman", 12, False, True)
5set dataFont = page.createFont("Tahoma", 11, True, False)
6Q = font.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 5, 100, 0)
7Q = labelFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 35, 100, 1)
8Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 55, 100, 2)
9Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 80, 100, 3)
Результат:
|
Свойства шрифтов: property Spacing: Double; - свойство, отвечающее за величину промежутка между буквами в слове. Задается в виде отклонения от промежутка между буквами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию. Пример | Пример:
01set page = CreatePage(Null)
02page.DrawGrid
03set font = page.createFont("Arial", 14, False, False)
04set labelFont = page.createFont("Arial", 14, False, False)
05set dataFont = page.createFont("Arial", 14, False, False)
06font.Spacing = 0
07labelFont.Spacing = 1
08dataFont.Spacing = 2
09font.WriteLine "Промежуток по умолчанию (0)", 5, 5
10labelFont.WriteLine "Промежуток с отклонением (1 мм)", 5, 10
11dataFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 15
Результат:
|
property WordSpacing: Double; - свойство, отвечающее за величину промежутка между соседними словами. Задается в виде отклонения от промежутка между словами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию. Пример | Пример:
01set page = CreatePage(Null)
02page.DrawGrid
03set font = page.createFont("Arial", 14, False, False)
04set labelFont = page.createFont("Arial", 14, False, False)
05set dataFont = page.createFont("Arial", 14, False, False)
06font.WordSpacing = 0
07labelFont.WordSpacing = 2
08dataFont.WordSpacing = 5
09font.WriteLine "Промежуток по умолчанию (0)", 5, 5
10labelFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 10
11dataFont.WriteLine "Промежуток с отклонением (5 мм)", 5, 15
Результат:
|
property Scaling: Double; - свойство, отвечающее за горизонтальное масштабирование букв используемого шрифта. Устанавливается в процентах. Горизонтальный масштаб по умолчанию - 100%. Пример | Пример:
01set page = CreatePage(Null)
02page.DrawGrid
03set font = page.createFont("Arial", 14, False, False)
04set labelFont = page.createFont("Arial", 14, False, False)
05set dataFont = page.createFont("Arial", 14, False, False)
06font.Scaling = 50
07labelFont.Scaling = 100
08dataFont.Scaling = 200
09font.WriteLine "Сжатие (50)", 5, 5
10labelFont.WriteLine "По умолчанию (100)", 5, 10
11dataFont.WriteLine "Растягивание (150)", 5, 15
Результат:
|
property RenderingMode: TPDFFontRenderingMode; - свойство, отвечающее за заливку букв используемого шрифта. Типы заливки:
Значение параметра: | Отображение: | Описание: | 0 | | Сплошная заливка (по умолчанию). Буква заливается сплошным цветом, объявленным на данный момент. | 1 | | Только граница. Прорисовывается граница буквы. Тело остается незалитым. | 2 | | Сначала заливка, потом граница. Граница прорисовывается всегда черным цветом. Заливка осуществляется сплошным цветом, объявленным на данный момент. | 3 | | Невидимый шрифт. |
Пример | Пример:
01set page = CreatePage(Null)
02set font = page.createFont("Arial", 20, False, False)
03set labelFont = page.createFont("Arial", 20, False, False)
04set dataFont = page.createFont("Arial", 20, False, False)
05font.RenderingMode = 0
06labelFont.RenderingMode = 1
07dataFont.RenderingMode = 2
08page.setColor 255, 0, 0
09Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
10Q = labelFont.WriteText ("Олимпиада", 5, 15, 50, 0)
11Q = dataFont.WriteText ("Олимпиада", 5, 25, 50, 0)
Результат:
|
property Rise: Double; - свойство, отвечающее за перемещение текста по вертикали. Пример | 01set page = CreatePage(Null)
02page.DrawGrid
03set font = page.createFont("Arial", 20, False, False)
04set labelFont = page.createFont("Arial", 7, False, False)
05set dataFont = page.createFont("Arial", 7, False, False)
06labelFont.rise = -17
07dataFont.rise = -2
08Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
09Q = labelFont.WriteText ("Олимпиада", 44, 5, 50, 0)
10Q = dataFont.WriteText ("Олимпиада", 44, 5, 50, 0)
Результат:
|
Для определения размеров текстовой строки используется процедура MeasureLine(const LineText: WideString; out Width: OleVariant; out Height: OleVariant); Здесь: - LineText - исходный текст для размещения на странице
- Width - возвращаемый параметр ширины текстового блока на странице
- Height - возвращаемый параметр высоты текстового блока на странице
Пример | 1S = "шифр"
2font.MeasureLine S, W, H
3Q = font.WriteText(S, 139, 244 + ((23 - H) / 2), 40, 2)
Здесь для текста "Шифр" замеряется ширина и высота получившегося текстового блока. Затем полученные данные используются для корректного размещения текста на странице.
|
Для определения высоты текстового блока используется функция MeasureText(const AText: WideString; Width: Double): Double; safecall; Функция распределит текст по задаваемому значению ширины текстового блока и вернет значение высоты текстового блока в милиметрах. Здесь: - AText - исходный текст для размещения на странице. Прописывается в кавычках.
- Width - задаваемая ширина текстового блока на странице в милиметрах.
Пример | 1S = "Текст для размещения на странице..."
2Q = font.MeasureText(S, 139)
Здесь для текста "Текст для размещения на странице..." замеряется высота получившегося текстового блока. Затем полученные данные могут использоваться для корректного размещения текста на странице. |
|