Использование файла .docconstructor

Структура, используемая для файла .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();