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