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