Установите поля страницы, одним словом, сообщают

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

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

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

import mlreportgen.dom.*;

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

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

Создайте верхний колонтитул страницы DOCX

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

currentLayout = d.CurrentPageLayout;

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

docxheader = DOCXPageHeader();

Создайте объект DOM Paragraph и заставьте его центрироваться выровненный и полужирный. Установите его размер шрифта на 12 ПБ. Добавьте его к объекту 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')};

Создайте некоторые выборочные данные из камеры трафика Остина, чтобы включать в таблицу. Затем создайте объект 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 propery задает расстояние от начала страницы до запуска заголовка. Расстояние от начала страницы до тела страницы зависит от свойства 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

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

docxfooter = DOCXPageFooter();

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

append(docxfooter, HorizontalRule());

Добавьте изображение к объекту docxfooter. Используйте формат ScaleToFit DOM, чтобы масштабировать изображение, чтобы поместиться в страницу. Присвойте созданный объект 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, чтобы уехать, комната на левой стороне страницы для привязки report. 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);