Создаем текстовый документ. Используя метод CreateRun, создаем текстовый блок для вставки в текущий абзац.
Для перехода на новую строку используем метод AddLineBreak. Все сформированные изменения записываем в параграф методом Push.
Для получения большей информации о работе с параграфами изучите страницу — Справочник методов класса ApiParagraph текстового документа.
После формирования главной страницы, добавляем разрыв страницы методом AddPageBreak.
Для построения оглавления используем метод AddTableOfContents и передаём ему свойства, описанные в переменной oTocPr. Более детально про параметры оглавления ознакомьтесь на странице Глобальные определения, раздел TocPr Свойства оглавления.
builder.CreateFile("docx"); var oDocument = Api.GetDocument(); var oNewDocumentStyle = oDocument.GetStyle("Heading 1"); var oParagraph = oDocument.GetElement(0); var oRun = Api.CreateRun(); var EvenOdd; oParagraph.SetStyle(oNewDocumentStyle); oParagraph.SetJc("center"); oParagraph.AddText("Лев Николаевич"); oParagraph.AddLineBreak(); oParagraph.AddText("Толстой"); oParagraph.AddLineBreak(); oParagraph.AddLineBreak(); oParagraph.AddText("Война и мир"); oDocument.Push(oParagraph); oParagraph.AddPageBreak(); function MakeoParagraph(runNumber, headerText, textMessage) { if (runNumber % 2 == 0) { EvenOdd = " нечётная"; } else { EvenOdd = " чётная"; } var oParagraph3 = Api.CreateParagraph(); var oNewDocumentStyle = oDocument.GetStyle("Heading 2"); oParagraph3.SetStyle(oNewDocumentStyle); oParagraph3.AddText(headerText + " №"+ (runNumber +1) + EvenOdd); oDocument.Push(oParagraph3); oParagraph3.AddElement(oRun); oDocument.Push(oParagraph3); var oParagraph4 = Api.CreateParagraph(); oParagraph4.AddText(textMessage); oParagraph4.AddElement(oRun); oParagraph4.AddPageBreak(); oDocument.Push(oParagraph4); } for (let nRunIncrease = 0; nRunIncrease < 5; ++nRunIncrease) { MakeoParagraph (nRunIncrease, "Глава", "Князь Василий говорил всегда лениво, как актер говорит роль старой пиесы. Анна Павловна Шерер, напротив, несмотря на свои сорок лет, была преисполнена оживления и порывов."); } var oParagraph2 = Api.CreateParagraph(); oParagraph2.AddText("Последний Абзац. Абзац."); oDocument.Push(oParagraph2); var oSection = oDocument.GetFinalSection(); oFooter = oSection.GetFooter("default", true); oParagraph = oFooter.GetElement(0); oParagraph.SetJc("center"); oParagraph.AddText("Страница №"); oParagraph.AddPageNumber(); var oTocPr = {"ShowPageNums": true, "RightAlgn": true, "LeaderType": "dot", "FormatAsLinks": true, "BuildFrom": {"OutlineLvls": 9}, "TocStyle": "standard"}; oDocument.AddTableOfContents(oTocPr); builder.SaveFile("docx", "docconstructorTextEditor.docx"); builder.CloseFile();