Как разработчики встраивают просмотр PDF, Office и CAD в веб‑приложения .NET, React, Angular или Vue, повышая удобство и эффективность: пошаговое руководство
← Back to Blog6 min read

Как разработчики встраивают просмотр PDF, Office и CAD в веб‑приложения .NET, React, Angular или Vue, повышая удобство и эффективность: пошаговое руководство

Если вы пытаетесь превратить тяжёлое документами приложение .NET в то, что пользователи действительно любят, вам нужен просмотрщик, который умеет работать с PDF, файлами Word, таблицами Excel, презентациями PowerPoint и чертежами CAD — и всё это без необходимости скачивать настольное приложение или полагаться на внешние облачные сервисы. Именно здесь на помощь приходит Doconut. Это серверный просмотрщик документов, который передаёт отрисованные страницы в поддерживаемые веб‑браузеры и предоставляет нативные аннотации, полнотекстовый поиск (включая OCR) и контролируемую печать «из коробки». В этом руководстве мы пройдём весь процесс: от настройки движка конвертации Doconut в бэкенде ASP.NET Core до встраивания просмотрщика в фронтенды React, Angular и Vue. Готовы создать плавный и эффективный опыт работы с документами? Поехали.

Серверная обработка документов .NET, подключённая к просмотрщикам документов в приложениях React, Angular и Vue
Серверная обработка документов .NET, подключённая к просмотрщикам документов в приложениях React, Angular и Vue

1. Почему отдельный просмотрщик важен для корпоративных веб‑приложений

Скрытые издержки «скачать‑и‑открыть»

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

  • Потеря контекста — пользователи покидают портал, открывают документ в отдельном окне и потом должны помнить, где они были.
  • Несогласованное отображение — локально установленные просмотрщики Word, Excel и CAD могут интерпретировать файлы по‑разному, вызывая сбои в разметке, которые могут повлиять на юридические или инженерные решения.
  • Риск безопасности — файлы покидают корпоративный периметр, что делает аудит и политики предотвращения потери данных настоящим кошмаром.
  • Низкая продуктивность — рецензенты вынуждены использовать несколько инструментов для аннотаций, поиска или печати, замедляя процесс утверждения.

Что действительно нужно разработчикам

Современное решение должно:

  1. Отрисовывать каждый поддерживаемый формат в браузере (PDF, DOCX, XLSX, PPTX, DWG, DXF, …).
  2. Предоставлять чистый API для .NET‑бэкендов и фронтендов на React, Angular или Vue.
  3. Включать аннотации, полнотекстовый поиск (с OCR) и контролируемую печать без необходимости подключать дополнительные библиотеки.
  4. Масштабироваться безопасно — обрабатывать документы на сервере, передавать их в виде тайлов‑изображений и никогда не раскрывать сырые файлы клиенту.

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


2. Настройка Middleware Doconut для конвертации PDF в приложении ASP.NET Core

Первый шаг — зарегистрировать middleware Doconut, чтобы бэкенд мог обслуживать тайлы документов, миниатюры и данные аннотаций. Это делается в конвейере запросов ASP.NET Core и требует лишь нескольких регистраций сервисов для кэширования и контекста запросов.

Регистрация middleware

Добавьте необходимые сервисы (distributed memory cache и HTTP context accessor) в ConfigureServices. Затем в Configure сопоставьте endpoint Doconut (обычно DocImage.axd) с middleware Doconut. Параметры middleware позволяют принудительно включать безопасную отрисовку и скрывать внутреннюю диагностику от конечных пользователей.

Инициализация лицензии

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

Открытие документа и получение токена

Когда пользователь запрашивает документ, бэкенд открывает файл через API Doconut, передавая опциональные параметры, такие как защита паролем, разрешение изображения и тайм‑аут. Doconut возвращает короткий токен (обычно GUID), который однозначно представляет открытый документ. Фронтенд включает этот токен в каждый запрос тайла, например /DocImage.axd?token=abcd1234&page=1&zoom=100.


3. Предоставление безопасного API потоковой передачи документов для JavaScript‑фреймворков

Хотя Doconut уже предлагает низкоуровневый обработчик тайлов через middleware, большинство команд предпочитают лёгкий контроллер‑обёртку, который добавляет аутентификацию, логирование и опциональное водяное знакирование.

Типичные обязанности контроллера

  • Endpoint открытия — принимает идентификатор документа, определяет физический путь к файлу, вызывает Doconut для открытия документа и возвращает сгенерированный токен.
  • Endpoint миниатюры — возвращает небольшое PNG‑изображение для заданной страницы, полезное для навигационных полос. Контроллер может просто перенаправить запрос к обработчику тайлов Doconut с соответствующей строкой запроса.

Соображения безопасности

Храните токен в сессии пользователя или внедряйте его в короткоживущий JWT‑запрос. Поскольку токен сам по себе не может получить оригинальный файл без серверного кэша, документ остаётся защищённым. Один и тот же REST‑API поддерживает интеграцию с React, Angular и Vue, описанную в этом руководстве.


4. Встраивание просмотрщика в приложение React

Разработчики React могут создать функциональный компонент, который:

  1. Вызывает endpoint /open для получения токена запрашиваемого документа.
  2. Формирует массив URL‑ов изображений, указывающих на обработчик тайлов Doconut для каждой страницы (можно начать с первых десяти страниц и подгружать остальные по требованию).
  3. Отображает страницы как элементы <img>, обрабатывая события прокрутки или масштабирования путём обновления параметров URL.

Взаимодействие с JavaScript‑точками интеграции Doconut

Doconut внедряет лёгкий JavaScript‑помощник в страницу. Через этот помощник можно выполнять команды, такие как:

  • Выделить термин — запросить полнотекстовый поиск по документу и подсветить найденные слова.
  • Добавить аннотацию — разместить стикер, печать или рисунок на конкретной странице, отправив JSON‑payload, содержащий номер страницы, тип аннотации, координаты и любые дополнительные данные.

Поскольку тяжёлая отрисовка остаётся на сервере, размер сборки React остаётся небольшим, а интерфейс — отзывчивым.


5. Встраивание просмотрщика в Angular и Vue — паттерны переиспользуемых компонентов

Angular

Создайте Angular‑service, который отражает небольшой .NET‑API (открыть документ, получить миниатюру). Сервис использует HttpClient для вызова бэкенд‑endpoint‑ов и возвращает токен как observable.

Затем построьте компонент, который при инициализации запрашивает токен, формирует URL‑ы страниц и отображает их с помощью *ngFor. Компонент может предоставлять кнопки, вызывающие JavaScript‑помощник Doconut для аннотаций и поиска, аналогично примеру для React.

Vue

Во Vue определите компонент, который в хуке created запрашивает токен через fetch или axios. Сохраните токен и сформированные URL‑ы страниц в объекте data компонента. Отображайте страницы с помощью цикла v-for. Реактивность Vue упрощает обновление представления при прокрутке, масштабировании или запуске действия аннотации через JavaScript‑помощник Doconut.

Все три фреймворка используют один и тот же бэкенд‑контракт, поэтому один ASP.NET Core контроллер можно переиспользовать без изменений.


Заключение

Встраивание полнофункционального просмотрщика документов больше не требует мозаики сторонних плагинов или дорогостоящих облачных сервисов. С Doconut разработчики получают единую серверную библиотеку, которая отрисовывает PDF, Office и CAD‑файлы, предоставляет аннотации, поиск с поддержкой OCR и контролируемую печать — всё при сохранении безопасности и масштабируемости документов.

Готовы поднять работу с документами в вашем приложении .NET, React, Angular или Vue на новый уровень? Попробуйте Doconut уже сегодня и убедитесь, как быстро можно выпустить polished, enterprise‑grade просмотрщик, который полюбят ваши пользователи.

#.NET#React#Angular#Vue#Document Viewer#Просмотр документов