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

Импортируйте пакеты API DOM, таким образом, вы не должны использовать долго, полностью определенные имена классов
import mlreportgen.dom.*;Создайте и откройте отчет.
d = Document('myreport', 'pdf'); open(d);
Получите текущий объект макета страницы.
currentLayout = d.CurrentPageLayout;
Создайте определение верхнего колонтитула страницы для документа в формате PDF.
pdfheader = PDFPageHeader();
Создайте Paragraph DOM возразите и заставьте его сосредоточиться выровненный и полужирный. Установите его размер шрифта на 12 ПБ. Добавьте его к 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')};Создайте некоторые выборочные данные из камеры трафика Остина, чтобы включать в таблицу. Затем создайте 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 граничное свойство к 0,75 дюймам. Вмещать 12 pts Paragraph созданный в Заголовке PDF, набор размер заголовка к 0,25 дюймам. 1 дюйм равняется 72 pts, таким образом, 0,25 дюйма равняются 18 pts. Paragraph содержимое занимает только 12 pts, таким образом, 0,25 дюймов достаточно, чтобы вместить заголовок. Содержимое тела запускается в 1 дюйме от начала страницы с высоты заголовка 0,25 дюймов.

currentLayout.PageMargins.Top = '0.75in'; currentLayout.PageMargins.Header = '0.25in';
Создайте определение нижнего колонтитула для документа в формате PDF.
pdffooter = PDFPageFooter();
Добавьте горизонтальное правило к pdffooter объект.
append(pdffooter, HorizontalRule());
Добавьте изображение к pdffooter объект. Используйте ScaleToFit DOM формат, чтобы масштабировать изображение, чтобы поместиться в страницу. Присвойте созданный 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);