feat: integrate Tesseract.js with improved language availability and font handling
- Refactored OCR page recognition to utilize a configured Tesseract worker. - Added functions to manage font URLs and asset filenames based on language. - Implemented language availability checks and error handling for unsupported languages. - Enhanced PDF workflow to display available OCR languages and handle user selections. - Introduced utility functions for resolving Tesseract asset configurations. - Added tests for OCR functionality, font loading, and Tesseract runtime behavior. - Updated global types to include environment variables for Tesseract and font configurations.
This commit is contained in:
@@ -32,5 +32,11 @@ features:
|
||||
details: Convert, edit, merge, split, compress, sign, OCR, and more. Everything you need in one place.
|
||||
- icon: 🌐
|
||||
title: Self-Hostable
|
||||
details: Deploy on your own infrastructure. Docker, Vercel, Netlify, AWS, or any static hosting.
|
||||
details: Deploy on your own infrastructure. Docker, Vercel, Netlify, AWS, or fully air-gapped environments with self-hosted OCR workers, language data, and text-layer fonts.
|
||||
|
||||
## Offline OCR
|
||||
|
||||
If you self-host BentoPDF in an air-gapped or offline environment, OCR needs more than the Tesseract worker and traineddata files. Searchable PDF output also needs the OCR text-layer fonts to be served internally.
|
||||
|
||||
See [Self-Hosting](/self-hosting/) for the full setup, including `VITE_OCR_FONT_BASE_URL`, the bundled `ocr-fonts/` directory, and the updated air-gap workflow.
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user