exponenta event banner

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

Создание абзаца

Можно создать абзац с помощью 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 форматировать объект для указания полей абзаца

  • HAlign свойство format для центрирования абзаца

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. Откройте панель «Стили».

  3. Нажмите кнопку «Управление стилями».

  4. Щелкните Новый стиль (New Style).

  5. В диалоговом окне «Создание нового стиля из форматирования» задайте для параметра «Тип стиля» значение 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;
}

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

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

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

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

Предположим, что определены стили с именем BodyPara и MyTitle в шаблоне. В этом примере сначала указывается имя стиля в Paragraph конструктор. Затем он задает стиль в Paragraph объект StyleName свойство format. В этом примере предполагается, что оба стиля определены в 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);

См. также

Классы

Связанные примеры

Подробнее