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