exponenta event banner

класс mlreportgen.report.TaureOfContents

Пакет: mlreportgen.report
Суперклассы: mlreportgen.report.Reporter

Оглавление репортера

Описание

Создание оглавления (оглавления), добавляющего оглавление в отчет. Этот класс наследует от mlreportgen.report.Reporter.

Строительство

toc = TableOfContents() возвращает отчет, который создает раздел оглавления (оглавления) для отчета. Шаблон по умолчанию для раздела оглавления определяет внешний вид и макет страницы оглавления. Раздел оглавления содержит заголовок по умолчанию и элемент оглавления, который определяет расположение генерируемого оглавления в зависимости от типа вывода отчета. Способ создания оглавления различается для каждого вида отчета.

  • HTML - JavaScript, скопированный из шаблона отчета в отчет, создает оглавление при открытии отчета в браузере. Сценарий создает оглавление как сворачиваемое дерево. Элементы дерева являются гиперссылками элементов HTML-заголовка (h1-h6) отчета. Уровень записи в дереве оглавления соответствует уровню элемента заголовка. Отчеты по главам и разделам генерируют заголовки глав и разделов как элементы заголовков соответствующего уровня, поэтому заголовки глав и разделов появляются в оглавлении автоматически. Для создания записей оглавления можно также использовать элементы заголовка DOM в отчете.

  • DOCX - генератор отчетов rptview функция дает команду Word создать оглавление после открытия отчета в Word. При открытии отчета непосредственно в Word без использования rptviewдля создания оглавления необходимо обновить документ отчета самостоятельно. См. раздел Обновление оглавления или сгенерированного списка в документе Word.

    TOC представляет собой таблицу из двух столбцов. Первый столбец содержит гиперсвязанное содержимое пунктов отчета, для которых заданы уровни структуры. Уровень структуры определяет форматирование записи оглавления. Второй столбец содержит номер страницы, на которой находится соответствующий абзац. Отчеты по главам и разделам формируют заголовки глав и разделов в виде абзацев с соответствующим набором уровней, поэтому заголовки глав и разделов появляются в оглавлении автоматически. Для создания записей оглавления можно также использовать элементы заголовка DOM в отчете.

  • PDF - оглавление создается во время создания документа PDF.

toc = TableOfContents(title) создает оглавление, в котором используется указанное title.

toc = TableOfContents(Name,Value) задает свойства, используя пары имя-значение. Можно указать несколько аргументов пары имя-значение в любом порядке. Заключите каждое имя свойства в отдельные кавычки.

Свойства

развернуть все

Заголовок оглавления, указанный как одно из следующих значений:

  • Строка или символьный массив

  • Объект DOM

  • 1-by-N или N-by-1 массив строк или объектов DOM

  • 1-by-N или N-by-1 массив ячеек строк, символьных массивов и/или объектов DOM

  • TableOfContentsTitle репортер

Пример: 'TableOfContents','Report Contents'

Количество уровней заголовка для использования в оглавлении, указанное как положительное целое число в диапазоне [1,9].

Тип выноски для использования между заголовком и номером страницы, указанный как один из следующих векторов символов или строковых скаляров:

  • '.' или 'dots'

  • ' ' или 'space'

Это свойство применяется только к отчетам PDF. В отчетах Word всегда есть лидер точек. HTML-отчеты не имеют выноски.

Макет страницы для раздела оглавления, указанный как mlreportgen.report.ReporterLayout объект. Использовать свойства ReporterLayout для переопределения некоторых свойств макета страницы по умолчанию, таких как ориентация страницы.

Источник шаблона для этого репортера, указанный одним из следующих способов:

  • Вектор символов или строковый скаляр, указывающий путь к файлу, содержащему шаблон для этого репортера

  • Репортер или отчет, шаблон которого используется для этого репортера или библиотека шаблонов которого содержит шаблон для этого репортера

  • Документ DOM или деталь документа, шаблон которого используется для этого репортера или библиотека шаблонов которого содержит шаблон для этого репортера

Указанный шаблон должен быть того же типа, что и отчет, к которому добавлен этот репортер. Например, для отчета Microsoft ® Word :TemplateSrc должен быть шаблоном репортера Word. Если TemplateSrc пустое свойство, этот репортер использует шаблон репортера по умолчанию для типа вывода отчета.

Имя шаблона для этого репортера, указанного как вектор символов или скаляр строки. Шаблон для этого репортера должен находиться в библиотеке шаблонов источника шаблона (TemplateSrc) для этого репортера.

Цель гиперссылки для этого репортера, указанная как вектор символов или скаляр строки, указывающий идентификатор цели связи, или mlreportgen.dom.LinkTarget объект. Вектор символов или строковое скалярное значение преобразуется в LinkTarget объект. Цель ссылки непосредственно предшествует содержимому этого репортера в выходном отчете.

Методы

createTemplate Создать шаблон раздела оглавления
customizeReporter Создание пользовательского класса отчетов оглавления
getClassFolderРасположение файла определения класса оглавления
getTitleReporterПолучить заголовок оглавления

Унаследованные методы

копия Создание копии объекта reporter и создание глубоких копий определенных значений свойств
getImpl Получить реализацию репортера

Примеры

Оглавление по умолчанию

Создайте оглавление с форматированием по умолчанию.

import mlreportgen.report.*
rpt = Report('output','pdf');
toc = TableOfContents();
add(rpt,toc);

Настраиваемое оглавление

Создание отчета, содержащего оглавление с зеленым заголовком. Этот отчет также включает главы, разделы и раздел приложения.

import mlreportgen.report.*
import mlreportgen.dom.*

rpt = Report('Report with TOC');
add(rpt, TitlePage('Title','Report','Subtitle','with TOC'));
toc = TableOfContents;
toc.Title = Text('Table of Contents');
toc.Title.Color = 'green';
toc.NumberOfLevels = 2; 
add(rpt,toc);

ch = Chapter('First Chapter');
add(ch,Section('First Subsection'));
add(ch,Section('Second Subsection'));

add(rpt,ch);
add(rpt,Chapter('Second Chapter'));

add(rpt,PDFPageLayout);
p = Paragraph('Appendix'); 
p.Style = {OutlineLevel(1), Bold, FontSize('18pt')};
add(rpt,p);

close(rpt);
rptview(rpt);

Вопросы совместимости

развернуть все

В R2021a изменилось поведение

Представлен в R2017b