Генераторы отчетов являются объектами MATLAB®, которые генерируют отформатированное содержимое, когда добавлено к Объекту отчета MATLAB Report Generator™. MATLAB Report Generator обеспечивает генераторы отчетов для генерации общих компонентов отчета, таких как титульные листы, оглавления, главы, подразделы, фигуры и значения переменных MATLAB. Можно настроить содержимое и внешний вид этих генераторов отчетов. Можно также создать собственные генераторы отчетов. Для списка встроенных объектов API Отчета введите эту команду MATLAB:
help mlreportgen.report
В дополнение к генераторам отчетов MATLAB Report Generator обеспечивает другой набор объектов для генерации содержимого отчета. Эти объекты являются объектами Объектной модели документа (DOM). Они реализуют модель документа, используемого HTML, Word и другим программным обеспечением создания документа. Модель задает документ как иерархию объектов, обычно находимых в документах, таких как текстовые строки, абзацы, изображения и таблицы. API DOM содержит программные объекты, которые генерируют эти объекты первичного документа. Для списка Объектов DOM введите эту команду MATLAB:
help mlreportgen.dom
Генераторы отчетов, в отличие от этого, создают высокоуровневые структуры документа, такие как титульные листы, оглавления и главы, которые происходят во многих, но не всех типах документов. Преимущество генераторов отчетов состоит в том, что один генератор отчетов может создать содержимое, которое потребовало бы многих Объектов DOM. Однако программа генератора отчетов обычно требует и DOM и объектов генератора отчетов. Например, генератор отчетов главы генерирует заголовок и макет страницы главы отчета, но не ее содержимое. API DOM предоставляет текст, абзац, таблицу, список, изображение и другие объекты, которые можно использовать, чтобы создать содержимое генератора отчетов.
Следующая программа MATLAB иллюстрирует использование и генераторы отчетов и Объекты DOM, чтобы создать отчет PDF. Программа использует Text
DOM объект добавить блок текста к главе. Все другие объекты в этом примере (
Report
, TitlePage
, TableOfContents
, и Chapter
) объекты генератора отчетов.
rpt = mlreportgen.report.Report('myreport','pdf'); append(rpt,mlreportgen.report.TitlePage('Title','My Report',... 'Author','Myself')) append(rpt,mlreportgen.report.TableOfContents) ch = mlreportgen.report.Chapter('Title','Sample Text'); append(ch,mlreportgen.dom.Text... ('Here is sample text using a DOM Text object.')) append(rpt,ch) close(rpt) rptview(rpt)
Генератор отчетов обычно включает следующие элементы:
Обработайте по шаблону документы, которые задают внешний вид, фиксированное содержимое и отверстия для динамического контента, сгенерированного генератором отчетов. Генератор отчетов обычно обеспечивает набор файлов шаблонов, один для каждого поддерживаемого выходного типа: Word, PDF и HTML. Каждый файл шаблона содержит библиотеку шаблонов, используемых генератором отчетов, чтобы отформатировать его содержимое. Например, API Отчета TitlePage
генератор отчетов использует шаблон под названием TitlePage
отформатировать титульный лист. TitlePage
шаблон хранится в библиотеках шаблонов его файлов шаблона. Можно изменить этот шаблон, чтобы перестроить или добавить содержимое в титульный лист. Для получения информации смотрите Шаблоны.
Свойства, которые задают динамический контент, сгенерированный генератором отчетов. Эти свойства соответствуют отверстиям в шаблоне генератора отчетов. Генератор отчетов заполняет отверстия шаблона значениями соответствующих свойств.
Класс MATLAB, который задает свойства генератора отчетов и методы, которые вы используете, чтобы создать и управлять генератором отчетов. Имена классов генератора отчетов начинаются с префикса, mlreportgen.report
. Например, генератором отчетов титульного листа является mlreportgen.report.TitlePage
. Можно не использовать префикс в скрипте MATLAB или функционировать путем вставки этого оператора в начале скрипта или функции:
import mlreportgen.report.*
import mlreportgen.dom.*
использовать короткие имена классов DOM.Метод конструктора, который создает объект генератора отчетов как экземпляр класса генератора отчетов. Имя конструктора совпадает с именем класса.
Объект DOM, который содержит содержимое, сгенерированное отчетом. Этот объект упоминается как реализация генератора отчетов. Каждый генератор отчетов имеет getImpl
метод, который создает объект реализации, который обычно является DocumentPart
DOM объект.
Чтобы сгенерировать содержимое в программе отчета, выполните эти шаги:
Пример программы, описанный на этих шагах, создает простой документ, который включает только титульный лист. Однако шаги демонстрируют задачи создать полный отчет. Полную распечатку программ показывают после описаний шага.
Создайте Объект отчета (mlreportgen.report.Report
) содержать содержимое, сгенерированное отчетом. Объект отчета использует Document
DOM возразите, чтобы содержать содержимое, сгенерированное генераторами отчетов, добавленными к отчету. Этот код импортирует пакет API Отчета, который позволяет коду использовать короткие имена классов. Затем это создает объект отчета PDF (
rpt
).
import mlreportgen.report.* rpt = Report('myReport','pdf');
Создайте экземпляр класса генератора отчетов, то есть, инстанцируйте генератора отчетов, с помощью его конструктора. Конструктор может также установить свойства объекта генератора отчетов, который это создает. Например, этот код создает генератор отчетов титульного листа (tp
) и устанавливает его Title
и Author
свойства.
tp = TitlePage('Title','My Report','Author','John Smith');
Чтобы установить свойства генератора отчетов после, программа создала генератор отчетов, программа может использовать запись через точку MATLAB. Например, это кодовые наборы Subtitle
и PubDate
свойства TitlePage
генератор отчетов (tp
).
tp.Subtitle = 'on My Project'; tp.PubDate = date;
Чтобы сгенерировать содержимое с помощью генератора отчетов, программа отчета должна добавить генератор отчетов в объект отчета, с помощью append
метод объекта отчета. append
метод работает путем вызова getImpl
метод того генератора отчетов. getImpl
метод создает реализацию генератора отчетов. Затем append
метод добавляет реализацию в Document
DOM объект, который служит реализацией объекта отчета. Можно также использовать
append
метод, чтобы добавить Объекты DOM в отчет. Вы не можете, однако, добавить другой Document
DOM к отчету.
Например, этот код добавляет генератор отчетов титульного листа (tp
) к отчету (rpt
).
append(rpt,tp)
Когда программа отчета закончила добавлять содержимое в отчет, это должно закрыть отчет, с помощью close
метод объекта отчета. Закрытие отчета пишет содержимое отчета в файл документа типа, такого как PDF, заданная конструктором объекта отчета.
close(rpt)
Этот код является полной программой для отчета, который включает только титульный лист.
import mlreportgen.report.* rpt = Report('myReport','pdf'); tp = TitlePage('Title','My Report',... 'Author','John Smith'); tp.Subtitle = 'on My Project'; tp.PubDate = date; append(rpt,tp) close(rpt) rptview(rpt)
mlreportgen.dom.Text
| mlreportgen.report.Report
| mlreportgen.report.TableOfContents
| mlreportgen.report.TitlePage