Veil
- title
- Veil
- type
- toolbox
- summary
- Браузерный PDF-ридер, затемняющий текст через списки операторов PDF.js без искажения изображений
- tags
- pdf, reader, accessibility
- language
- TypeScript
- license
- MIT
- created
- 2026-04-07
- updated
- 2026-04-07
- lang
- ru
- translation_of
- veil
- source_updated
- 2026-04-07
- translated
- 2026-09-01
- translator
- lllm/antigravity/gemini-3.7-flash-medium
Браузерный PDF-ридер, который включает тёмную тему без искажения изображений. Большинство инструментов для тёмного режима в PDF просто инвертируют страницу целиком, из-за чего фотографии превращаются в негативы, а графики становятся нечитаемыми. Veil использует списки операторов PDF.js, чтобы отличать текст от изображений: он инвертирует только текст, оставляя визуальный контент нетронутым. Страницы, которые изначально были тёмными, пропускаются целиком.
Всё работает на стороне клиента: рендеринг, OCR и экспорт происходят прямо в браузере. Файлы никуда не отправляются с устройства. Без ИИ, без регистрации, работает офлайн после загрузки страницы.
Как устроен
Veil подключается к PDF.js на уровне списка операторов, определяя, какие части страницы являются изображениями, а какие - текстом или векторной графикой. Текст инвертируется для удобства чтения в тёмном режиме, а изображения сохраняют исходные цвета. Всё работает детерминированно - без эвристик и ML, угадывающего границы фотографий.
Для сканированных документов Veil запускает OCR в браузере, извлекая текст, зашитый в изображения: подписи к графикам, числовые шкалы осей, подписи к рисункам. Извлечённый текст можно выделять и искать по нему.
Экспорт в тёмный PDF запекает инвертированный рендеринг в скачиваемый PDF-файл. Внутренние навигационные ссылки, внешние источники (DOI, библиографические ссылки) и закладки сохраняются.
Использование
Откройте https://veil.simoneamico.com/reader, перетащите PDF на страницу, и он сразу отрендерится в тёмной теме. Масштабирование и навигация по страницам работают стандартно. Нажмите экспорт, чтобы скачать тёмный PDF-файл для чтения на любом устройстве.
Ограничения
- Только веб - нет десктопного приложения или CLI
- Большие PDF-файлы могут обрабатываться медленно, так как вся обработка идёт на стороне клиента
- Качество OCR зависит от разрешения скана
Автор: Simone Amico. Лицензия MIT. Репозиторий: https://github.com/simoneamico-ux-dev/veil