App: Local Optical Character Recognition (ocr_paddle)
The ocr_paddle app is one of the apps that provide Optical Character Recognition functionality in Nextcloud and act as an OCR backend for the Nextcloud Assistant app and other apps making use of the core OpticalCharacterRecognition Task type. The ocr_paddle app specifically runs only open source models and does so entirely on-premises. Nextcloud can provide customer support upon request, please talk to your account manager for the possibilities.
This app uses PaddleOCR_VL under the hood.
The used model supports 109 languages, covering major global languages, including but not limited to Chinese, English, Japanese, Latin, and Korean, as well as languages with different scripts and structures, such as Russian (Cyrillic script), Arabic, Hindi (Devanagari script), and Thai.
PDFs are supported; multi-page PDFs come back as one document.
Requirements
Minimal Nextcloud version: 35
This app is built as an External App and thus depends on at least AppAPI v3.1.0
Nextcloud AIO is supported
We currently support x86_64 & arm64 CPUs as well as NVIDIA GPUs
CPU Sizing
If you don’t have a GPU, this app will utilize your CPU cores
The more cores you have and the more powerful the CPU the better, we recommend 10-20 cores, but the runtime will still be very slow on CPU only
The app will hog all cores by default, so it is usually better to run it on a separate machine
7.5GB of free system RAM
GPU Sizing
NVIDIA GPU
Minimum of 6GB free VRAM
Installation
Make sure the Nextcloud Assistant app is installed
Install the ocr_paddle “Local OCR: PaddleOCR” ExApp via the “Apps” page in the Nextcloud web admin user interface
Scaling
It is currently not possible to scale this app, we are working on this. If you have real world data on how many files this app can process per minute, we will gladly list it here.
App store
You can also find this app in our app store, where you can write a review: https://apps.nextcloud.com/apps/ocr_paddle
Repository
You can find the app’s code repository on GitHub where you can report bugs and contribute fixes and features: https://github.com/nextcloud/ocr_paddle
Nextcloud customers should file bugs directly with our customer support.
Known Limitations
We currently only support languages supported by the underlying PaddleOCR-VL model
The PaddleOCR-VL model performs unevenly across languages, and may show lower accuracy on low-resource and/or low-discoverability languages or languages where there was less training data available.
Only the first 50 pages of PDF files are read (configurable via the
OCR_MAX_PDF_PAGESdeploy option), longer PDFs are silently truncated.PDF pages are rasterized at 170 DPI (configurable via the
OCR_PDF_DPIdeploy option) before OCRInputs are downscaled to ≤2.8 MP (max_pixels: 2822400), so high-resolution scans lose detail before OCR runs.
Make sure to test the language model you are using it for whether it meets the use-case’s quality requirements
Customer support is available upon request, however we can’t solve false or problematic output, most performance issues, or other problems caused by the underlying model. Support is thus limited only to bugs directly caused by the implementation of the app (connectors, API, front-end, AppAPI)