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

Інтеграція SDK переглядача документів з хмарним сховищем та платформами співпраці

Інтеграція SDK переглядача документів з хмарним сховищем та платформами співпраці
Інтеграція SDK переглядача документів з хмарним сховищем та платформами співпраці
Інтеграція SDK переглядача документів з хмарним сховищем та платформами співпраці дозволяє надавати безшовні, безпечні та пошукові документи безпосередньо з вашого .NET застосунку. За допомогою Doconut — універсального переглядача документів для .NET бек‑ендiв — ви можете рендерити 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), які можуть важити сотні мегабайт.

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

Уся важка обробка залишається на сервері. Використовуючи можливості обробки на боці сервера Doconut, ви зберігаєте конфіденційні PDF, юридичні контракти чи медичні записи у вашій приватній VNet або за корпоративним фаєрволом. Жоден сторонній SaaS не викликається, і переглядач ніколи не передає сирі байти до браузерного рушія — лише плитки зображень або HTML‑фрагменти, які ви генеруєте у бек‑ендi.

Підключення Doconut до популярних хмарних сховищ

Загальний підхід до інтеграції

  1. Отримати потік документа – Використайте SDK вашого обраного хмарного провайдера (Azure Blob, Amazon S3, Google Cloud Storage), щоб завантажити файл у об’єкт Stream.
  2. Передати потік Doconut – Переглядач Doconut приймає потік разом з необов’язковими параметрами рендерингу. Це усуває потребу у тимчасових файлах на веб‑сервері.
  3. Згенерувати токен переглядача – Doconut повертає токен, який унікально ідентифікує відкритий документ для поточної сесії. Токен можна повернути фронтенду у вигляді JSON і використовувати для подальших запитів рендерингу сторінок або анотацій.
  4. Рендерити сторінки за запитом – Фронтенд викликає endpoint Doconut з токеном та потрібним номером сторінки; Doconut повертає потік зображення або HTML‑фрагмента.

Оскільки робочий процес базується лише на потоках, заміна коду Azure на Amazon S3 або Google Cloud Storage вимагає лише зміни виклику cloud‑SDK, який створює потік; решта конвеєра Doconut залишається ідентичною.

Обробка багатокористувацького сховища

У SaaS DMS кожен орендар може мати окремий бакет або префікс. Оскільки Doconut працює зі потоками, ви можете визначити правильний бакет під час виконання, відкрити документ і зберегти токен у межах прав поточного користувача. Внутрішнє кешування Doconut (IDistributedCache) можна налаштувати на використання Redis або Azure Cache for Redis, забезпечуючи, що повторні запити до тієї ж сторінки обслуговуються з пам’яті, а не повторно рендеряться.

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

Плагін анотацій: перетворення статичного переглядача у центр огляду

Doconut постачається з плагіном анотацій, який дозволяє користувачам підсвічувати текст, додавати нотатки‑стикери або малювати вільні форми. Після відкриття документа ви отримуєте менеджер анотацій від переглядача, додаєте або змінюєте об’єкти анотацій і збергаєте стан анотацій у вигляді XML. Зберігання XML разом із записом документа забезпечує версіоновану історію оглядів, а завантаження XML при наступних відкриттях відновлює точний візуальний стан.

Пошук на основі OCR для сканованих PDF

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

Співпраця через спільні токени

У інтеграціях з Teams або SharePoint зазвичай генерується короткоживучий токен, який кодує ідентифікатор документа, дозволи користувача та мітку часу. Рядок токену Doconut, повернутий викликом OpenDocument, можна обгорнути в JWT або зберегти в кеші. Коли інший користувач натискає спільне посилання, той самий токен використовується для повторного ініціалізування переглядача, зберігаючи анотації та OCR‑шари для всіх учасників.

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

Багато компаній потребують конвертування вхідних файлів Word, Excel або CAD у PDF для архівування або для впровадження політики «друкувати лише після схвалення». Плагін конвертера Doconut обробляє ці сценарії без потреби у Microsoft Office чи сторонніх сервісах. Ви викликаєте API конвертації на сервері, передаючи шлях до вихідного файлу (або потік) та бажаний формат виводу. Конвертація виконується повністю на бек‑енді, створюючи PDF, який можна зберегти у вашому репозиторії документів.

Після створення PDF ви можете увімкнути контрольоване друкування безпосередньо в інтерфейсі переглядача. 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‑сторінок може бути інтенсивним щодо пам’яті. Налаштуйте .NET GC на використання серверного режиму у продакшн (<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#переглядач документів#хмарна інтеграція#співпраця