Как разработчики встраивают просмотр 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. Готовы выпустить плавный и эффективный документный опыт? Погружаемся.

Server-side .NET document processing connected to document viewers in React, Angular, and Vue applications
Server-side .NET document processing connected to document viewers in React, Angular, and Vue applications

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

Добавьте необходимые сервисы (распределённый кэш в памяти и IHttpContextAccessor) в 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 остаётся небольшим, а UI — отзывчивым.


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 уже сегодня и убедитесь, как быстро можно выпустить полированный, корпоративного уровня просмотрщик, который полюбят ваши пользователи.

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