Содержание
Для взаимодействия с сервисом конвертации документов используются POST-запросы. Параметры запроса вводятся в формате JSON в теле запроса. Запросы отправляются на адрес https://documentserver/ConvertService.ashx, где documentserver — это имя сервера, на котором установлен Сервер документов Р7.
В Р7 Document Server до версии 4.2 использовался GET-запрос с параметрами в QueryString.
Параметры запроса и их описание
Параметр | Описание | Тип | Наличие |
async | Определяет тип запроса на конвертацю: асинхронный или нет. Поддерживаемые значения:
При использовании асинхронного типа запроса ответ формируется мгновенно. В этом случае для получения результата необходимо отправлять запросы без изменения параметров до завершения конвертации. Значение по умолчанию false. | логический | необязательно |
codePage | Определяет кодировку файла при конвертации из формата csv или txt. Основные поддерживаемые значения:
Вы можете найти все поддерживаемые значения в этом файле | целое число | необязательно |
delimiter | Определяет символы-разделители для разделения значений при преобразовании из формата csv. Поддерживаемые значения:
| целое число | необязательно |
documentLayout | Определяет макет документа, который задает параметры для печати форм в виде pdf-документов или изображений. | объект | необязательно |
documentLayout.drawPlaceHolders | Определяет, будут ли отображаться заполнители или нет. | логический | необязательно |
documentLayout.drawFormHighlight | Определяет, будут ли формы выделены или нет. | логический | необязательно |
documentLayout.isPrint | Определяет, включен или выключен режим печати. Этот параметр используется только для преобразования docx/docxf в pdf. Если этот параметр равен true, флаги drawPlaceHolders и drawFormHighlight используются, как описано выше. Если этот параметр равен false, флаг drawFormHighlight не работает, а параметр drawPlaceHolders позволяет сохранять формы в формате pdf. Значение по умолчанию false. | логический | необязательно |
documentRenderer | Определяет визуализатор документа при конвертации из pdf, xps, oxps. | объект | необязательно |
documentRenderer.textAssociation | Определяет режим визуализатора, который может принимать следующие значения:
Значение по умолчанию — plainLine | строковый | необязательно |
filetype* | Определяет тип файла документа, который необходимо конвертировать. | строковый | обязательно |
key | Определяет идентификатор документа, используемый для однозначной идентификации файла. | строковый | обязательно |
outputtype* | Определяет результирующий преобразованный тип документа. Начиная с версии 7.0 вместо расширений можно указывать форматы файлов. Они используются, когда мы заранее не знаем, какое расширение требуется:
| строковый | обязательно |
password | Определяет пароль для файла документа, если он защищен паролем. | строковый | необязательно |
region | Определяет формат отображения по умолчанию для валюты, даты и времени при преобразовании из формата электронной таблицы в pdf. Устанавливается с использованием четырехбуквенного кода языка (en-US, fr-FR и т. д.). Значение по умолчанию — en-US. | строковый | необязательно |
spreadsheetLayout | Определяет настройки для конвертации электронной таблицы в pdf. | объект | необязательно |
spreadsheetLayout.fitToHeight | Задает высоту преобразованной области, измеряемую в количестве страниц. Значение по умолчанию равно 0. | целое число | необязательно |
spreadsheetLayout.fitToWidth | Задает ширину преобразованной области, измеряемую в количестве страниц. Значение по умолчанию равно 0. | целое число | необязательно |
spreadsheetLayout.gridLines | Позволяет включать линии сетки в выходной PDF-файл или нет. Значение по умолчанию равно false. | логический | необязательно |
spreadsheetLayout.headings | Позволяет включать заголовки в выходной PDF-файл или нет. Значение по умолчанию равно false. | логический | необязательно |
spreadsheetLayout.ignorePrintArea | Определяет, следует ли игнорировать область печати, выбранную для файла электронной таблицы, или нет. Значение по умолчанию true. | логический | необязательно |
spreadsheetLayout.margins | Устанавливает поля выходного PDF-файла. | объект | необязательно |
spreadsheetLayout.margins.bottom | Устанавливает нижнее поле выходного PDF-файла. Значение по умолчанию — 19,1 мм. | строковый | необязательно |
spreadsheetLayout.margins.left | Устанавливает левое поле выходного PDF-файла. Значение по умолчанию — 17,8 мм. | строковый | необязательно |
spreadsheetLayout.margins.right | Устанавливает правое поле выходного PDF-файла. Значение по умолчанию — 17,8 мм. | строковый | необязательно |
spreadsheetLayout.margins.top | Устанавливает верхнее поле выходного PDF-файла. Значение по умолчанию — 19,1 мм. | строковый | необязательно |
spreadsheetLayout.orientation | Задает ориентацию выходного PDF-файла. Может быть горизонтальный, вертикальный. Значение по умолчанию — вертикальный. | строковый | необязательно |
spreadsheetLayout.pageSize | Устанавливает размер страницы выходного PDF-файла. | объект | необязательно |
spreadsheetLayout.pageSize.height | Устанавливает высоту страницы выходного PDF-файла. Значение по умолчанию — 297 мм. | строковый | необязательно |
spreadsheetLayout.pageSize.width | Устанавливает ширину страницы выходного PDF-файла. Значение по умолчанию — 210 мм. | строковый | необязательно |
spreadsheetLayout.scale | Позволяет установить масштаб выходного файла PDF. Значение по умолчанию — 100. | целое число | необязательно |
thumbnail | Определяет настройки миниатюры при указании форматов изображения (bmp, gif, jpg, png) в качестве outputtype. | объект | необязательно |
thumbnail.aspect | Определяет режим, чтобы подогнать изображение под заданные высоту и ширину. Поддерживаемые значения:
| целое число | необязательно |
thumbnail.first | Определяет, должны ли миниатюры создаваться только для первой страницы или для всех страниц документа. Если false, будет создан zip-архив, содержащий миниатюры всех страниц. Значение по умолчанию true, | логический | необязательно |
thumbnail.height | Определяет высоту миниатюры в пикселях. Значение по умолчанию — 100. | целое число | необязательно |
thumbnail.width | Определяет ширину миниатюры в пикселях. Значение по умолчанию — 100. | целое число | необязательно |
title | Определяет конвертируемое имя файла. | строковый | необязательно |
token | Определяет зашифрованную подпись, добавленную в конфигурацию сервера документов в виде токена. | строковый | требуется по конфигурации |
url | Определяет абсолютный URL-адрес документа, который необходимо преобразовать. Обязательно добавляйте токен при использовании локальных ссылок. В противном случае произойдет ошибка. | строковый | обязательно |
* — в таблицах ниже вы можете увидеть возможность конвертации ваших документов в наиболее известные форматы файлов, где столбец Input format соответствует значениям параметра filetype и параметра outputtype.
Форматы файлов текстовых документов
Формат ввода | Выходной формат | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
bmp | docm | docx | docxf | dotm | dotx | epub | fb2 | gif | html | jpg | odt | ott | pdfa | png | rtf | txt | ||
djvu | ||||||||||||||||||
doc | ||||||||||||||||||
docm | ||||||||||||||||||
docx | ||||||||||||||||||
docxf | ||||||||||||||||||
dot | ||||||||||||||||||
dotm | ||||||||||||||||||
dotx | ||||||||||||||||||
epub | ||||||||||||||||||
fb2 | ||||||||||||||||||
fodt | ||||||||||||||||||
htm | ||||||||||||||||||
html | ||||||||||||||||||
mht | ||||||||||||||||||
mhtml | ||||||||||||||||||
odt | ||||||||||||||||||
ott | ||||||||||||||||||
oxps | ||||||||||||||||||
rtf | ||||||||||||||||||
stw | ||||||||||||||||||
sxw | ||||||||||||||||||
txt | ||||||||||||||||||
wps | ||||||||||||||||||
wpt | ||||||||||||||||||
xml | ||||||||||||||||||
xps |
Форматы файлов электронных таблиц
Формат ввода | Выходной формат | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
bmp | csv | gif | jpg | ods | ots | pdfa | png | xlsm | xlsx | xltm | xltx | ||
csv | |||||||||||||
et | |||||||||||||
ett | |||||||||||||
fods | |||||||||||||
ods | |||||||||||||
ots | |||||||||||||
sxc | |||||||||||||
xls | |||||||||||||
xlsb | |||||||||||||
xlsm | |||||||||||||
xlsx | |||||||||||||
xlt | |||||||||||||
xltm | |||||||||||||
xltx | |||||||||||||
xml |
Форматы файлов презентаций
Формат ввода | Выходной формат | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
bmp | gif | jpg | odp | otp | pdfa | png | potm | potx | ppsm | ppsx | pptm | pptx | ||
dps | ||||||||||||||
dpt | ||||||||||||||
fodp | ||||||||||||||
odp | ||||||||||||||
otp | ||||||||||||||
pot | ||||||||||||||
potm | ||||||||||||||
potx | ||||||||||||||
pps | ||||||||||||||
ppsm | ||||||||||||||
ppsx | ||||||||||||||
ppt | ||||||||||||||
pptm | ||||||||||||||
pptx | ||||||||||||||
sxi |
{ "async": false, "filetype": "docx", "key": "Khirz6zTPdfd7", "outputtype": "pdf", "title": "Example Document Title.docx", "url": "https://example.com/url-to-example-document.docx" }
Где example.com — это имя сервера, на котором установлены менеджер документов и служба хранения документов. Дополнительные сведения о взаимодействии клиент-сервер службы Сервера документов см. в разделе как это работаетОбразец объекта JSON, отправленного в службу конвертации документов, которая используется для преобразования защищенного паролем файла из формата docx в формат pdf
{ "async": false, "filetype": "docx", "key": "Khirz6zTPdfd7", "outputtype": "pdf", "password": "123456", "title": "Example Document Title.docx", "url": "https://example.com/url-to-example-document.docx" }
Образец объекта JSON, отправленного в службу конвертации документов, используемого для создания миниатюры файла png в формате docx
{ "filetype": "docx", "key": "Khirz6zTPdfd7", "outputtype": "png", "thumbnail": { "aspect": 0, "first": true, "height": 150, "width": 100 }, "title": "Example Document Title.docx", "url": "https://example.com/url-to-example-document.docx" }
Образец объекта JSON, отправленного в службу конвертации документов, которая используется для преобразования файла электронной таблицы в формат pdf.
{ "filetype": "xlsx", "key": "Khirz6zTPdfd7", "outputtype": "pdf", "region": "en-US", "spreadsheetLayout": { "ignorePrintArea": true, "orientation": "portrait", "fitToWidth": 0, "fitToHeight": 0, "scale": 100, "headings": false, "gridLines": false, "pageSize": { "width": "210mm", "height": "297mm" }, "margins": { "left": "17.8mm", "right": "17.8mm", "top": "19.1mm", "bottom": "19.1mm" } }, "title": "Example Document Title.docx", "url": "https://example.com/url-to-example-spreadsheet.xlsx" }
Образец объекта JSON содержит веб-токен JSON, отправленный в службу конвертации документов, используемую для преобразования файла из формата docx в формат pdf.
{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmaWxldHlwZSI6ImRvY3giLCJrZXkiOiJLaGlyejZ6VFBkZmQ3Iiwib3V0cHV0dHlwZSI6InBkZiIsInRpdGxlIjoiRXhhbXBsZSBEb2N1bWVudCBUaXRsZS5kb2N4IiwidXJsIjoiaHR0cDovL2V4YW1wbGUuY29tL3VybC10by1leGFtcGxlLWRvY3VtZW50LmRvY3gifQ.U-YAfuuy7clWjn-xOncfJ-sxVG5DlcYn0AOzJYkoR0M" }
Где example.com — это имя сервера, на котором установлены менеджер документов и служба хранения документов. Дополнительные сведения о взаимодействии клиент-сервер службы Сервера документов см. в разделе как это работает
Параметры ответа и их описание
Результат запроса возвращается в формате XML. Для получения ответа в формате JSON необходимо указать заголовок Accept со значением application/json в HTTP-запросе (доступно с версии 4.3). При формировании ссылки на результирующий файл используется то же имя сервера, на которое был сделан запрос на конвертацию.
Параметры | Описание | Тип | Пример |
endConvert | Определяет, завершена конвертация или нет. | логический | true |
error | Определяет ошибку, возникшую во время конвертации. Возможные коды ошибок можно найти здесь. | целое число | -3 |
fileType | Определяет расширение конвертируемого файла. | строковый | «docm» |
fileUrl | Определяет ссылку на конвертируемый документ. Этот параметр будет получен только в том случае, если для параметра endConvert установлено значение true. | строковый | «https://documentserver/url-to-converted-document.pdf» |
percent | Определяет процент конвертирования файла. Если для параметра endConvert задано значение true, процент равен 100. | целое число | 100 |
<?xml version="1.0" encoding="utf-8"?> <FileResult> <EndConvert>True</EndConvert> <FileType>docm</FileType> <FileUrl>https://documentserver/url-to-converted-document.pdf</FileUrl> <Percent>100</Percent> </FileResult>
При формировании ссылки на результирующий файл используется то же имя сервера, на которое был сделан запрос на конвертацию.
{ "endConvert": true, "fileType": "docm", "fileUrl": "https://documentserver/url-to-converted-document.pdf", "percent": 100 }
<?xml version="1.0" encoding="utf-8"?> <FileResult> <EndConvert>False</EndConvert> <FileType></FileType> <FileUrl></FileUrl> <Percent>95</Percent> </FileResult>
{ "endConvert": false, "percent": 95 }
<?xml version="1.0" encoding="utf-8"?> <FileResult> <Error>-3</Error> </FileResult>
{ "error": -3 }
Код ошибки | Описание |
-1 | Неизвестная ошибка |
-2 | Ошибка тайм-аута конвертации. |
-3 | Ошибка преобразования. |
-4 | Ошибка при загрузке файла документа для конвертации. |
-5 | Неправильный пароль |
-6 | Ошибка при доступе к базе данных результатов конвертации. |
-7 | Ошибка ввода. |
-8 | Недействительный токен. |