Scan Empire je robustní a moderní aplikace pro Android určená pro digitalizaci papírových dokumentů, pokročilé optické rozpoznávání znaků (OCR) a převod víceformátových souborů do PDF. Vyvinutá v Kotlinu s využitím deklarativního UI frameworku Jetpack Compose, dodržuje striktní architekturu MVVM a principy čistého kódu. Většina zpracování se provádí lokálně na zařízení, což zajišťuje maximální soukromí a zabezpečení uživatelských dat.
⚙️ Základní funkce a architektura systému
1. Hybridní systém OCR (offline a online)
Aplikace nabízí flexibilitu díky dvěma režimům rozpoznávání textu:
Lokální OCR (Tesseract): Používá přizpůsobené rozhraní TessBaseAPI (Tesseract4Android) pro kompletně offline rozpoznávání textu. Aplikace stahuje jazykové modely v reálném čase, pokud nejsou k dispozici. Pro automatickou detekci jazyka je integrována sada Google ML Kit a pro automatické rozpoznávání písma (cyrilice vs. latinka) je implementován algoritmus pro porovnání skóre spolehlivosti.
Cloudové OCR (Google Cloud Vision): Používá se pro složité rozvržení nebo dokumenty nízké kvality. Integrováno prostřednictvím kreditního systému umožňuje pokročilé cloudové rozpoznávání bez snížení výkonu zařízení.
2. Pokročilé zpracování obrazu a integrace OpenCV
Před spuštěním OCR prochází obrázek pokročilým procesem filtrování a geometrické korekce:
Geometrická korekce (vyrovnání zkosení): OpenCV automaticky narovná nakloněné dokumenty a detekuje hrany.
Vizuální optimalizace: Stíny jsou odstraněny a pro maximalizaci kontrastu mezi textem a pozadím je použita adaptivní binarizace (Otsu thresholding).
Správa paměti: Vzhledem k velkým velikostem obrázků aplikace používá sdílené objekty Mat a pečlivě spravuje zdroje, aby se zabránilo chybám OutOfMemory (OOM).
3. Inteligentní rekonstrukce PDF (PdfReconstructor)
Aplikace pomocí knihovny PDFBox-Android převádí rozpoznaný text do prohledávatelných dokumentů PDF:
Inteligentní mezery: Algoritmus vypočítává přesné rozvržení a mezery mezi slovy na základě jejich souřadnic z obrázku a zachovává tak původní strukturu dokumentu.
Hybridní překrytí (prohledávatelné PDF): Text je vykreslen jako neviditelná vrstva přímo přes původní obrázek. Uživatel vizuálně vidí naskenovaný dokument, ale může text vyhledávat, vybírat a kopírovat.
4. Konverze a manipulace se soubory
Všechny konverze se provádějí lokálně, aby byla chráněna ochrana soukromí uživatelů:
Lokální převodníky: Převádí dokumenty DOCX, Excel a TXT do PDF.
Sloučení dokumentů: Kombinuje více obrázků nebo existujících souborů PDF do jednoho dokumentu PDF.
5. Zabezpečení, úložiště a monetizace
Aplikace je navržena jako udržitelný komerční produkt:
Ověřování: Bezpečné přihlášení a propojení účtů pomocí Google Credential Manager.
Úložiště: Používá Android Storage Access Framework (SAF), který uživatelům umožňuje zvolit si preferovanou cestu ukládání na zařízení nebo SD kartu.
Monetizace: Vestavěná fakturace Google Play pro nákup kreditů nebo předplatného v prémiovém obchodě. Bezplatné používání je podporováno nerušivými reklamami (AdManager).
📐 Technický stack
Asynchronní zpracování: Kotlin Corutiny a Flow pro provádění náročných procesů (skenování, OCR, stahování modelu) na pozadí.
Vkládání závislostí: Hilt (Dagger) zajišťuje jasné oddělení úkolů, snadnější testování a rozšiřitelnost aplikace.
💡 Shrnutí
Scan Empire je komplexní ekosystém pro mobilní digitalizaci. Kombinací lokálního zpracování OpenCV, hybridního OCR a inteligentní rekonstrukce PDF nabízí profesionální možnosti skenování v moderním a optimalizovaném rozhraní.
Převod obrázku do PDF, extrakce textu, přihlášení k dokumentu, sloučení, ochrana.
Datum aktualizace
26. 9. 2026