PDF

PDF‑просмотрщик, который не передаёт PDF

Встроенный в браузер PDF‑просмотрщик работает, отдавая пользователю файл. Для контракта, медицинской карты или закрытого предложения это часто именно то, чего вы хотите избежать. Doconut рендерит страницы на сервере и отправляет изображения, поэтому просмотр и владение перестают быть одним и тем же действием.

0
байтов исходного PDF, отправленных клиенту
100%
серверный рендеринг
1
просмотрщик и для всех остальных форматов

Проблема

Три способа показать PDF и их стоимость

Отдайте файл и позвольте браузеру отобразить его: самый простой способ, но он передаёт пользователю оригинальные байты, метаданные, вложения и возможность переслать всё это одним кликом.

Отправьте JavaScript‑движок PDF: файл остаётся в браузере, добавляет значимую загрузку в ваш пакет, но вам всё равно придётся писать панель инструментов, полосу миниатюр и поле поиска самостоятельно.

Рендеринг на сервере и отправка изображений: пользователь видит страницы, файл никогда не покидает вашу инфраструктуру, и тот же механизм работает для Word, Excel, CAD и электронной почты — обычно это требование появляется через два спринта.

Возможности

Что делает просмотрщик с PDF

Постраничные изображения

Каждая страница растеризуется на сервере и доставляется по запросу. Большие документы открываются на первой странице, а не после полной загрузки файла.

Поиск по текстовому слою

С плагином AdvancedSearch полнотекстовый поиск выполняется по текстовому слою PDF, поэтому результаты попадают на нужную страницу с правильным выделением.

Миниатюры и навигация

Полоса миниатюр, переходы по страницам, масштабирование и подгонка по ширине поставляются вместе с виджетом. Установите showThumbs и FitType и продолжайте.

Аннотации

С плагином Annotation: выделения, комментарии, штампы и подписи, хранятся и экспортируются вашим приложением, а не встраиваются обратно в исходный файл.

Файлы, защищённые паролем

Зашифрованные PDF открываются на сервере с паролем, предоставляемым вашим кодом. Пароль никогда не попадает в браузер.

Печать под вашим контролем

Печать — это возможность просмотрщика, которую вы можете предоставить или скрыть, что отличается от решения о том, может ли пользователь скачать оригинал.

Интеграция

Открытие PDF

Клиент получает только токен. Он никогда не узнаёт имя файла, место хранения или то, что документ был PDF, а не что‑то другое в каталоге.

Поддерживаемые расширения

.pdf
csharp
// Server-side: returns an opaque token, never a path or a URL
app.MapPost("/api/open", async (Viewer viewer) =>
{
    string token = await viewer.OpenDocumentAsync("wwwroot/files/Contract.pdf");
    return Results.Ok(new { token });
});

// For an encrypted PDF, supply the password server-side —
// it is used to decrypt in your process and goes no further.

Подробности

Особенности PDF

  • Поиск по текстовому слою требует плагин AdvancedSearch; OCR обычно недоступен и не должен считаться доступным для отсканированных страниц.
  • Аннотации требуют плагин Annotation и хранятся вашим приложением, а не записываются обратно в исходный PDF.
  • Конвертация PDF в Word, Excel или изображение требует плагин Converter и DocumentConverter.ConvertAsync().

Часто задаваемые вопросы

Может ли пользователь всё ещё скачать оригинальный PDF?

Только если вы реализуете это сами. Просмотрщик доставляет изображения страниц, адресованные непрозрачным токеном, поэтому выпуск исходного файла остаётся явным решением в вашем коде, а не побочным эффектом предоставления возможности чтения.

Работает ли он с отсканированными PDF без текстового слоя?

Они рендерятся как изображения, но искать нечего. OCR доступен только через плагин AdvancedSearch и обычно недоступен — движок переписывается, так что не планируйте на него сегодня.

Какой размер PDF он может обрабатывать?

Страницы рендерятся и доставляются по запросу, а не все сразу, поэтому длина документа влияет на память гораздо меньше, чем сложность страниц. Очень тяжёлые векторные страницы являются основной нагрузкой, а не количество страниц.

Попробуйте с вашими собственными документами

Временная лицензия запрашивается за несколько минут и полностью работает на вашем компьютере. Важные файлы — это те, которые уже вызывают сбои в вашем текущем просмотрщике.