
- Создайте пустой html-файл.
- Укажите ссылку на Сервер документов Р7 с API JavaScript, который будет использоваться для вашего сайта:
<script type="text/javascript" src="https://documentserver/web-apps/apps/api/documents/api.js"></script>
Где documentserver — это имя сервера, на котором установлен Сервер документов Р7. - Добавьте элемент div, как показано ниже. Для того чтобы подключить к одной html странице несколько редакторов, каждый из них можно инициализировать отдельно:
<div id="placeholder1"></div> <div id="placeholder2"></div> <div id="placeholder3"></div> ...
- Добавьте скрипт, инициализирующий редактор документов для элемента div с конфигурацией документа, который вы хотите открыть. У каждого редактора есть свой скрипт инициализации:
var documentEditor = new DocsAPI.DocEditor("placeholder1", { "document": { "fileType": "docx", "key": "Khirz6zTPdfd7", "title": "Example Document Title.docx", "url": "https://example.com/url-to-example-document.docx" }, "documentType": "word" }); var spreadsheetEditor = new DocsAPI.DocEditor("placeholder2", { "document": { "fileType": "xlsx", "key": "af86C7e71Ca8", "title": "Example Spreadsheet Title.xlsx", "url": "https://example.com/url-to-example-spreadsheet.xlsx" }, "documentType": "cell" }); var presentationEditor = new DocsAPI.DocEditor("placeholder3", { "document": { "fileType": "pptx", "key": "bv48M5r64Sf9", "title": "Example Presentation Title.pptx", "url": "https://example.com/url-to-example-presentation.pptx" }, "documentType": "slide" }); ...
Где example.com — это имя сервера, на котором установлены менеджер документов и служба хранения документов. - В процессе работы сервер документов отправляет служебную информацию в callback функцию. По этой служебной информации и можно понять, что происходит с документом. Пример встраивания callback:
var spreadsheetEditor = new DocsAPI.DocEditor("placeholder2", { "document": { "fileType": "xlsx", "key": " xuh3fl94nxae ", "title": "Example Spreadsheet Title.xlsx", "url": "https://example.com/url-to-example-spreadsheet.xlsx" }, "documentType": "cell", "editorConfig": { "callbackUrl": "https://example.com /callback.php", "customization": { } } });
Описание обратных вызовов (callback) описано на странице нашего портала В данном случае нам интересны статусы, которые передаются в этот callback, а именно эти:- 0— не найден документ с данным идентификатором,
- 1— документ редактируется,
- 2— документ готов к сохранению,
- 3— во время сохранения документа произошла ошибка,
- 4— документ был закрыт без изменений,
- 6— документ редактируется, но текущее его состояние сохранено,
- 7— во время принудительного сохранения документа произошла ошибка.
{ "key": "xuh3fl94nxae", "status": 2, "url":"http://test.domain.ru/cache/files/data/xuh3fl94nxae_64/output.xlsx/output.xlsx?md5=jcMz8dRrKoDw1hDahtn3FER0PA&expires=1748360279&filename=output.xlsx", "changesurl":"http://test.domain.ru/cache/files/data/xuh3fl94nxae_64/changes.zip/changes.zip?md5=fH-jNBvjSSwoC12nB5G1Caw&expires=1748360279&filename=changes.zip", "history": { "serverVersion": "2024.3.2", "changes": [ { "created": "2025-05-27 14:23:27", "user": { "id": "uid-1738241834863", "name": "Guest (Гость)" } } ] }, "users": [ "uid-1738241834863" ], "actions": [ { "type": 0, "userid": "uid-1738241834863" } ], "lastsave": "2025-05-27T14:23:27.000Z", "notmodified": true, "filetype": "xlsx" }
- Чтобы закончить редактирование, необходимо вызвать метод destroyEditor для закрытия нужного редактора:
documentEditor.destroyEditor(); spreadsheetEditor.destroyEditor(); presentationEditor.destroyEditor(); ...
- Откройте ваш html-файл в браузере.
Была ли полезна статья?