В отчете Report API можно создать список подписей или заголовков связанных элементов отчета, таких как уравнения, чтобы можно было просматривать список и легко переходить к конкретному элементу отчета. Чтобы создать список элементов отчета, используйте mlreportgen.report.ListOfCaptions
репортер.
Примечание
Для списка рисунков используйте mlreportgen.report.ListOfFigures
репортер. Для списка таблиц используйте mlreportgen.report.ListOfTables
репортер. См. Create a List of Figures or Tables
.
Как использовать ListOfCaptions
reporter, необходимо создать абзац для подписи или заголовка элемента отчета. Затем связайте абзац с именем потока автоматической нумерации, которое имеет имя, совпадающее с именем потока автоматической нумерации ListOfCaptions
объект.
A ListOfCaptions
reporter создает заполнитель для списка в новом разделе отчета. Как правило, вы добавляете список подписей после таблицы содержимого и перед разделами, которые содержат содержимое отчета. В формате PDF или Microsoft® Word reports, список подписей находится где вы поместите его в отчет. В HTML раздел расположен на боковой панели.
Способ создания списка подписей зависит от типа отчета:
PDF - Report API генерирует список во время генерации отчетов.
Word - необходимо сгенерировать список путем обновления документа Word в программе генерации отчетов или в интерактивном режиме в Word. См. раздел «Обновление таблицы или сгенерированный список в документе Word».
HTML - HTML-браузер генерирует список.
Каждый элемент списка в списке подписей ссылается на заголовок или заголовок в отчете. В отчетах PDF и Word элемент списка также содержит номер страницы подписи или заголовка в отчете, а выноска заполняет пространство между подписью или заголовком и номером страницы.
Чтобы создать список подписей:
Создайте отчет Report API.
Создайте mlreportgen.report.ListOfCaptions
объект.
Укажите заголовок списка подписей путем установки Title
свойство ListofCaptions
объект.
Выберите имя нумерационного потока, например equation
. Установите AutoNumberStreamName
свойство ListOfCaptions
объект - имя нумерационного потока.
Добавьте ListofCaptions
объект отчета.
Создание глав или разделов для содержимого отчета.
Добавить содержимое в главы или разделы. Создание mlreportgen.dom.Paragraph
объекты для подписей или заголовков элементов отчета, которые необходимо включить в список подписей. Использование mlreportgen.dom.AutoNumber
объекты для связи абзацев с таким же именем потока автоматической нумерации, которое присвоено AutoNumberStreamName
свойство ListofCaptions
объект.
Закройте отчет.
В этом примере показано, как создать список подписей в отчете. Пример генерирует отчет о физических уравнениях и добавляет список подписей уравнений в отчет.
Импортируйте пакеты DOM и Report API так, чтобы не использовать длинные, полные имена классов.
import mlreportgen.dom.* import mlreportgen.report.*
Создание отчета.
rpt = Report("physics","docx");
Добавьте к отчету заголовка страницу и таблицу содержимого.
tp = TitlePage(); tp.Title = "Physics Principles"; tp.Author = "John Doe"; append(rpt,TableOfContents);
Создайте список подписей.
loc = ListOfCaptions();
loc.Title = "List of Equations";
Задайте имя потока автоматической нумерации для использования со ListOFCaptions
объект.
equationStreamName = "equation";
loc.AutoNumberStreamName = equationStreamName;
Добавить список подписей в отчет.
append(rpt,loc);
Создание глав для содержимого отчета. В данном примере создайте две главы. Каждая глава имеет одно уравнение.
Создайте первую главу. Добавить абзац и добавить к нему уравнение.
ch1 = Chapter("Force"); append(ch1,Paragraph("Calculate force by multiplying mass and acceleration.")); eq1 = Equation("F = ma"); append(ch1,eq1);
Создайте абзац для подписи уравнения и связайте имя потока автоматической нумерации с подписью.
caption1 = Paragraph("Equation ");
append(caption1,AutoNumber(equationStreamName));
Определите стиль для подписей. Включите mlreportgen.report.CounterInc
объект для увеличения счетчика для нумерации потока.
equationCaptionsStyle = {HAlign("center"),CounterInc(equationStreamName),WhiteSpace("preserve")}; caption1.Style = equationCaptionsStyle;
Добавить оставшуюся часть подписи и добавить подпись к главе.
append(caption1,"."); append(caption1," Force"); append(ch1,caption1);
Добавить главу в отчет.
append(rpt,ch1);
Создайте вторую главу. Добавить абзац и добавить уравнение к абзацу.
ch2 = Chapter("Momentum"); append(ch2,Paragraph("Calculate momentum by multiplying mass and velocity.")); eq2 = Equation("p = mv"); append(ch2,eq2);
Создайте абзац для подписи уравнения и связайте имя потока автоматической нумерации с подписью.
caption2 = Paragraph("Equation ");
append(caption2,AutoNumber(equationStreamName));
Укажите стиль подписи.
caption2.Style = equationCaptionsStyle;
Добавить оставшуюся часть подписи и добавить подпись к главе.
append(caption2,"."); append(caption2," Momentum"); append(ch2,caption2);
Добавить главу в отчет.
append(rpt,ch2);
Закройте и просмотрите отчет.
close(rpt); rptview(rpt);
Вот список уравнений в отчете:
Заголовок списка подписей можно задать путем установки Title
свойство ListOfCaptions
репортер. Чтобы настроить стиль заголовка, например, семейство шрифтов, цвет или размер, используйте один из следующих подходов:
Задайте заголовок как mlreportgen.dom.Text
и задайте стиль, используя свойства объекта.
Задайте стиль заголовка в шаблоне, используемом ListOfCaptions
репортер.
Укажите стиль заголовка в шаблоне, используемом репортером заголовка для заголовка раздела списка подписей. Смотрите раздел «Использование пользовательского Шаблона» для Заголовка «Список подписей».
mlreportgen.report.ListOfCaptions
| mlreportgen.report.ListOfFigures
| mlreportgen.report.ListOfTables