Мельница данных- Методы (раздел целиком) (13.12.2024) | (одним файлом) |
Методы |
1. Свойства документа | ||||||||||
Для создания и описания свойств PDF-документа в библиотеке PDFCreator.dll используется класс IPDFDocument, обладающий следующими свойствами:
|
2. Свойства страницы | ||||||||
Для создания страницы используется функция function CreatePage(Parent: OleVariant): IPDFPage; Параметр Parent указывает страницу-родителя для данной страницы. Если страницы- родителя быть не должно - формат вызова функции примет вид: set page = CreatePage(Null)Параметры страницы:
|
2.1. Объявление цвета | |||||||||||||||||||||||||||||||||||||||
Для объявления цвета объектов на странице используется цветовая модель R:G:B (Red:Green:Blue). Объявление цвета для выполнения последующих операций (цвет шрифта, цвет линии/фигуры) осуществляется процедурой procedure SetColor(R: Integer; G: Integer; B: Integer);Где параметры R, G, B - значения базисных цветов для выбранного цвета (от 0 до 255).
|
3. Графика |
3.1. Линии | ||||||||||||||||||||||||||||||||
Для отрисовки линий используется процедура procedure Line(X1: Double; Y1: Double; X2: Double; Y2: Double);Здесь:
Для задания толщины линии используется свойство property LineWidth: DoubleЗначение толщины задается в миллиметрах. Значение по умолчанию - минимально возможная единица рисования для устройства. Так для монитора - 1 pixel, для принтера - 1 dot (точка) Для задания стиля отрисовки начала/окончания линии используется свойство property LineCap: TPDFLineCap
Объявление цвета линии.
При необходимости соединения линий под углом в определенной точке можно задать тип соединения. Для объявления типа соединения используется свойство property LineJoin: TPDFLineJoin;
Пунктир Для создания пунктира используется процедура отображения линии с предварительно объявленными дополнительными значениями. Процедура procedure SetDash(DashArray: OleVariant; Phase: Integer); Здесь DashArray - массив значений в миллиметрах, указывающий последовательность чередования штрихов и пропусков на линии, Phase - смещение в миллиметрах по линии.
Ломанная линия - здесь непрерывная линия, состоящая из нескольких прямых. Для отображения ломанной используется процедура procedure Poly(Points: OleVariant; Fill: WordBool), где Points - массив координат точек соединяемых прямыми, а Fill - признак заливки полученной замкнутой фигуры (если замкнута).
|
3.2. Прямоугольник | ||||||||||||||||
Rectangle (Прямоугольник) - для создания используется процедура: procedure Rectangle(X1: Double; Y1: Double; Width: Double; Height: Double; Fill: WordBool);Здесь:
Также существует возможность изменения стиля отображения углов прямоугольника. Для этого нужно использовать свойство property LineJoin: TPDFLineJoin;
Пример построения прямоугольников с различными типами соединения сторон:
|
3.3. Вставка готовых изображений | ||
Для вставки на создаваемую страницу готового изображения используется процедура procedure Image(const FileName: WideString; X: Double; Y: Double; Width: Double; Height: Double) Параметры:
Вне зависимости от размера исходного изображения, при вставке изображения на создаваемую страницу оно будет растянуто по размерам, прописанным в процедуре. |
3.4. Векторная графика |
Язык PostScript, с помощью которого создаются векторные изображения для PDF-документа, поддерживает создание типичных примитивных объектов, таких как:
При создании векторного изображения на странице PDF-документа в приложениях Платформы, команды построения примитивных объектов PostScript передаются на исполнение при помощи процедуры Perform. Подробнее об операторах и командах PostScript для создания PDF-документов можно узнать на сайте Adobe |
4. Шрифты | |||||||||||||||||||||||||||||||||||||||||||||
Шрифты, которые должны использоваться в создаваемом документе, должны быть предварительно объявлены. Для объявления используемых шрифтов используется функция
Для вывода текстовой информации на страницу используются процедуры:
Параметры для procedure WriteLine :
Параметры для function WriteText :
Свойства шрифтов: property Spacing: Double; - свойство, отвечающее за величину промежутка между буквами в слове. Задается в виде отклонения от промежутка между буквами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.
property WordSpacing: Double; - свойство, отвечающее за величину промежутка между соседними словами. Задается в виде отклонения от промежутка между словами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.
property Scaling: Double; - свойство, отвечающее за горизонтальное масштабирование букв используемого шрифта. Устанавливается в процентах. Горизонтальный масштаб по умолчанию - 100%.
property RenderingMode: TPDFFontRenderingMode; - свойство, отвечающее за заливку букв используемого шрифта.
property Rise: Double; - свойство, отвечающее за перемещение текста по вертикали.
Для определения размеров текстовой строки используется процедура MeasureLine(const LineText: WideString; out Width: OleVariant; out Height: OleVariant); Здесь:
Для определения высоты текстового блока используется функция MeasureText(const AText: WideString; Width: Double): Double; safecall; Функция распределит текст по задаваемому значению ширины текстового блока и вернет значение высоты текстового блока в милиметрах. Здесь:
|