Создание и форматирование абзацев

Создайте абзац

Вы можете создать абзац при помощи mlreportgen.dom.Paragraph конструктор с вектором символов. Для примера:

p = Paragraph('Text for a paragraph');

Можно также задать эти объекты DOM в Paragraph конструктор объектов.

  • mlreportgen.dom.Text

  • mlreportgen.dom.ExternalLink

  • mlreportgen.dom.InternalLink

  • mlreportgen.dom.LinkTarget

  • mlreportgen.dom.Image

Создайте заголовок

Заголовок является типом абзаца. Можно использовать mlreportgen.dom.Heading1, Heading2 и так далее, для создания заголовков. Также можно использовать mlreportgen.dom.Heading Объект, нужно ли использовать программно выведенные значения для уровня заголовка.

Этот пример создает заголовок первого уровня с текстом Chapter 1: System Overview. Если вы создаете таблицу содержимого, этот заголовок появится на верхнем уровне.

h1 = Heading1('Chapter 1: System Overview');

Формат абзаца

Форматировать абзац можно с помощью объектов формата DOM или свойств формата. Можно также использовать стили шаблонов. Для получения информации об этих методах форматирования и наследовании формата см. раздел Подходы к форматированию отчетов.

Примечание

Можно использовать те же объекты формата и свойства для объектов заголовка (Heading и Heading1, Heading2и так далее) как вы делаете для Paragraph объекты.

Программный формат абзаца

Для форматирования можно использовать объекты формата DOM API Paragraph объекты или свойства форматирования для задания обычно используемых форматов абзацев. Этот пример использует:

  • Система координат OuterMargin формат объекта, чтобы задать поля для абзаца

  • The HAlign формат для центрирования абзаца

import mlreportgen.dom.*;
d = Document('test','html');

p = Paragraph('Indent a half inch and space after 12 points.');
p.Style = {OuterMargin('0.5in','0in','0in','12pt')};
append(d,p);

p = Paragraph('Centered paragraph');
p.HAlign = 'center';
append(d,p);

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

Используйте эти объекты и свойства для форматирования абзаца.

Форматирование Формат объектаФормат

Шрифт

FontFamily

FontFamilyName

Шрифт резервного копирования (только для HTML)

FontFamily

n/a

Сложный шрифт скрипта (для примера, арабского)

FontFamily

n/a

Восточноазиатский шрифт

FontFamily

n/a

Размер шрифта

FontSize

FontSize

Цвет переднего плана

Color

Color

Цвет фона

BackgroundColor

BackgroundColor

Смелый

Bold

Bold

Курсив

Italic

Italic

Индекс или надстрочный индекс

VerticalAlign

n/a

Удар через

Strike

Strike

Тип подчеркивания

Underline

Underline

Цвет подчеркивания

Underline

n/a

Создайте границу вокруг абзаца

Border

n/a

Сохраните белое пространство

WhiteSpace

WhiteSpace

Отступить абзац

OuterMargin

OuterLeftMargin

Отступить первую линию абзаца

FirstLineIndent

FirstLineIndent

Висячий отступной элемент

FirstLineIndent

n/a

Пространство до и после абзаца

OuterMargin

n/a

Пространство справа от абзаца

OuterMargin

n/a

Пространство между абзацем и ограничивающим его прямоугольником

InnerMargin

n/a

Пространство между линиями абзаца

LineSpacing

n/a

Выравнивание абзаца влево, по центру, справа

HAlign

HAlign

Начните абзац на следующей странице

PageBreakBefore

n/a

Оставайтесь с следующим абзацем

KeepWithNext

n/a

Сохранить абзац на той же странице

KeepLinesTogether

n/a

Ликвидация вдов и сирот

WidowOrphanControl

n/a

Таблица оглавления абзаца

OutlineLevel

OutlineLevel

Отображать как задано

Display

n/a

Формат абзацев для Microsoft Word с использованием стилей шаблонов

Форматировать абзац можно с помощью стиля в шаблоне Word. Можно добавить стили к шаблону или изменить существующие таковые.

Чтобы добавить стиль абзаца:

  1. Откройте шаблон Word, используемый в отчете.

  2. Откройте панель Styles.

  3. Нажмите кнопку Manage Styles.

  4. Нажмите New Style.

  5. В диалоговом окне «Создание нового стиля из форматирования» установите для Style type значение Character или Linked (paragraph and character).

  6. Отформатируйте стиль по мере необходимости.

Дополнительные сведения о работе со стилями Word см. в разделе Изменение стилей в шаблоне Microsoft Word.

Формат абзацев с использованием стилей шаблонов PDF или HTML

Форматировать абзац можно с помощью стиля в HTML или PDF стилей в шаблоне. Можно добавить стили к шаблону или изменить существующие таковые.

Определите стиль с помощью селектора на p элемент. Этот пример задает BodyPara стиль абзаца.

p.BodyPara {
  font-family: "Times New Roman", Times, serif;
  font-style: normal;
  font-size: 11pt;
  color: black;
  margin-left: 0.5in;
}

Можно использовать любые свойства CSS и селекторы в HTML шаблонов. Для шаблонов PDF можно использовать подмножество свойств CSS и селекторы. См. раздел «Изменение стилей в шаблонах PDF».

Дополнительные сведения об использовании стилей HTML с объектами DOM см. в разделе «Изменение стилей в шаблонах HTML».

Применение стиля к объекту

Применение стиля шаблона к Paragraph объект или как второй аргумент в Paragraph конструктор объектов или путем установки StyleName свойство абзаца для стиля шаблона.

Предположим, что определенным стилям присвоено имя BodyPara и MyTitle в шаблоне. Этот пример сначала задает имя стиля в Paragraph конструктор. Затем он задает стиль в Paragraph StyleName объекта формат. Этот пример предполагает, что оба стиля определены в MyTemplate.

import mlreportgen.dom.*;
rpt = Document('MyReport','html','MyTemplate');

% Specify style name using an argument when you create the Paragraph
p = Paragraph('Format this paragraph using a body style.','BodyPara');
append(rpt,p);

p = Paragraph('This paragraph is formatted using a title style.');

% Specify  style name using a property on the paragraph
p.StyleName = 'MyTitle';
append(rpt,p);

close(rpt);
rptview(rpt.OutputPath);

Переопределение форматов шаблонов

Можно использовать программные форматы, чтобы переопределить форматы абзацев, заданные в шаблонном стиле абзацев. Предположим, что вы задаете стиль абзаца с именем BodyPara в шаблоне Word и установите KeepWithNext свойство к off. Вы можете переопределить стиль в программе отчетов, чтобы сохранить конкретный абзац на той же странице со следующим абзацем:

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

p = Paragraph('Keep this body paragraph with next.','BodyPara');
p.Style = {'KeepWithNext'};
append(rpt,p);

p = Paragraph('Next paragraph.');
append(rpt, p);

close(rpt);
rptview(rpt.OutputPath);

См. также

Классы

Похожие примеры

Подробнее о

Для просмотра документации необходимо авторизоваться на сайте