Установите поля страницы в отчете PDF

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

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

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

import mlreportgen.dom.*;

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

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

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

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

currentLayout = d.CurrentPageLayout;

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

pdfheader = PDFPageHeader();

Создайте объект DOM Paragraph и заставьте его центрироваться выровненный и полужирный. Установите его размер шрифта на 12 ПБ. Добавьте его к объекту PDFPageHeader.

p = Paragraph('Sample Traffic Data in Austin');
p.Style = [p.Style, {HAlign('center'), Bold(true), FontSize('12pt')}];
append(pdfheader, p);

Присвойте созданный объект pdfheader PageHeaders текущего макета страницы.

currentLayout.PageHeaders = pdfheader;

Создайте содержимое тела

Создайте массивы ячеек для стилей, которые будут использоваться формальной таблицей и ее записями таблицы.

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);

Установите размер верхнего поля и заголовка

Верхние колонтитулы страницы PDF и нижние колонтитулы фиксируются в размере. Общая высота от начала страницы до содержимого тела является значением свойства Top объекта PageMargins плюс значение свойства Header.

Установите свойство поля Top на 0,75 дюйма. Чтобы разместить 12 pts Paragraph, созданный в Заголовке PDF, установите размер заголовка на 0,25 дюйма. 1 дюйм равняется 72 pts, таким образом, 0,25 дюйма равняются 18 pts. Содержимое Paragraph занимает только 12 pts, таким образом, 0,25 дюймов достаточно, чтобы разместить заголовок. Содержимое тела запускается в 1 дюйме от начала страницы с высоты заголовка 0,25 дюймов.

currentLayout.PageMargins.Top = '0.75in';
currentLayout.PageMargins.Header = '0.25in';

Создайте нижний колонтитул PDF

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

pdffooter = PDFPageFooter();

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

append(pdffooter, HorizontalRule());

Добавьте изображение к объекту pdffooter. Используйте формат ScaleToFit DOM, чтобы масштабировать изображение, чтобы поместиться в страницу. Присвойте созданный объект pdffooter PageFooters текущего макета страницы.

imgStyle = {ScaleToFit(true), HAlign('right'), Height('0.30in')};
img = Image('Logo.Png');
img.Style = imgStyle;
append(pdffooter, img);
currentLayout.PageFooters = pdffooter;

Установите размер нижнего поля и нижнего колонтитула

Расстояние от конца страницы до содержимого тела является значением свойства Bottom объекта PageMargins плюс значение свойства Footer.

Установите значение свойства Bottom на 0,5 дюйма. Чтобы разместить 0.30 в высоте Image и горизонтальное правило в нижнем колонтитуле, установите значение свойства Footer на 0,5 дюйма. Это делает расстояние от конца страницы до содержимого тела 1 дюймом.

currentLayout.PageMargins.Bottom = '0.5in';
currentLayout.PageMargins.Footer = '0.5in';

Установите левое поле, правое поле и размер поля

Этот пример использует установку Gutter, чтобы покинуть комнату на левой стороне страницы для привязки отчета. размер 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);