В этом примере показано, как задать поля страницы в отчете Word (DOCX). Вы можете задать верхние, нижние, левые, правые поля для страницы DOCX, плюс ее верхний, нижний и нижний колонтитулы и размеры желоба.
Импортируйте пакеты DOM API, чтобы не использовать длинные, полные имена классов.
import mlreportgen.dom.*;
Создание и открытие отчета.
d = Document('myreport', 'docx'); open(d);
Получите текущий объект макета страницы.
currentLayout = d.CurrentPageLayout;
Создайте определение заголовка страницы для документа DOCX.
docxheader = DOCXPageHeader();
Создайте Paragraph DOM
объект и сделать его выровненным по центру и полужирным. Установите размер шрифта равным 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')};
Создайте некоторые выборочные данные из дорожной камеры Остина, чтобы включить их в таблицу. Затем создайте FormalTable
и включите выборочные данные в разделы Заголовок (Header) и Тело (Body).
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);
The Top
свойство PageMargins
объект задает высоту запаса. The Header
свойство задает расстояние от верхней части страницы до начала заголовка. Расстояние от верхней части страницы до тела страницы зависит от Top
свойство, Header
свойство и высота содержимого заголовка. Для примера, если Header
свойство меньше, чем Top
свойство, заголовок начинается с верхнего поля и расширяется вниз, чтобы включать содержимое заголовка. Тело начинается в нижней части поля или заголовка, который всегда больше.
Используйте следующие настройки, чтобы убедиться, что заголовок помещается в Top
маржа. Установите Top
свойство до 1 дюйма. 1 дюйм равен 72 точкам, поэтому 0,25 дюйма равен 18 ст. Установите 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;
The Bottom
свойство PageMargins
объект задает высоту поля страницы. The Footer
свойство задает расстояние от нижней части страницы до нижней части нижнего колонтитула. Расстояние от нижней части страницы до тела страницы зависит от настроек Bottom
и Footer
свойства и высота нижнего колонтитула. Для примера, если Footer
свойство меньше, чем Bottom
свойство, нижний колонтитул начинается с нижнего поля и расширяется вверх, расширяя содержимое нижнего колонтитула. Тело начинается в верхней части поля или нижнего колонтитула, в зависимости от того, что больше.
Установите Bottom
значение свойства до 1 дюйма. Для размещения 0.30 high Image
и горизонтальное правило, созданное в DOCX Footer, установите Footer
значение свойства до 0,5 дюйма.
currentLayout.PageMargins.Bottom = '1in'; currentLayout.PageMargins.Footer = '0.5in';
Этот пример использует Gutter
настройка, чтобы оставить место в левой части страницы для привязки отчета . The Gutter
размер устанавливается равным 0,25 дюйма и Left
значение запаса составляет 0,5 дюйма. Так, содержимое начинается от 0,75 дюйма (левое поле + желоб) с левой стороны страницы. The Right
значение запаса составляет 0,5 дюйма.
currentLayout.PageMargins.Gutter = '0.25in'; currentLayout.PageMargins.Left = '0.5in'; currentLayout.PageMargins.Right = '0.5in';
Сгенерируйте и отобразите отчет.
close(d); rptview(d.OutputPath);