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

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

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

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

import mlreportgen.dom.*;

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

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

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

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

currentLayout = d.CurrentPageLayout;

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

docxheader = DOCXPageHeader();

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