Scan Empire یک برنامه اندروید قوی و مدرن است که برای دیجیتالی کردن اسناد کاغذی، تشخیص پیشرفته کاراکتر نوری (OCR) و تبدیل فایلهای چند فرمتی به PDF طراحی شده است. این برنامه که با زبان کاتلین و با استفاده از چارچوب رابط کاربری اعلانی Jetpack Compose توسعه داده شده است، از معماری دقیق MVVM و اصول کدنویسی تمیز پیروی میکند. اکثر پردازشها به صورت محلی روی دستگاه انجام میشود و حداکثر حریم خصوصی و امنیت دادههای کاربر را تضمین میکند.
⚙️ ویژگیهای اصلی و معماری سیستم
1. سیستم OCR ترکیبی (آفلاین و آنلاین)
این برنامه از طریق دو حالت تشخیص متن، انعطافپذیری ارائه میدهد:
OCR محلی (Tesseract): از یک TessBaseAPI سفارشی (Tesseract4Android) برای تشخیص متن کاملاً آفلاین استفاده میکند. برنامه در صورت عدم وجود مدلهای زبان، آنها را به صورت بلادرنگ دانلود میکند. کیت Google ML برای تشخیص خودکار زبان یکپارچه شده است و یک الگوریتم مقایسه امتیاز اطمینان برای تشخیص خودکار اسکریپت (سیریلیک در مقابل لاتین) پیادهسازی شده است.
OCR ابری (Google Cloud Vision): برای طرحبندیهای پیچیده یا اسناد با کیفیت پایین استفاده میشود. این برنامه که از طریق یک سیستم اعتباری یکپارچه شده است، تشخیص پیشرفته مبتنی بر ابر را بدون کاهش عملکرد دستگاه امکانپذیر میکند.
۲. پردازش تصویر پیشرفته و ادغام OpenCV
قبل از اجرای OCR، تصویر تحت یک فرآیند فیلترینگ و اصلاح هندسی پیشرفته قرار میگیرد:
اصلاح هندسی (Deskewing): OpenCV به طور خودکار اسناد کج شده را صاف کرده و لبهها را تشخیص میدهد.
بهینهسازی بصری: سایهها حذف میشوند و باینریسازی تطبیقی (آستانهگذاری Otsu) برای به حداکثر رساندن کنتراست بین متن و پسزمینه اعمال میشود.
مدیریت حافظه: به دلیل اندازه بزرگ تصاویر، برنامه از اشیاء Mat مشترک استفاده میکند و منابع را با دقت مدیریت میکند تا از خطاهای OutOfMemory (OOM) جلوگیری کند.
۳. بازسازی هوشمند PDF (PdfReconstructor)
با استفاده از کتابخانه PDFBox-Android، برنامه متن شناسایی شده را به اسناد PDF قابل جستجو تبدیل میکند:
فاصلهگذاری هوشمند: الگوریتم طرحبندی دقیق و فاصله بین کلمات را بر اساس مختصات آنها از تصویر محاسبه میکند و ساختار اصلی سند را حفظ میکند.
پوشش ترکیبی (PDF قابل جستجو): متن به عنوان یک لایه نامرئی مستقیماً روی تصویر اصلی رندر میشود. کاربر سند اسکن شده را به صورت بصری میبیند، اما میتواند متن را جستجو، انتخاب و کپی کند.
۴. تبدیلها و دستکاری فایلها
تمام تبدیلها به صورت محلی انجام میشوند تا از حریم خصوصی کاربر محافظت شود:
مبدلهای محلی: اسناد DOCX، Excel و TXT را به PDF تبدیل میکند.
ادغام اسناد: چندین تصویر یا فایلهای PDF موجود را در یک سند PDF ترکیب میکند.
۵. امنیت، ذخیرهسازی و کسب درآمد
این برنامه به عنوان یک محصول تجاری پایدار طراحی شده است:
احراز هویت: ورود امن و اتصال حساب با استفاده از Google Credential Manager.
ذخیرهسازی: از چارچوب دسترسی ذخیرهسازی اندروید (SAF) استفاده میکند و به کاربران امکان میدهد مسیر ذخیره دلخواه خود را در دستگاه یا کارت SD انتخاب کنند.
کسب درآمد: صورتحساب داخلی Google Play برای خرید اعتبار یا اشتراک در فروشگاه Premium. استفاده رایگان توسط تبلیغات غیر مزاحم (AdManager) پشتیبانی میشود.
📐 پشته فنی
پردازش ناهمزمان: کوروتینها و جریانهای کاتلین برای اجرای فرآیندهای سنگین (اسکن، OCR، دانلود مدل) در پسزمینه.
تزریق وابستگی: Hilt (Dagger) جداسازی دقیق دغدغهها، آزمایش آسانتر و توسعهپذیری برنامه را تضمین میکند.
💡 خلاصه
اسکن امپایر یک اکوسیستم جامع دیجیتالسازی موبایل است. با ترکیب پردازش محلی OpenCV، OCR ترکیبی و بازسازی هوشمند PDF، قابلیتهای اسکن حرفهای را در یک رابط کاربری مدرن و بهینه ارائه میدهد.
تبدیل تصویر به PDF، استخراج متن، ورود به سند، ادغام، محافظت.
تاریخ بهروزرسانی
۴ مهر ۱۴۰۵