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

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

Создание отчета

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

import mlreportgen.dom.*;

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

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

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

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

currentLayout = d.CurrentPageLayout;

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

pdfheader = PDFPageHeader();

Создайте Paragraph DOM объект и сделать его выровненным по центру и полужирным. Установите размер шрифта равным 12pt. Добавьте его к 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 и включите выборочные данные в разделы Заголовок (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);

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

Верхние и нижние колонтитулы 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 объект. Используйте DOM- ScaleToFit формат для масштабирования изображения в соответствии со строкой страницы. Назначьте созданные 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 дюйма (левое поле + желоб) с левой стороны страницы. The Right значение запаса составляет 0,5 дюйма.

currentLayout.PageMargins.Gutter = '0.25in';
currentLayout.PageMargins.Left = '0.5in';
currentLayout.PageMargins.Right = '0.5in';

Сгенерируйте и отобразите отчет.

close(d);
rptview(d.OutputPath);