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

Импортируйте пакеты DOM API, чтобы не использовать длинные, полные имена классов
import mlreportgen.dom.*;Создание и открытие отчета.
d = Document('myreport', 'pdf'); open(d);
Получение текущего объекта макета страницы.
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.
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);