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

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

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

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

import mlreportgen.dom.*;

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

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

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

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

currentLayout = d.CurrentPageLayout;

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

pdfheader = PDFPageHeader();

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