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

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

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

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

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

  • 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 объекты.

Отформатируйте абзац программно

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

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

  • 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

FontSize

ForegroundColor

Color

Color

BackgroundColor

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 Используя стили шаблонов

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

Добавить стиль абзаца:

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

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

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

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

  5. В диалоговом окне Create New Style from Formatting, набор 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 конструктор Object или путем установки 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);

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

Классы

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

Больше о