В этом примере показано, как использовать шаблоны Report API для настройки размера страницы и размеров полей страницы, верхнего колонтитула, нижнего колонтитула и желоба в отчете PDF. Также можно использовать программный подход. Используйте подход на основе шаблонов, если планируется внести другие изменения в шаблоны. В противном случае используйте программный подход. Пример, в котором используется программный подход, см. в разделе Настройка размера страницы и полей программного отчета.
По умолчанию Report API генерирует 8,5 на 11-дюймовые портретные страницы с однодюймовыми полями. Колонтитулы и нижние колонтитулы имеют ширину в полтора дюйма, а водосточный желоб равен нулю пикселей. Возможно, потребуется изменить эти размерности в отчете. Для примера, если вы генерируете отчет для европейской локали, вам, возможно, потребуется сгенерировать A4 страницы. В этом примере показано, как сгенерировать A4 страницы. Эта же процедура используется для создания других размерностей страниц.
Чтобы изменить размерности страниц отчета Report API, необходимо изменить размерности, заданные шаблонами mlreportgen.report.TitlePage
, mlreportgen.report.TableOfContents
, и mlreportgen.report.Chapter
репортеры. В этом примере показано, как изменять и использовать шаблон PDF для каждого репортера.
Создайте копию mlreportgen.report.TitlePage
шаблон PDF по умолчанию reporter.
mlreportgen.report.TitlePage.createTemplate("titlePageTemplate.pdftx", "pdf");
Разархивируйте шаблон.
unzipTemplate("titlePageTemplate.pdftx");
Откройте titlePageTemplate
unzipped folder.
В HTML или текстовом редакторе откройте docpart_templates.html
файл.
Чтобы изменить размер страницы и поля для A4 значений, измените page-margin
и page-size
свойства style
атрибут layout
элемент.
Установите page-margin
значение свойства:
0.98in 0.98in 0.98in 0.98in 0.5in 0.5in 0in
Это значение определяет поля в этом порядке:
Верхний запас 0,98 дюйма.
Левый край 0,98 дюйма
Нижний запас 0,98 дюйма
Правый край 0,98 дюйма
Заголовок 0,5 дюйма
Нижний колонтитул 0,5 дюйма
Размер желоба 0
Установите page-size
свойство для:
8.27in 11.69in portrait
Это значение задает размер страницы 8,27 на 11,69 дюйма в портретной ориентации.
Теперь шаблон выглядит следующим образом:
Сохраните docpart_templates.html
файл.
ZIP шаблон.
zipTemplate("titlePageTemplate.pdftx");
Создайте копию mlreportgen.report.TableOfContents
шаблон PDF по умолчанию reporter.
mlreportgen.report.TableOfContents.createTemplate("tableOfContentsTemplate.pdftx", "pdf");
Разархивируйте шаблон.
unzipTemplate("tableOfContentsTemplate.pdftx");
Откройте ableOfContentsTemplate t
unzipped folder.
В HTML или текстовом редакторе откройте docpart_templates.html
файл.
Чтобы изменить размер страницы и поля для A4 значений, измените page-margin
и page-size
свойства style
атрибут layout
элемент.
Установите page-margin
значение свойства:
0.98in 0.98in 0.98in 0.98in 0.5in 0.5in 0in
Это значение определяет поля в этом порядке:
Верхний запас 0,98 дюйма.
Левый край 0,98 дюйма
Нижний запас 0,98 дюйма
Правый край 0,98 дюйма
Заголовок 0,5 дюйма
Нижний колонтитул 0,5 дюйма
Размер желоба 0
Установите page-size
свойство для:
8.27in 11.69in portrait
Это значение задает размер страницы 8,27 на 11,69 дюйма в портретной ориентации.
Теперь шаблон выглядит следующим образом:
Сохраните docpart_templates.html
файл.
ZIP шаблон.
zipTemplate("tableOfContentsTemplate.pdftx");
Создайте копию mlreportgen.report.Chapter
шаблон PDF по умолчанию reporter.
mlreportgen.report.Chapter.createTemplate("chapterTemplate.pdftx", "pdf");
Разархивируйте шаблон.
unzipTemplate("chapterTemplate.pdftx");
Откройте chapterTemplate
unzipped folder.
В HTML или текстовом редакторе откройте docpart_templates.html
файл.
Чтобы изменить размер страницы и поля для A4 значений, измените page-margin
и page-size
свойства style
атрибут layout
элемент.
Установите page-margin
значение свойства:
0.98in 0.98in 0.98in 0.98in 0.5in 0.5in 0in
Это значение определяет поля в этом порядке:
Верхний запас 0,98 дюйма.
Левый край 0,98 дюйма
Нижний запас 0,98 дюйма
Правый край 0,98 дюйма
Заголовок 0,5 дюйма
Нижний колонтитул 0,5 дюйма
Размер желоба 0
Установите page-size
свойство для:
8.27in 11.69in portrait
Это значение задает размер страницы 8,27 на 11,69 дюйма в портретной ориентации.
Теперь шаблон выглядит следующим образом:
Сохраните docpart_templates.html
файл.
ZIP шаблон.
zipTemplate("chapterTemplate.pdftx");
Используйте настроенный шаблон, чтобы создать отчет PDF на магических квадратах, то есть матрицах, столбцы, строки и диагонали которых складываются в одно и то же число.
Импортируйте пакеты DOM и Report API, чтобы избежать необходимости использования полных имен классов.
import mlreportgen.report.*; import mlreportgen.dom.*;
Создайте контейнер отчета.
rpt = Report("report","pdf");
Создайте титульную страницу и укажите заголовок, подзаголовок и автора.
title = TitlePage("Title", "Magic Squares"); title.Subtitle = "Columns, Rows, Diagonals: All Equal Sums"; title.Author = "Albrecht Durer";
Чтобы сгенерировать заголовок страницу, используйте пользовательский шаблон заголовка страницы.
title.TemplateSrc = fullfile(pwd,"titlePageTemplate.pdftx");
Добавьте страницу заголовка к отчету.
append(rpt,title);
toc = TableOfContents;
Используйте пользовательский шаблон таблицы содержимого, чтобы сгенерировать таблицу содержимого.
toc.TemplateSrc = fullfile(pwd,"tableOfContentsTemplate.pdftx");
Добавьте таблицы содержимого в отчет.
append(rpt,toc);
Создайте главу и укажите заголовок.
chapter = Chapter("Introduction");
Чтобы сгенерировать главу, используйте пользовательский шаблон главы.
chapter.TemplateSrc = fullfile(pwd,"chapterTemplate.pdftx");
Создать раздел и добавить к нему абзац.
sec1 = Section("What is a Magic Square?"); para = Paragraph(['A magic square is an N-by-N matrix '... 'constructed from the integers 1 through N^2 '... 'with equal row, column, and diagonal sums.']); append(sec1,para);
Добавить раздел в главу.
append(chapter,sec1);
Создайте другой раздел и добавьте к нему абзац.
sec2 = Section("Albrect Durer and the Magic Square"); para = Paragraph([ ... 'The German artist Albrecht Durer (1471-1528) created '... 'many woodcuts and prints with religious and '... 'scientific symbolism. One of his most famous works, '... 'Melancholia I, explores the depressed state of mind '... 'which opposes inspiration and expression. '... 'Renaissance astrologers believed that the Jupiter '... 'magic square (shown in the upper right portion of '... 'the image) could aid in the cure of melancholy. The '... 'engraving''s date (1514) can be found in the '... 'lower row of numbers in the square.']); append(sec2,para);
Добавить раздел в главу.
append(chapter,sec2);
Добавить главу в отчет.
append(rpt,chapter);
close(rpt); rptview(rpt);
mlreportgen.report.Chapter
| mlreportgen.report.TableOfContents
| mlreportgen.report.TitlePage