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

Импортируйте пакеты DOM API, чтобы не использовать длинные, полные имена классов.
import mlreportgen.dom.*;Создание и открытие отчета.
d = Document('myreport', 'docx'); open(d);
Получение текущего объекта макета страницы.
currentLayout = d.CurrentPageLayout;
Создайте определение заголовка страницы для документа DOCX.
docxheader = DOCXPageHeader();
Создание DOM Paragraph объект и сделать его выровненным по центру и полужирным. Задайте размер шрифта 12pt. Добавить его к DOCXPageHeader объект.
p = Paragraph('Sample Traffic Data in Austin'); p.Style = [p.Style, {HAlign('center'), Bold(true), FontSize('12pt')}]; append(docxheader, p);
Присвоение созданного docxheader объект для PageHeaders текущего макета страницы.
currentLayout.PageHeaders = docxheader;
Создайте массивы ячеек для стилей, которые будут использоваться формальной таблицей и ее записями.
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); Top имущества PageMargins объект определяет высоту поля. Header свойство указывает расстояние от верхней части страницы до начала заголовка. Расстояние от верхней части страницы до тела страницы зависит от Top собственность, Header и высота содержимого заголовка. Например, если Header свойство меньше, чем Top свойство, заголовок начинается с верхнего поля и расширяется вниз для размещения содержимого заголовка. Тело начинается в нижней части поля или заголовка, который когда-либо больше.
Используйте следующие параметры настройки для обеспечения соответствия заголовка Top маржа. Установите Top до 1 дюйма. 1 дюйм равен 72 точкам, так что 0,25 дюйма равно 18 pts. Установите Header значение до 0,75 дюйма, поскольку оставшихся 0,25 дюйма достаточно для размещения 12 pts Paragraph создан в заголовке DOCX.

currentLayout.PageMargins.Top = '1in'; currentLayout.PageMargins.Header = '0.75in';
Создайте определение нижнего колонтитула страницы для документа DOCX.
docxfooter = DOCXPageFooter();
Добавление горизонтального правила к docxfooter объект.
append(docxfooter, HorizontalRule());
Добавление изображения к docxfooter объект. Использование DOM ScaleToFit для масштабирования изображения по размеру страницы. Присвоение созданного docxfooter объект для PageFooters текущего макета страницы..
imgStyle = {ScaleToFit(true), HAlign('right'), Height('0.30in')};
img = Image('Logo_footer.Png');
img.Style = imgStyle;
append(docxfooter, img);
currentLayout.PageFooters = docxfooter; Bottom имущества PageMargins объект задает высоту поля страницы. Footer свойство определяет расстояние от нижней части страницы до нижней части нижнего колонтитула. Расстояние от нижней части страницы до тела страницы зависит от настроек Bottom и Footer свойства и высота нижнего колонтитула. Например, если Footer свойство меньше, чем Bottom свойство, нижний колонтитул начинается в нижнем поле и расширяется вверх, чтобы расширить содержимое нижнего колонтитула. Тело начинается в верхней части поля или нижнего колонтитула, в зависимости от того, что больше.
Установите Bottom значение свойства 1 дюйм. Для размещения высоты 0,30 Image и горизонтальное правило, созданное в нижнем колонтитуле DOCX, установите Footer значение свойства 0,5 дюйма.

currentLayout.PageMargins.Bottom = '1in'; 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);