Описание
Используется для передачи данных в редактор. Этот метод преимущественно используется для работы с OLE-объектами и по-прежнему поддерживается для использования с текстом в целях совместимости с более ранними версиями плагинов.
Второй параметр - это код JavaScript для работы с API Генератора документов, позволяющий плагину передавать структурированные данные, которые можно вставить в итоговый файл (форматированные абзацы, таблицы , части текста и отдельные слова и т.д.).
Команды Генератора документов можно использовать только для создания содержимого и его вставки в редактор документов (используя метод Api.GetDocument().InsertContent(...)). Это ограничение введено из-за возможности совместного редактирования в онлайн-редакторах. Данное ограничение не применяется, если вы создаете плагин для десктопных редакторов, работающих с локальными файлами.
Параметры
Имя | Описание | Тип |
type | Тип команды. Значение "close" используется, чтобы закрыть окно плагина после выполнения функции, заданной в параметре command. Значение "command" используется, чтобы выполнить команду и оставить окно открытым, в ожидании следующей команды. | строка |
command | Команда кода JavaScript, формирующая структурированные данные, которые можно вставить в итоговый файл (форматированные абзацы, таблицы , части текста и отдельные слова и т.д.) и которые передаются в редакторы. Команда должна быть совместима с синтаксисом Генератора документов. | строка |
При создании/редактировании OLE-объектов для работы с ними используются два расширения:
- Api.asc_addOleObject(window.Asc.plugin.info) - используется для создания OLE-объекта в документе;
- Api.asc_editOleObject(window.Asc.plugin.info) - используется для редактирования созданного OLE-объекта.
При создании/редактировании объектов их свойства можно передавать объекту window.Asc.plugin.info, отвечающему за то, как выглядит объект.
Пример с OLE-объектом
window.Asc.plugin.button = function (id) {
var _info = window.Asc.plugin.info;
var _method = (_info.objectId === undefined) ? "asc_addOleObject" : "asc_editOleObject";
_info.width = _info.width ? _info.width : 70;
_info.height = _info.height ? _info.height : 70;
_info.widthPix = (_info.mmToPx * _info.width) >> 0;
_info.heightPix = (_info.mmToPx * _info.height) >> 0;
_info.imgSrc = window.g_board.getResult(_info.widthPix, _info.heightPix).image;
_info.data = window.g_board.getData();
var _code = "Api." + _method + "(" + JSON.stringify(_info) + ");";
this.executeCommand("close", _code);
};
Пример с текстом (не используется, но поддерживается в целях совместимости)
window.Asc.plugin.init = function () {
var sScript = 'var oDocument = Api.GetDocument();';
sScript += 'oDocument.CreateNewHistoryPoint();';
sScript += 'oParagraph = Api.CreateParagraph();';
sScript += 'oParagraph.AddText(\'Hello word!\');';
sScript += 'oDocument.InsertContent([oParagraph]);';
window.Asc.plugin.info.recalculate = true;
this.executeCommand("close", sScript);
};
Комментарии
0 комментариев
Статья закрыта для комментариев.