exponenta event banner

Задание полей страницы в отчете PDF

В этом примере показано, как определить поля страниц в отчете PDF. Можно определить верхнее, нижнее, левое и правое поля страницы PDF, а также ее верхний, нижний и нижний колонтитулы.

Создать отчет

Импортируйте пакеты DOM API, чтобы не использовать длинные, полные имена классов

import mlreportgen.dom.*;

Создание и открытие отчета.

d = Document('myreport', 'pdf');
open(d);

Создание заголовка страницы PDF

Получение текущего объекта макета страницы.

currentLayout = d.CurrentPageLayout;

Создайте определение заголовка страницы для документа PDF.

pdfheader = PDFPageHeader();

Создание DOM Paragraph объект и сделать его выровненным по центру и полужирным. Задайте размер шрифта 12pt. Добавить его к PDFPageHeader объект.

p = Paragraph('Sample Traffic Data in Austin');
p.Style = [p.Style, {HAlign('center'), Bold(true), FontSize('12pt')}];
append(pdfheader, p);

Присвоение созданного pdfheader объект для PageHeaders текущего макета страницы.

currentLayout.PageHeaders = pdfheader;

Создание содержимого тела

Создайте массивы ячеек для стилей, которые будут использоваться формальной таблицей и ее записями.

dataTableStyle = {Border('solid'), ColSep('solid'), RowSep('solid'), Width('100%')...
    OuterMargin('0pt', '0pt', '0pt', '0pt')};

Создайте образец данных из камеры трафика Austin для включения в таблицу. Затем создайте FormalTable и включить образцы данных в разделы Заголовок и Тело.

dataHeader = {'Camera ID', 'Status', 'Manufacturer', 'Signal Engineer Area'};
dataBody = {'1', 'TURNED_ON', 'Spectra', 'NORTHEAST';
    '2', 'TURNED_ON', 'Sarix', 'NORTHWEST';
    '3', 'TURNED_OFF', 'Spectura', 'SOUTHWEST';
    '3', 'TURNED_ON', 'Spectura', 'NORTHEAST';
    '4', 'TURNED_ON', 'Sarix', 'SOUTHEAST';
    '5', 'TURNED_ON', 'Spectra', 'NORTHEAST';
    '6', 'TURNED_ON', 'Sarix', 'NORTHWEST';
    '7', 'TURNED_OFF', 'Spectura', 'SOUTHWEST';
    '8', 'TURNED_ON', 'Spectura', 'NORTHEAST';
    '9', 'TURNED_ON', 'Sarix', 'SOUTHEAST'};
dataTable = FormalTable(dataHeader, dataBody);
dataTable.Header.Style = [dataTable.Header.Style {Bold}];
dataTable.Style = [dataTable.Style dataTableStyle];
append(d, dataTable);

Верхний предел и размер заголовка

Размеры верхних и нижних колонтитулов страниц PDF фиксированы. Общая высота от верхней части страницы до основного содержимого - это значение Top имущества PageMargins объект плюс значение Header собственность.

Установите Top свойство margin до 0,75 дюйма. Для размещения 12 тонн Paragraph созданный в заголовке PDF, задайте размер заголовка 0,25 дюйма. 1 дюйм равно 72 pts, так что 0,25 дюйма равно 18 pts. Paragraph содержимое занимает всего 12 пт, поэтому для размещения заголовка достаточно 0,25 дюйма. Содержимое тела начинается в 1 дюйм от верхней части страницы с высотой заголовка 0,25 дюйма.

currentLayout.PageMargins.Top = '0.75in';
currentLayout.PageMargins.Header = '0.25in';

Создать нижний колонтитул страницы PDF

Создайте определение нижнего колонтитула страницы для документа PDF.

pdffooter = PDFPageFooter();

Добавление горизонтального правила к pdffooter объект.

append(pdffooter, HorizontalRule());

Добавление изображения к pdffooter объект. Использование DOM ScaleToFit для масштабирования изображения по размеру страницы. Присвоение созданного pdffooter объект для PageFooters текущего макета страницы.

imgStyle = {ScaleToFit(true), HAlign('right'), Height('0.30in')};
img = Image('Logo.Png');
img.Style = imgStyle;
append(pdffooter, img);
currentLayout.PageFooters = pdffooter;

Задать нижнее поле и размер нижнего колонтитула

Расстояние от нижней части страницы до основного содержимого равно значению Bottom свойство объекта PageMargins плюс значение Footer собственность.

Установите Bottom значение свойства 0,5 дюйма. Для размещения 0,30 по высоте Image и горизонтальное правило в нижнем колонтитуле, установите Footer значение свойства 0,5 дюйма. Это делает расстояние от нижней части страницы до содержимого тела 1 дюйм.

currentLayout.PageMargins.Bottom = '0.5in';
currentLayout.PageMargins.Footer = '0.5in';

Задать левое поле, правое поле и размер желоба

В этом примере используется Gutter установка, чтобы оставить место в левой части страницы для привязки отчета. The Gutter размер устанавливается равным 0,25 дюйма и Left поле устанавливается равным 0,5 дюйма. Таким образом, содержимое начинается с 0,75 дюйма (левое поле + желоб) с левой стороны страницы. Right поле устанавливается равным 0,5 дюйма.

currentLayout.PageMargins.Gutter = '0.25in';
currentLayout.PageMargins.Left = '0.5in';
currentLayout.PageMargins.Right = '0.5in';

Создайте и просмотрите отчет.

close(d);
rptview(d.OutputPath);