Интеграция SDK просмотрщика документов с облачным хранилищем и платформами совместной работы
← Back to Blog7 min read

Интеграция SDK просмотрщика документов с облачным хранилищем и платформами совместной работы

Интеграция SDK просмотрщика документов с облачным хранилищем и платформами совместной работы
Интеграция SDK просмотрщика документов с облачным хранилищем и платформами совместной работы
Интеграция SDK просмотрщика документов с облачным хранилищем и платформами совместной работы позволяет предоставлять бесшовный, безопасный и поисковый опыт работы с документами непосредственно из вашего .NET‑приложения. С Doconut — универсальным просмотрщиком документов для .NET‑бэкендов — вы можете нативно отображать PDF, файлы Office, чертежи CAD и изображения, добавлять поиск на основе OCR, включать аннотирование в реальном времени и управлять печатью, при этом данные остаются в выбранном облаке или в локальном окружении. Это руководство показывает старшим разработчикам и архитекторам программного обеспечения, как подключить Doconut к Azure Blob, Amazon S3 или Google Cloud Storage и как открыть просмотрщик через совместные порталы, такие как Microsoft Teams, SharePoint или кастомные рабочие пространства на React.


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

Кроссплатформенная согласованность с единой .NET‑ядром

Предприятия отказываются от настольных инструментов для работы с документами в пользу веб‑ориентированных решений, работающих на Windows. Серверный движок рендеринга Doconut работает на .NET 6 и новее, гарантируя одинаковый пиксель‑точный вывод независимо от операционной системы. Поскольку просмотрщик работает с потоками, вы можете получить файл из любого облачного бакета, передать его напрямую компоненту Doconut и вернуть отрендеренные страницы или миниатюры клиенту без записи файла на диск.

Снижение задержек и трафика

Если документ хранится в Azure Blob Storage, загрузка полного файла на клиент только для просмотра первой страницы создаёт лишние задержки. Doconut поддерживает генерацию миниатюр по запросу, позволяя сначала запросить низкокачественный предварительный просмотр и получать полноразмерный рендер только при прокрутке пользователем. Такой подход особенно ценен для больших чертежей CAD (DWG, DXF), размером в сотни мегабайт.

Обработка с приоритетом безопасности

Вся тяжёлая работа остаётся на сервере. Используя возможности server‑side processing Doconut, вы храните конфиденциальные PDF, юридические контракты или медицинские записи внутри вашего приватного VNet или за корпоративным файрволом. Ни один сторонний SaaS не вызывается, и просмотрщик никогда не передаёт необработанные байты в браузер — только тайлы изображений или HTML‑фрагменты, генерируемые на сервере.


Подключение Doconut к популярным облачным хранилищам

Общий подход к интеграции

  1. Получить поток документа — используйте SDK выбранного облачного провайдера (Azure Blob, Amazon S3, Google Cloud Storage), чтобы загрузить файл в объект Stream.
  2. Передать поток в Doconut — просмотрщик Doconut принимает поток вместе с опциональными параметрами рендеринга. Это устраняет необходимость во временных файлах на веб‑сервере.
  3. Сгенерировать токен просмотрщика — Doconut возвращает токен, уникально идентифицирующий открытый документ для текущей сессии. Токен можно вернуть фронтенду в виде JSON и использовать для последующих запросов рендеринга страниц или аннотаций.
  4. Рендерить страницы по запросу — фронтенд вызывает эндпоинт Doconut с токеном и номером нужной страницы; Doconut отсылает обратно изображение или HTML‑фрагмент.

Поскольку рабочий процесс опирается только на потоки, замена кода Azure на Amazon S3 или Google Cloud Storage требует лишь изменения вызова облачного SDK, создающего поток; остальная часть конвейера Doconut остаётся неизменной.

Работа с многопользовательским хранилищем

В SaaS‑системе управления документами каждый клиент может иметь отдельный бакет или префикс. Поскольку Doconut работает с потоками, вы можете определить нужный бакет во время выполнения, открыть документ и привязать токен к текущим пользовательским правам. Внутреннее кэширование Doconut (IDistributedCache) можно настроить на использование Redis или Azure Cache for Redis, обеспечивая, что повторные запросы одной и той же страницы обслуживаются из памяти, а не пере‑рендерятся.


Включение аннотирования в реальном времени и OCR в совместных рабочих процессах

Плагин аннотаций: превращаем статический просмотрщик в центр рецензирования

Doconut поставляется с Annotation Plugin, позволяющим пользователям выделять текст, добавлять стикеры или рисовать свободные формы. После открытия документа вы получаете менеджер аннотаций из просмотрщика, добавляете или изменяете объекты аннотаций и сохраняете состояние аннотаций в виде XML. Хранение XML рядом с записью документа обеспечивает версионную историю рецензий, а загрузка XML при последующих открытиях восстанавливает точный визуальный статус.

Поиск по OCR для отсканированных PDF

Отсканированные контракты, чеки или медицинские изображения часто приходят в виде PDF‑файлов, содержащих только изображения. Search Plugin Doconut автоматически запускает OCR на сервере, когда вы включаете его в конфигурации просмотрщика. OCR‑движок работает внутри серверного стека, поэтому извлечённый текст никогда не покидает защищённую среду. После завершения OCR вы можете вызвать API поиска, чтобы получить номера страниц и координаты совпадений, которые UI может подсветить. Поскольку OCR выполняется на сервере, вы также можете индексировать извлечённый текст в Azure Cognitive Search, Elasticsearch или любой другой поисковой системе для мгновенного полнотекстового поиска по всему репозиторию.

Совместная работа через общие токены

В интеграциях с Teams или SharePoint обычно генерируется краткоживущий токен, кодирующий идентификатор документа, права пользователя и метку времени. Строка токена, возвращаемая методом OpenDocument Doconut, может быть упакована в JWT или сохранена в кэше. Когда другой пользователь переходит по общей ссылке, тот же токен используется для восстановления просмотрщика, сохраняя аннотации и слои OCR для всех участников.


Безопасное серверное преобразование и контролируемая печать с Doconut

Многие организации нуждаются в конвертации входящих файлов Word, Excel или CAD в PDF для архивирования или для реализации политики «печать только после одобрения». Converter Plugin Doconut решает эти задачи без необходимости установки Microsoft Office или сторонних сервисов. Вы вызываете API конвертации на сервере, передавая путь к исходному файлу (или поток) и требуемый формат вывода. Преобразование полностью происходит на бэкенде, создавая PDF, который можно сохранить в репозитории документов.

После создания PDF вы можете включить Controlled Printing непосредственно в UI просмотрщика. Doconut предоставляет метод для установки прав печати для конкретного токена документа. При нажатии пользователем кнопки печати Doconut проверяет флаг и либо отсылает поток печатаемого изображения, либо возвращает дружелюбное сообщение «печать отключена». Такой подход устраняет необходимость писать кастомный JavaScript для блокировки диалогового окна печати браузера.

Аудит активности печати

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


Лучшие практики масштабирования и производительности в кроссплатформенных средах

  1. Используйте распределённое кэширование — внутренний кэш тайлов страниц Doconut может быть основан на Redis, Azure Cache или любой реализации IDistributedCache. Включайте хеш версии документа в ключи кэша, чтобы избежать выдачи устаревших изображений после конвертации.
  2. Запускайте фоновые задачи для массовой конвертации — при загрузке большого архива ставьте задачи в очередь с помощью Hangfire или Azure Functions. Класс просмотрщика Doconut работает с IHostedService‑воркерами, поскольку принимает потоки и возвращает токены без необходимости HTTP‑контекста.
  3. Настраивайте разрешение изображений под устройство — мобильным устройствам подходит более низкое ImageResolution (150‑200 DPI), тогда как настольные станции могут запросить 300 DPI для детализации CAD. Регулируйте разрешение в зависимости от строки user‑agent или клиентской настройки.
  4. Включайте ленивую загрузку аннотаций — храните XML аннотаций в отдельной таблице и загружайте его только при открытии панели аннотаций. Это уменьшает первоначальную нагрузку и ускоряет рендеринг первой страницы.
  5. Следите за потреблением памяти — рендеринг страниц CAD высокого разрешения требует значительных ресурсов. В продакшене включите серверный режим GC в .NET (<gcServer enabled="true"/>) и задайте разумный таймаут, чтобы предотвратить «зависание» длительных задач рендеринга.
  6. Подключите CDN для статических ресурсов — JavaScript и CSS‑пакеты просмотрщика являются статическими. Раздавайте их через Azure CDN, CloudFront или Cloudflare, чтобы сократить миллисекунды от начальной загрузки, особенно для глобально распределённых команд.

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


Быстрый старт с бесплатной пробной версией Doconut

Самый быстрый способ оценить Doconut — скачать бесплатную пробную версию с официального сайта, добавить NuGet‑пакет в новый проект ASP.NET Core и следовать руководству по быстрому старту. Через несколько минут у вас будет рабочий просмотрщик, способный получать документы из Azure Blob, включать аннотирование, выполнять поиск на основе OCR и выполнять безопасную серверную конвертацию. Подробные пошаговые инструкции доступны в документации Doconut — начинайте строить облачно‑нативный опыт работы с документами уже сегодня.

Готовы трансформировать свои документообороты? Зарегистрируйтесь на бесплатную пробную версию Doconut сейчас и убедитесь, насколько просто предоставлять безопасный, поисковый и совместный опыт работы с документами в любом .NET‑приложении.

#document viewer#.NET#cloud integration#collaboration#OCR#просмотрщик документов#облачная интеграция#сотрудничество