Создайте оглавление

Можно добавить оглавление в отчет с помощью класса mlreportgen.report.TableOfContents. Этот предопределенный класс автоматически добавляет отформатированное оглавление, которое содержит заголовки отчета в ваш отчет. Это намного легче и более эффективно использовать этот класс вместо того, чтобы использовать Объекты DOM, чтобы создать оглавление. Для получения информации и примеры, смотрите mlreportgen.report.TableOfContents.

Поочередно, с помощью Объектов DOM, можно создать оглавление в программе отчета, или можно использовать шаблон, чтобы задать TOC. Чтобы создать TOC программно, добавьте объект mlreportgen.dom.TOC к своему отчетному документу.

Используя шаблон гарантирует, что все программы отчета, которые используют тот шаблон, создают тот же тип TOC. Кроме того, с шаблоном вы обновляете TOC только в одном месте если ваши изменения форматирования.

Если вы используете шаблон, вы можете также:

  • Включайте ссылку TOC в свой шаблон Word или в ваш пакет шаблона HTML или PDF (root.html).

  • Создайте шаблон части документа для TOC и вставьте часть документа программно.

Или Используя подход, ваша программа отчета должна создать направляющиеся объекты, которые задают числовой уровень или объекты абзаца, которые задают уровень схемы. Генератор TOC использует содержимое с информацией об уровне, чтобы задать структуру.

Создайте TOC в своей программе отчета

API DOM поддерживает автоматическую генерацию оглавления документа. Включить автоматическую генерацию TOC:

  • Используйте Paragraph или направляющиеся объекты (Heading, Heading1, и так далее) в вашем документе, чтобы задать заголовки раздела. Если вы используете объект Paragraph для заголовка, необходимо установить свойство OutlineLevel абзаца на соответствующее значение, например, 1 для главы или другого заголовка верхнего уровня.

  • Вставьте заполнителя TOC в свой документ, где вы хотите сгенерировать TOC. Можно вставить заполнителя TOC программно или в шаблоне для документа.

Создайте TOC программно

Чтобы создать заполнителя TOC программно, добавьте объект mlreportgen.dom.TOC, где вы хотите сгенерировать TOC. Можно задать количество уровней, чтобы включать в TOC и тип лидера. Значения по умолчанию являются тремя уровнями и точечным лидером. Этот пример использует два уровня и точечного лидера.

import mlreportgen.dom.*;
d = Document('mydoc','pdf');
open(d);

title = append(d,Paragraph('My TOC Document'));
title.Bold = true;
title.FontSize = '28pt';

toc = append(d,TOC(2));
toc.Style = {PageBreakBefore(true)};

h1 = append(d,Heading1('Chapter 1'));
h1.Style = {PageBreakBefore(true)};
p1 = append(d,Paragraph('Hello World'));

h2 = append(d,Heading2('Section 1.1'));
h2.Style = {PageBreakBefore(true)};
p2 = append(d,Paragraph('Another page'));

h3 = append(d,Heading3('My Subsection 1.1.a'));
p3 = append(d, Paragraph('My Level 3 Heading Text'));

close(d);
rptview(d.OutputPath);

Используйте шаблон, чтобы создать TOC Microsoft Word

Можно использовать Word, чтобы вставить объект ссылки Word TOC, одним словом, документ или шаблон части документа. Word заменяет ссылку TOC на автоматически сгенерированный TOC, когда это обновляет документ.

Сгенерировать оглавление в отчете Word DOM с помощью шаблона, содержащего ссылку TOC:

  1. Чтобы задать где в отчете сгенерировать TOC, создайте ссылку оглавления в шаблоне Word. Смотрите Создают Word Table of Contents Reference.

  2. Установите уровни схемы глав секций, что вы хотите появиться в оглавлении. Смотрите Уровни Схемы Набора глав секций.

  3. Обновите сгенерированный документ. Смотрите Обновление TOC, одним словом, Отчет.

Создайте Word Table of Contents Reference

  1. Откройте шаблон в Word.

  2. Щелкните, где вы хотите создать оглавление.

  3. На вкладке References нажмите Table of Contents.

  4. Выберите параметр формата TOC, чтобы сгенерировать оглавление. Например, выберите параметр формата Built-In. TOC появляется.

  5. Сохраните шаблон.

Примечание

Если вы хотите использовать часть документа, чтобы вставить TOC, вставьте ссылку TOC в шаблон для части документа. Удалите экземпляр из шаблона, прежде чем вы сохраните. Смотрите Создают Библиотеку шаблонов Части Документа Microsoft Word и Вставляют Заполнителя TOC Программно Используя Часть Документа.

Обновите TOC, одним словом, сообщают

Необходимо обновить документ Word, содержащий ссылку TOC, чтобы сгенерировать TOC. В системах Windows® API DOM команда rptview использует Word, чтобы обновить документ Word, который это отображает. Если вы открываете документ Word непосредственно, например, документ, сгенерированный API DOM в системе кроме Windows, необходимо обновить TOC.

  1. В шаблоне Word выберите ссылку TOC.

  2. На вкладке References нажмите Update Table.

  3. В диалоговом окне Update Table of Contents выберите Update entire table и нажмите OK.

Создайте оглавление в шаблонах PDF или HTML

Когда вы используете PDF или шаблон HTML, чтобы добавить TOC, вы можете:

  • Включайте заполнителя оглавления в основной шаблон (root.html) в вашем пакете шаблона.

  • Включайте заполнителя TOC в шаблон части документа.

Создать оглавление в HTML или отчет PDF с помощью шаблона части документа:

  • Задайте шаблон части документа, который включает заполнителя TOC.

  • Программно вставьте часть документа в свой отчет.

  • Используйте Paragraph или направляющиеся объекты (Heading, Heading1, и так далее), чтобы задать заголовки вашего отчета. Если вы используете объект Paragraph для заголовка, необходимо установить его свойство OutlineLevel на соответствующее значение.

Задайте шаблон части документа для TOC

Чтобы создать или изменить шаблон части документа для TOC, используйте код в этой форме:

<dptemplate name="ReportTOC">
     <TOC number-of-levels ="3" leader-pattern="dots" />
</dptemplate>

Вы можете:

  • Замените ReportTOC на имя, которое вы предпочитаете

  • Установите number-of-levels на количество уровней заголовков, которые вы хотите включать в TOC

  • Установите leader-pattern на dots или на spaces

Для примера смотрите PDF и Части Документа HTML и Дыры.

Вставьте заполнителя TOC программно Используя часть документа

Используйте класс DocumentPart, чтобы вставить экземпляр части документа, которая содержит заполнителя TOC. Если вы задаете шаблон части документа в своем шаблоне, включаете имя пакета шаблона, когда вы задаете объект документа. Например:

d = Document('MyReport','html','MyTemplate');

Этот код использует предоставленную часть документа ReportTOC в шаблоне по умолчанию, чтобы сгенерировать оглавление.

import mlreportgen.dom.*;
d = Document('MyReport','pdf');
append(d,'My Report');

append(d,DocumentPart(d,'ReportTOC'));
append(d,Heading1('Chapter 1'));
append(d,Heading2('Section 1'));

close(d);
rptview(d.OutputPath);

Совет

Используйте переменную, присвоенную объекту Document в синтаксисе DocumentPart к использованию шаблон части документа, сопоставленный с объектом документа:

append(d,DocumentPart(d,'ReportTOC'));

Если вы используете этот синтаксис, вы не должны вызывать шаблон и задавать тип документа, когда вы обращаетесь к части документа. Этот подход упрощает ваш код и генерирует отчет более эффективно.

Установите уровни схемы глав секций

Чтобы сгенерировать оглавление в вашем отчете, ваша программа должна установить уровни схемы глав секций, которых вы хотите в содержимом. Уровень схемы является свойством формата абзаца, которое задает, ли и в том, какой уровень содержимое абзаца появляется в оглавлении. Например, если абзац имеет уровень схемы 1, содержимое появляется в верхнем уровне сгенерированного оглавления. Можно задать до девяти уровней схемы.

Чтобы установить уровень схемы абзацев, используйте один из этих подходов.

Используйте заданные шаблоном стили, чтобы установить уровни схемы

Можно использовать стили, заданные в шаблоне отчета, чтобы установить уровень схемы абзаца. Word по умолчанию документы включают набор стилей, Направляясь 1, Направляясь 2, и так далее, которые задают уровни схемы. Ваша программа может использовать эти встроенные стили, чтобы задать для этих голов, чтобы появиться в TOC. Этот пример использует заданные шаблоном стили, чтобы установить уровни схемы глав секций и принимает, что шаблон MyTemplate включает ссылку TOC.

import mlreportgen.dom.*;
d = Document('MyReport','docx','MyTemplate');

append(d,Paragraph('Chapter 1','Heading 1'));
append(d,Paragraph('Section 1','Heading 2'));

close(d);
rptview(d.OutputPath); % Updates the TOC

Можно также использовать Word или редактор HTML, чтобы задать собственные стили заголовка и затем использовать их, чтобы сгенерировать отчет.

Используйте объекты формата, чтобы установить уровни схемы

Можно использовать объекты формата, чтобы установить уровни схемы. Этот пример принимает, что шаблон MyTemplate включает ссылку TOC.

import mlreportgen.dom.*;
d = Document('MyReport','docx','MyTemplate');

h1 = {FontFamily('Arial'),FontSize('16pt'),OutlineLevel(1)};
h2 = {FontFamily('Arial'),FontSize('14pt'),OutlineLevel(2)};
p = append(d,Paragraph('Chapter 1'));
p.Style = h1;
p = append(d,Paragraph('Section 1'));
p.Style = h2;

close(d);
rptview(d.OutputPath); % Updates the TOC

Используйте направляющиеся объекты установить уровни схемы

Можно использовать объект mlreportgen.dom.Heading1Heading2, Heading3, и так далее), чтобы задать уровни схемы. Объект Heading1 является абзацем, конструктор которого задает его уровень схемы. Можно использовать один только объект Heading1 или с основанными на шаблоне стилями или основанными на объектах форматом стилями. Этот пример принимает, что шаблон MyTemplate включает ссылку TOC.

import mlreportgen.dom.*;
d = Document('MyReport','docx','MyTemplate');

h1 = {FontFamily('Arial'),FontSize('16pt')};
h2 = {FontFamily('Arial'),FontSize('14pt')};
h = append(d,Heading1('Chapter 1'));
h.Style = h1;
h = append(d,Heading2('Section 1'));
p.Style = h2;

close(d);
rptview(d.OutputPath); % Updates the TOC

В HTML и отчетах PDF, Heading1 и объекты Heading2 генерируют элементы HTML h1 и h2. При помощи объектов Heading1, Heading2, и так далее, можно гарантировать, что отчет использует стили по умолчанию для заголовков.

Смотрите также

Функции

Классы

Похожие темы