Часто задаваемые вопросы о Сервере документов:
Сохранение вопросов
Свернуть все
Как принудительно сохранить документ в хранилище при его редактировании?
Обычно окончательная версия документа компилируется после того, как все пользователи, редактирующие его, закроют документ и пройдет время задержки (около 10 секунд). Но это поведение можно переопределить. Для этого доступна опция ForceSave.
Есть несколько способов инициировать принудительное сохранение:
Отправка запроса в командный сервис документов с использованием значения forcesave для параметра c:
{
"c": "forcesave",
"key": "Khirz6zTPdfd7",
"userdata": "sample userdata"
}
- Включение параметра editorConfig.customization.forcesave со значением true в настройке инициализации редактора:
var docEditor = new DocsAPI.DocEditor("placeholder", {
"editorConfig": {
"customization": {
"forcesave": false,
...
},
...
},
...
});
- Включение повторяющегося запуска forcesave в файле конфигурации Сервера документов default.json:
{
"services": {
"CoAuthoring": {
"autoAssembly": {
"enable": true,
"interval": "5m"
}
}
}
}
В зависимости от того, какой тип принудительного сохранения вам нужен, вы можете выбрать правильную реализацию. Подробнее об этом можно узнать на этой странице
- Как сохранить созданный документ?
- См. раздел «Сохранение файла», чтобы узнать, как работает сохранение файла на Сервере документов и что необходимо для сохранения этого созданного документа.
- Как сохранить открытый документ в другой тип файла документа?
- Если открывается документ формата, отличного от OOXML (.txt или .ods), формат OOXML будет сохранен по умолчанию.
Чтобы сохранить открытый документ в формате, отличном от формата Office Open XML по умолчанию, необходимо отправить запрос POST в службу конвертации документов.
Подробно о том, как работает конвертация и зачем она нужна, можно узнать в этом разделе. Параметры POST-запроса и доступные ответы на него можно посмотреть здесь.
- Опция автосохранения включена по умолчанию. Чтобы ее отключить, нужно установить для параметра editorConfig.customization.autosave в конфигурации документа значение false:
var docEditor = new DocsAPI.DocEditor("placeholder", { "editorConfig": { "customization": { "autosave": false, ... }, ... }, ... });
Обратите внимание, что отключение автосохранения также отключит режим быстрого совместного редактирования, который работает только при включенном автоматическом сохранении документа.
Дополнительную информацию об автосохранении можно найти на этой странице.
- Обычно документ физически не сохраняется на жесткий диск компьютера в скомпилированном виде при его редактировании. Когда редактирование завершено и все пользователи, работающие с документом, закрывают его, файл преобразуется в формат Office Open XML и сохраняется на диск.
После этого служба редактирования документов информирует службу хранения документов о том, что файл готов и может быть загружен.
Время между окончанием редактирования и началом конвертации задается в конфигурационном файле default.json параметром services.CoAuthoring.server.savetimeoutdelay (5000 миллисекунд или 5 секунд по умолчанию) и может быть изменено:
{ "services": { "CoAuthoring": { "server": { "savetimeoutdelay": 5000 } } } }
Дополнительную информацию о задержке начала преобразования можно найти на этой странице.
- Чтобы сохранить удобочитаемость файла txt или csv, вам может потребоваться установить кодировку, в которой он был первоначально сохранен. Это может быть полезно, если в файле используются символы, отличные от основных латинских букв (умляуты типа ä, ö, ü, буквы с ударением, буквы кириллицы и т. д.).
Для этого в сервис конвертации документов отправляется POST-запрос с параметрами, указанными в теле запроса:
{ "codePage": 65001, "filetype": "txt", "key": "Khirz6zTPdfd7", "outputtype": "docx", "title": "Example Document Title.docx", "url": "https://example.com/url-to-example-document.txt" }
Дополнительную информацию об использовании кодовой страницы во время конвертации можно найти на этой странице.