Word

Документы Word без Word на сервере

Interop Office на веб‑сервере — решение, о котором команды жалеют с предсказуемой скоростью: требуется лицензия на рабочий стол, возникают утечки процессов, при высокой нагрузке происходят взаимные блокировки, и Microsoft уже много лет советует этого не делать. Doconut нативно рендерит DOC, DOCX, RTF и ODT — без Office, без COM, без оставшихся в 4 утра процессов WINWORD.EXE.

10
Поддерживаются расширения семейства Word
0
Требуются лицензии Office
0
COM‑автоматизация на вашем сервере

Проблема

Почему interop заканчивается плохо

Автоматизация Office была разработана для настольного компьютера с вошедшим пользователем, а не для службы, обрабатывающей двадцать одновременных запросов. При нагрузке происходят взаимные блокировки, появляются диалоговые окна, которые никто не может закрыть, и процессы продолжают работать после завершения запросов, пока сервер не исчерпает память.

Ситуация с лицензированием не лучше: сервер, рендерящий документы для многих пользователей, требует лицензий на рабочий стол, чего изначально не предполагалось.

Нативный рендеринг обходится без всего этого. Doconut открывает файл, формирует макет и создает постраничные изображения в процессе. Нет второй программы, которую нужно устанавливать, контролировать или лицензировать.

Возможности

Что сохраняется после рендеринга

Точность макета

Постраничность, колонтитулы, колонки, таблицы и встроенные изображения размещаются так же, как в Word, потому что результат — изображение страницы, а не приближение в HTML.

Всё семейство Word

.doc, .docx, .docm, .dot, .dotx, .dotm, .rtf, .odt, .ott и .xml открываются одним и тем же вызовом.

Шрифты под вашим контролем

Рендеринг использует шрифты, установленные на вашем сервере, поэтому внешний вид документа зависит от вашей среды, а не от машины, на которой находится читатель.

Скрытый контент остаётся скрытым

Изображение страницы не содержит отслеживаемых изменений, удалённого текста, комментариев или метаданных автора. Отправка изображений вместо DOCX существенно уменьшает утечки информации.

Поиск по текстовому слою

С плагином AdvancedSearch поиск осуществляется по тексту документа, а не по его изображению.

Конвертировать по необходимости

С плагином Converter метод DocumentConverter.ConvertAsync() создает PDF или другие форматы в том же процессе — полезно, когда требуется архивировать, а не только просматривать.

Интеграция

Открытие DOCX

Обратите внимание, что .xml обрабатывается рендерером Word и WordConfig. Это не универсальный просмотрщик XML — он нужен, потому что собственный XML-формат Word попадает в этот конвейер.

Поддерживаемые расширения

.doc.docx.docm.dot.dotx.dotm.rtf.odt.ott.xml
csharp
// Identical to every other format — the family is detected from the document
string token = await viewer.OpenDocumentAsync("wwwroot/files/Agreement.docx");

// With the Converter plugin, when the requirement is a PDF for the archive
await DocumentConverter.ConvertAsync(
    "wwwroot/files/Agreement.docx",
    "wwwroot/archive/Agreement.pdf");

Подробности

Особенности Word

  • Установка Microsoft Office и COM‑interop не требуются ни на каком этапе.
  • Установите шрифты, на которые ссылаются ваши документы, на хосте рендеринга; заменяемые шрифты обычно вызывают неожиданное переполнение.
  • Конвертация в PDF и другие форматы требует плагин Converter.

Часто задаваемые вопросы

Нужен ли мне Microsoft Office на сервере?

Нет. Рендеринг нативный. Нет установки Office, нет сборки interop и нет процесса автоматизации, который нужно контролировать.

Будет ли макет соответствовать тому, что показывает Word?

Постраничность и макет воспроизводятся на сервере, поэтому результат близко соответствует оригиналу, при условии, что шрифты, на которые ссылается документ, установлены на хосте рендеринга. Отсутствующие шрифты заменяются, и замена изменяет макет.

Отображаются ли отслеживаемые изменения и комментарии?

Отрендеренная страница показывает документ в виде макета, без метаданных ревизий. Если что, это преимущество — рецензенты часто пересылают файлы DOCX с удалённым текстом, который, как они полагали, исчез.

Попробуйте с вашими собственными документами

Временная лицензия запрашивается за несколько минут и полностью работает на вашем компьютере. Важные файлы — это те, которые уже вызывают сбои в вашем текущем просмотрщике.