У вас будет самостоятельный, молниеносный просмотрщик документов, работающий внутри вашего .NET‑приложения
К концу этого руководства вы сможете открывать PDF, файлы Office, чертежи CAD и десятки других форматов прямо в браузере, с загрузкой менее секунды, без внешних вызовов облачных сервисов и с полным контролем над безопасностью.
Требования
| Что нужно | Почему это важно |
|---|---|
| .NET 6 или новее (комплект разработки нацелен на .NET 6+) | Гарантирует совместимость с комплектом разработки Онлайн Просмотрщик Документов |
| Сервер Windows или Linux, где можно запустить приложение (на месте или в частном облаке) | Саморазмещение требует, чтобы просмотрщик работал внутри вашей инфраструктуры |
| Доступ к ленте NuGet Онлайн Просмотрщик Документов (https://doconut.com) | Комплект разработки распространяется как пакет NuGet |
| Базовые знания ASP.NET Core и клиентской части JavaScript | Вы будете предоставлять конечную точку, возвращающую подписанный адрес и затем запускать просмотрщик из браузера |
| Место хранения для исходных файлов (файловая система, blob‑хранилище и т.д.) | Просмотрщик рендерит файлы из локального или сетевого пути; источник должен быть доступен процессу сервера |
Отсутствие любого из этих пунктов приведёт к тому, что сборка остановится до выполнения первой строки кода.
Установите комплект разработки Онлайн Просмотрщик Документов
Откройте решение в Visual Studio или в предпочитаемой IDE и добавьте официальный комплект разработки через менеджер NuGet:
dotnet add package Doconut.NET8
Пакет содержит движок рендеринга, конвертеры форматов и тонкий HTTP‑слой, который обслуживает сгенерированные страницы. Поскольку комплект разработки компилируется в ваше приложение, во время выполнения никаких внешних сервисов не вызывается.
После восстановления пакета зарегистрируйте сервисы комплекта разработки в Program.cs (или Startup.cs для старых шаблонов). Регистрация внедряет конвейер рендеринга в контейнер DI ASP.NET Core, делая его доступным вашим контроллерам.
Настройте конвейер рендеринга для требуемых форматов
Просмотрщик поддерживает более 50 форматов «из коробки», включая:
- PDF, DOC, DOCX, ODT, RTF
- XLS, XLSX, CSV, ODS
- PPT, PPTX, ODP
- DWG, DXF, DGN (CAD)
- PSD, SVG, TIFF, WEBP, ICO
- EML, MSG, EPUB, MOBI, MPP, VSD
Когда приходит запрос, комплект разработки определяет тип файла и выбирает соответствующий конвертер. Для лучшей производительности включите встроенный слой кэширования, который хранит отрендеренную страницу в памяти на время запроса; именно это обеспечивает «Молниеносный – мгновенный рендеринг документов с оптимизированной производительностью и загрузкой менее секунды».
В вашем контроллере вызовите метод рендеринга комплекта разработки (например, RenderAsync) и передайте абсолютный путь к исходному файлу. Метод возвращает HTML‑фрагмент, содержащий просмотрщик на основе canvas. Поскольку рендеринг происходит на сервере, клиент получает готовую к отображению разметку, что устраняет тяжёлую обработку на стороне клиента.
Защитите просмотрщик с помощью адресов на основе токенов и дополнительных ограничений
Суверенитет данных и соответствие GDPR — распространённые вопросы для развертываний на месте. Комплект разработки интегрируется с системой аутентификации ASP.NET Core, позволяя генерировать подписанный токен, предоставляющий одноразовый доступ к конкретному документу.
Типовой процесс:
- Клиентская часть запрашивает у вашего API токен предварительного просмотра, передавая идентификатор документа.
- Ваш API проверяет права пользователя, создаёт токен в формате JSON Web Token, который кодирует путь к файлу и метку времени истечения, и возвращает токен.
- Клиентская часть добавляет токен к адресу просмотрщика (например,
/viewer?token=…). Комплект разработки проверяет токен при каждом запросе и отклоняет любые поддельные или просроченные токены.
Если необходимо запретить пользователям скачивание или печать документа, настройте параметры рендеринга, предоставляемые комплектом разработки, чтобы отключить эти действия. JavaScript‑слой просмотрщика тогда скроет кнопку «Скачать», подавит сочетание клавиш печати и заблокирует контекстное меню правой кнопкой мыши.
Проверьте, что всё работает
- Перейдите на страницу, где размещён просмотрщик.
- Документ должен появиться менее чем за секунду, с полосами прокрутки, элементами управления масштабом и полем поиска.
- Если вы отключили скачивание, кнопка «Скачать» должна быть скрыта.
- Правый клик по документу не должен открывать контекстное меню браузера, когда включено соответствующее ограничение.
- После истечения срока действия токена (по умолчанию 5 минут) обновление страницы должно вернуть ошибку «401 Неавторизовано», подтверждая, что проверка токена активна.
Если какой‑либо из этих пунктов не проходит, вернитесь к соответствующему шагу: отсутствие регистрации комплекта разработки, неверная генерация токена или пропущенные флаги безопасности.
