Структура, используемая для файла .docconstructor
Все файлы .docconstructor имеют простую структуру, которая позволяет легко их создавать. Они состоят из следующих основных частей, для каждой из которых используется соответствующий класс метода CDocBuilder:
1. Подготовка к работе с документом:
Методы CDocBuilder.CreateFile или CDocBuilder.OpenFile используются совместно с методом CDocBuilder.SetTmpFolder
builder.SetTmpFolder("DocBuilderTemp");
builder.CreateFile("docx");
2. Создание содержимого документа с помощью метода CDocBuilder.ExecuteCommand:
Метод не используется явно, вместо него используются сами команды.
var oDocument = Api.GetDocument();
var oParagraph;
oParagraph = Api.CreateParagraph();
oParagraph.SetJc("center");
oParagraph.AddText("Center");
oDocument.Push(oParagraph);
3. Сохранение документа (метод CDocBuilder.SaveFile) и освобождение для завершения работы с ним (метод CloseFile):
builder.SaveFile("pdf", "images.pdf");
builder.CloseFile();
Правила для файла .docconstructor
Существует несколько правил, используемых для создания файлов скрипта .docconstructor, чтобы они работали правильно:
- Кодировка файла всегда UTF8;
- Все команды, содержащие builder. разделены по строкам, т.е. их нельзя записать в одну строку, каждая команда должна начинаться со своей строки;
- Все общие команды и методы JavaScript должны быть использованы внутри строк builder.CreateFile() и builder.SaveFile(), иначе при выполнении кода будет выдана ошибка;
- Комментарии разрешены. Любая строка, начинающаяся с # или //, считается комментарием;
- Пустые строки разрешены. Вы можете ввести любое количество пустых строк для разделения блоков, синтаксический анализатор будет их игнорировать;
- Все методы CDocBuilder (кроме CDocBuilder.ExecuteCommand) запускаются с помощью builder;
- Метод CDocBuilder.ExecuteCommand не используется в явном виде, вместо него используется сама команда. Это сделано для того, чтобы избежать сложности разбора и позволить использовать обычные команды и методы JavaScript;
- Методы CDocBuilder.RunTextA, CDocBuilder.RunTextW, CDocBuilder.Initialize и CDocBuilder.Dispose не используются в файлах .docbuilde.;
- Все методы в файле .docbuilder (кроме перечисленных выше) используются так же, как и в коде C++. См. список методов ниже, чтобы узнать больше о каждом из них.
Таким образом, ниже приведен пример полного рабочего файла .docconstructor.
Пример
builder.SetTmpFolder("DocBuilderTemp");
builder.CreateFile("docx");
var oDocument = Api.GetDocument();
var oParagraph;
oParagraph = oDocument.GetElement(0);
oParagraph.SetJc("center");
oParagraph.AddText("Center");
builder.SaveFile("pdf", "images.pdf");
builder.CloseFile();








