Серверный рендеринг документа
Определение
Преобразование документа в изображения страниц на сервере, так что браузер отображает отрендеренные страницы, а не парсит исходный файл.
Альтернатива — клиентский рендеринг — отправляет движок парсинга в браузер и передаёт ему файл. Это работает приемлемо для PDF и плохо для всего остального, потому что написание рендерера в браузере для DOCX, XLSX, DWG и MSG требует десятилетия работы, которую никто не хочет финансировать дважды.
Серверный рендеринг меняет свойства местами. Поддержка форматов становится проблемой серверной библиотеки, а не проблемой JavaScript‑пакета. Клиент остаётся лёгким независимо от сложности документа. И оригинальные байты никогда не попадают в браузер, что означает, что просмотр документа и его владение перестают быть одним и тем же действием.
Стоимость реальна и стоит упомянуть: рендеринг потребляет CPU и память на ваших серверах, а страницы должны передаваться по сети в виде изображений. На практике нагрузка определяется сложностью страниц, а не длиной документа, поскольку страницы рендерятся по запросу, а не все сразу.
В Doconut
Каждый формат проходит один и тот же путь. Viewer.OpenDocumentAsync() растеризует страницы на сервере и возвращает непрозрачный токен; затем JavaScript‑виджет запрашивает страницы по токену. Браузер никогда не получает исходный документ.
Связанные термины
SDK просмотрщика документов
Библиотека, которую вы встраиваете в своё приложение, чтобы оно могло отображать документы, в отличие от хостингового сервиса, куда вы загружаете документы. SDK работает внутри вашего процесса; сервис — внутри чужого.
Текстовый слой
Машинно‑читаемый текст, хранящийся внутри документа вместе с его визуальным отображением. Он делает возможным поиск и выделение текста, и именно этого не имеет сканированная страница.
Непрозрачный токен сеанса
Идентификатор, не несущий смысла для того, кто его держит — он ссылается на состояние на стороне сервера, а не описывает его, поэтому клиент не может его прочитать, изменить или угадать соседнее значение.