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

Почему облачно‑нативный просмотр документов важен для современных .NET‑приложений
Кроссплатформенная согласованность с единой .NET‑ядром
Предприятия отказываются от настольных инструментов и переходят к веб‑ориентированным решениям, работающим на Windows. Серверный движок рендеринга Doconut работает на .NET 6 и новее, обеспечивая одинаковый пиксель‑точный вывод независимо от ОС. Поскольку просмотрщик работает со потоками, вы можете получить файл из любого облачного бакета, передать его напрямую компоненту Doconut и вернуть отрендеренные страницы или миниатюры клиенту без записи файла на диск.
Снижение задержек и трафика
Когда документ хранится в Azure Blob Storage, загрузка всего файла на клиент только для просмотра первой страницы создает лишнюю задержку. Doconut поддерживает генерацию миниатюр по запросу, позволяя сначала запросить предварительный просмотр низкого разрешения, а полное рендеринг‑изображение получать только при прокрутке пользователем. Такой подход особенно ценен для крупных чертежей CAD (DWG, DXF), которые могут занимать сотни мегабайт.
Обработка с приоритетом безопасности
Все тяжёлые операции остаются на сервере. Используя возможности server‑side processing Doconut, вы храните конфиденциальные PDF, юридические контракты или медицинские записи внутри вашего приватного VNet или за корпоративным файрволом. Ни один сторонний SaaS не вызывается, и просмотрщик никогда не передаёт необработанные байты в браузер — только тайлы изображений или HTML‑фрагменты, генерируемые на сервере.
Подключение Doconut к популярным облачным хранилищам
Общий подход к интеграции
- Получить поток документа — используйте SDK выбранного облачного провайдера (Azure Blob, Amazon S3, Google Cloud Storage) для загрузки файла в объект
Stream. - Передать поток в Doconut — просмотрщик Doconut принимает поток вместе с опциональными параметрами рендеринга. Это устраняет необходимость во временных файлах на веб‑сервере.
- Сгенерировать токен просмотрщика — Doconut возвращает токен, уникально идентифицирующий открытый документ для текущей сессии. Токен можно вернуть фронтенду как JSON и использовать для последующих запросов рендеринга страниц или аннотаций.
- Рендерить страницы по запросу — фронтенд вызывает эндпоинт 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 обычно генерируется краткоживущий токен, кодирующий ID документа, права пользователя и метку времени. Строка токена, возвращаемая вызовом OpenDocument, может быть упакована в 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‑систему для отчётности — критически важно для юридических и медицинских решений, где каждый доступ к документу должен быть прослеживаемым.
Лучшие практики масштабирования и производительности в кроссплатформенных средах
- Использовать распределённое кэширование — внутренний кэш тайлов страниц Doconut может быть основан на Redis, Azure Cache или любой реализации
IDistributedCache. Включайте хеш версии документа в ключ кэша, чтобы избежать выдачи устаревших изображений после конвертации. - Запускать фоновые задачи для массовой конвертации — при загрузке большого архива ставьте задачи в очередь с Hangfire или Azure Functions. Класс просмотрщика Doconut работает с
IHostedService‑воркерами, поскольку принимает потоки и возвращает токены без необходимости HTTP‑контекста. - Настраивать разрешение изображений под устройство — мобильным устройствам подходит более низкое
ImageResolution(150‑200 DPI), а настольным рабочим станциям — 300 DPI для детализации CAD. Регулируйте разрешение в зависимости от строки user‑agent или клиентской настройки. - Включать ленивую загрузку аннотаций — храните XML аннотаций в отдельной таблице и загружайте его только при открытии панели аннотаций. Это уменьшает первоначальную нагрузку и ускоряет рендеринг первой страницы.
- Контролировать потребление памяти — рендеринг страниц CAD высокого разрешения может быть ресурсоёмким. Настройте .NET GC в режим server в продакшене (
<gcServer enabled="true"/>) и задайте разумный таймаут, чтобы предотвратить «зависание» длительных задач рендеринга. - Подключить CDN для статических ресурсов — JavaScript и CSS‑пакеты просмотрщика являются статическими. Раздавайте их через Azure CDN, CloudFront или Cloudflare, чтобы сократить миллисекунды от начальной загрузки, особенно для глобально распределённых команд.
Следуя этим рекомендациям, вы сможете обслуживать тысячи одновременных пользователей по всему миру, удерживая задержку первой страницы ниже 200 мс — показатель, к которому стремятся многие корпоративные порталы.
Быстрый старт с бесплатной пробной версией Doconut
Самый быстрый способ оценить Doconut — скачать бесплатную пробную версию с официального сайта, добавить NuGet‑пакет в новый проект ASP.NET Core и следовать руководству по быстрому старту. Уже через несколько минут у вас будет рабочий просмотрщик, способный получать документы из Azure Blob, включать аннотации, выполнять поиск на основе OCR и выполнять безопасную серверную конвертацию. Подробные пошаговые инструкции доступны в документации Doconut — начните строить облачно‑нативный опыт работы с документами уже сегодня.
Готовы трансформировать свои документообороты? Зарегистрируйтесь на бесплатный пробный период Doconut сейчас и убедитесь, насколько просто доставлять безопасные, поисковые и совместные документные решения в любом .NET‑приложении.