Задайте пространство между абзацами

Эти примеры показывают, как задать пространство между DOM Paragraph объекты в документе. Чтобы задать интервал, измените Paragraph Style объекта свойство или создайте стиль абзаца в шаблоне документов.

Программная настройка стиля

В этом примере интервалы между абзацами задаются программно путем включения OuterMargin объекты в Style свойство каждого абзаца. Создается следующий выход:

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

import mlreportgen.dom.*

Создание и открытие документа. Чтобы создать документ Word, измените тип выхода с "pdf" на "docx". Чтобы создать HTML, измените "pdf" на "html" или "html-file" для документа с мультифайлами или одним файлом, соответственно. Добавьте заголовок, чтобы описать пример.

d = Document("myDoc1", "pdf");
open(d);

append(d, Heading1("Spacing Using OuterMargin"));

Создайте абзац и установите его Style для включения OuterMargin объект. Установите левое, правое и верхнее внешние поля равными 0 точкам, а нижнее - 50 точкам. Добавить абзац к документу.

p1 = Paragraph("This is a paragraph with a bottom outer margin of 50pt.");
p1.Style = {OuterMargin("0pt", "0pt","0pt","50pt")};

append(d, p1);

Создать еще два абзаца с различными нижними полями. Добавить абзацы к документу вместе с объектом окончательного текста для отображения нижнего поля последнего абзаца.

p2 = Paragraph("This is a paragraph with a bottom outer margin of 25pt.");
p2.Style = {OuterMargin("0pt", "0pt","0pt","25pt")};
append(d, p2);

p3 = Paragraph("This is a paragraph with a bottom outer margin of 5pt.");
p3.Style = {OuterMargin("0pt", "0pt","0pt","5pt")};
append(d, p3);

append(d, Text("Text to show spacing"));

Закройте и просмотрите документ.

close(d);
rptview(d);

Использование стиля в шаблоне

В этом примере абзацы используют стили, заданные в пользовательском файле шаблона, используемом документом. Создается следующий выход:

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

import mlreportgen.dom.*

Создайте и откройте PDF. Задайте пользовательский шаблон документов с именем exampleTemplate при создании Document объект. Чтобы создать документы Word или HTML, сначала создайте шаблон Word или HTML. Затем измените "pdf" на "docx", "html", или "html-file" в зависимости от созданного шаблона.

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

d = Document("myDoc2", "pdf", "exampleTemplate");

Пользовательский шаблон PDF- exampleTemplate был изменен, чтобы содержать стиль абзаца с именем exampleParagraphStyle определено в exampleTemplate\stylesheets\root.css следующим образом:

The margin-bottom значение дает абзацам нижний запас в 50 точки, подобный предыдущему примеру. Кроме того, стиль абзаца по умолчанию можно изменить в шаблоне так, чтобы абзацы в документе автоматически имели пользовательский стиль. Стиль абзаца по умолчанию в exampleTemplate был изменен, чтобы иметь нижний запас 25 точек:

Откройте документ и добавьте заголовок для описания примера.

open(d);

append(d, Heading1("Spacing Using Template-defined Paragraph Styles"));

Создайте абзац используя exampleParagraphStyle как имя стиля. Создать другой абзац без заданного имени стиля, чтобы он использовал стиль абзаца по умолчанию в шаблоне.

p1 = Paragraph("This is a paragraph with a custom style defined in a template.", ...
    "exampleParagraphStyle");

p2 = Paragraph("This is a paragraph with the default style defined in a template.");

Создайте другой абзац со стилем абзаца по умолчанию, но установите его Style свойство, чтобы иметь другое нижнее поле. Это приведет к переопределению стиля шаблона по умолчанию.

p3 = Paragraph("This is a paragraph with a bottom outer margin of 5pt.");
p3.Style = {OuterMargin("0pt", "0pt","0pt","5pt")};

Добавить абзацы к документу вместе с объектом окончательного текста для отображения нижнего поля последнего абзаца.

append(d, p1);
append(d, p2);
append(d, p3);
append(d, Text("Text to show spacing."));

Закройте и просмотрите документ.

close(d);
rptview(d);