Scan Empire๋ ์ข
์ด ๋ฌธ์ ๋์งํธํ, ๊ณ ๊ธ ๊ดํ ๋ฌธ์ ์ธ์(OCR) ๋ฐ ๋ค์ํ ํ์์ ํ์ผ์ PDF๋ก ๋ณํํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฐ๋ ฅํ๊ณ ํ๋์ ์ธ Android ์ ํ๋ฆฌ์ผ์ด์
์
๋๋ค. Kotlin๊ณผ ์ ์ธ์ UI ํ๋ ์์ํฌ์ธ Jetpack Compose๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ๋์์ผ๋ฉฐ, ์๊ฒฉํ MVVM ์ํคํ
์ฒ์ ํด๋ฆฐ ์ฝ๋ ์์น์ ๋ฐ๋ฆ
๋๋ค. ๋๋ถ๋ถ์ ์ฒ๋ฆฌ๋ ๊ธฐ๊ธฐ ๋ด์์ ๋ก์ปฌ๋ก ์ํ๋๋ฏ๋ก ์ฌ์ฉ์ ๋ฐ์ดํฐ์ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฐ ๋ณด์์ด ๊ทน๋ํ๋ฉ๋๋ค.
โ๏ธ ํต์ฌ ๊ธฐ๋ฅ ๋ฐ ์์คํ
์ํคํ
์ฒ
1. ํ์ด๋ธ๋ฆฌ๋ OCR ์์คํ
(์คํ๋ผ์ธ ๋ฐ ์จ๋ผ์ธ)
์ด ์ฑ์ ๋ ๊ฐ์ง ํ
์คํธ ์ธ์ ๋ชจ๋๋ฅผ ํตํด ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค.
๋ก์ปฌ OCR(Tesseract): ๋ง์ถคํ TessBaseAPI(Tesseract4Android)๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ ์คํ๋ผ์ธ์ผ๋ก ํ
์คํธ๋ฅผ ์ธ์ํฉ๋๋ค. ์ธ์ด ๋ชจ๋ธ์ด ์๋ ๊ฒฝ์ฐ ์ค์๊ฐ์ผ๋ก ๋ค์ด๋ก๋ํฉ๋๋ค. Google ML Kit๊ฐ ํตํฉ๋์ด ์ธ์ด๋ฅผ ์๋์ผ๋ก ๊ฐ์งํ๊ณ , ํค๋ฆด ๋ฌธ์์ ๋ผํด ๋ฌธ์์ ๊ฐ์ ๋ฌธ์ ์ฒด๊ณ๋ฅผ ์๋์ผ๋ก ์ธ์ํ๊ธฐ ์ํด ์ ๋ขฐ๋ ์ ์ ๋น๊ต ์๊ณ ๋ฆฌ์ฆ์ด ๊ตฌํ๋์ด ์์ต๋๋ค.
ํด๋ผ์ฐ๋ OCR(Google Cloud Vision): ๋ณต์กํ ๋ ์ด์์์ด๋ ์ ํ์ง ๋ฌธ์์ ์ฌ์ฉ๋ฉ๋๋ค. ํฌ๋ ๋ง ์์คํ
์ ํตํด ํตํฉ๋์ด ๊ธฐ๊ธฐ ์ฑ๋ฅ ์ ํ ์์ด ๊ณ ๊ธ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์ธ์์ ์ง์ํฉ๋๋ค. 2. ๊ณ ๊ธ ์ด๋ฏธ์ง ์ฒ๋ฆฌ ๋ฐ OpenCV ํตํฉ
OCR์ ์คํํ๊ธฐ ์ ์ ์ด๋ฏธ์ง๋ ๊ณ ๊ธ ํํฐ๋ง ๋ฐ ๊ธฐํํ์ ๋ณด์ ๊ณผ์ ์ ๊ฑฐ์นฉ๋๋ค.
๊ธฐํํ์ ๋ณด์ (๊ธฐ์ธ๊ธฐ ์ ๊ฑฐ): OpenCV๋ ๊ธฐ์ธ์ด์ง ๋ฌธ์๋ฅผ ์๋์ผ๋ก ๋ฐ๋ก์ก๊ณ ๊ฐ์ฅ์๋ฆฌ๋ฅผ ๊ฐ์งํฉ๋๋ค.
์๊ฐ์ ์ต์ ํ: ๊ทธ๋ฆผ์๋ฅผ ์ ๊ฑฐํ๊ณ ์ ์ํ ์ด์งํ(์ค์ธ ์๊ณ๊ฐ ์ฒ๋ฆฌ)๋ฅผ ์ ์ฉํ์ฌ ํ
์คํธ์ ๋ฐฐ๊ฒฝ ๊ฐ์ ๋๋น๋ฅผ ๊ทน๋ํํฉ๋๋ค.
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ: ์ด๋ฏธ์ง ํฌ๊ธฐ๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ ์ฑ์ ๊ณต์ Mat ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๊ณ ๋ฆฌ์์ค๋ฅผ ์ ์คํ๊ฒ ๊ด๋ฆฌํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ(OOM) ์ค๋ฅ๋ฅผ ๋ฐฉ์งํฉ๋๋ค.
3. ์ค๋งํธ PDF ์ฌ๊ตฌ์ฑ(PdfReconstructor)
PDFBox-Android ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์ ์ธ์๋ ํ
์คํธ๋ฅผ ๊ฒ์ ๊ฐ๋ฅํ PDF ๋ฌธ์๋ก ๋ณํํฉ๋๋ค.
์ค๋งํธ ๊ฐ๊ฒฉ ์กฐ์ : ์๊ณ ๋ฆฌ์ฆ์ ์ด๋ฏธ์ง์์ ๋จ์ด์ ์ขํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋จ์ด ์ฌ์ด์ ์ ํํ ๋ ์ด์์๊ณผ ๊ฐ๊ฒฉ์ ๊ณ์ฐํ์ฌ ๋ฌธ์์ ์๋ ๊ตฌ์กฐ๋ฅผ ์ ์งํฉ๋๋ค.
ํ์ด๋ธ๋ฆฌ๋ ์ค๋ฒ๋ ์ด(๊ฒ์ ๊ฐ๋ฅํ PDF): ํ
์คํธ๋ ์๋ณธ ์ด๋ฏธ์ง ๋ฐ๋ก ์์ ๋ณด์ด์ง ์๋ ๋ ์ด์ด๋ก ๋ ๋๋ง๋ฉ๋๋ค. ์ฌ์ฉ์๋ ์ค์บํ ๋ฌธ์๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ณผ ์ ์์ ๋ฟ ์๋๋ผ ํ
์คํธ๋ฅผ ๊ฒ์, ์ ํ ๋ฐ ๋ณต์ฌํ ์๋ ์์ต๋๋ค.
4. ๋ณํ ๋ฐ ํ์ผ ์กฐ์
๋ชจ๋ ๋ณํ์ ์ฌ์ฉ์ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฅผ ์ํด ๋ก์ปฌ์์ ์ํ๋ฉ๋๋ค.
๋ก์ปฌ ๋ณํ๊ธฐ: DOCX, Excel ๋ฐ TXT ๋ฌธ์๋ฅผ PDF๋ก ๋ณํํฉ๋๋ค.
๋ฌธ์ ๋ณํฉ: ์ฌ๋ฌ ์ด๋ฏธ์ง ๋๋ ๊ธฐ์กด PDF ํ์ผ์ ํ๋์ PDF ๋ฌธ์๋ก ๋ณํฉํฉ๋๋ค.
5. ๋ณด์, ์ ์ฅ ๊ณต๊ฐ ๋ฐ ์์ต ์ฐฝ์ถ
์ด ์ ํ๋ฆฌ์ผ์ด์
์ ์ง์ ๊ฐ๋ฅํ ์์
์ฉ ์ ํ์ผ๋ก ์ค๊ณ๋์์ต๋๋ค.
์ธ์ฆ: Google ์๊ฒฉ ์ฆ๋ช
๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ ์์ ํ ๋ก๊ทธ์ธ ๋ฐ ๊ณ์ ์ฐ๊ฒฐ.
์ ์ฅ ๊ณต๊ฐ: Android ์ ์ฅ์ ์ก์ธ์ค ํ๋ ์์ํฌ(SAF)๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ๊ธฐ๊ธฐ ๋๋ SD ์นด๋์์ ์ํ๋ ์ ์ฅ ๊ฒฝ๋ก๋ฅผ ์ ํํ ์ ์๋๋ก ํฉ๋๋ค.
์์ต ์ฐฝ์ถ: ํ๋ฆฌ๋ฏธ์ ์์ ์์ ํฌ๋ ๋ง ๋๋ ๊ตฌ๋
์ ๊ตฌ๋งคํ ์ ์๋ Google Play ๊ฒฐ์ ๊ธฐ๋ฅ์ด ๋ด์ฅ๋์ด ์์ต๋๋ค. ๋ฌด๋ฃ ์ฌ์ฉ์ ๋ฐฉํด๋ฐ์ง ์๋ ๊ด๊ณ (AdManager)๋ฅผ ํตํด ์ง์๋ฉ๋๋ค.
๐ ๊ธฐ์ ์คํ
๋น๋๊ธฐ ์ฒ๋ฆฌ: ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋ฌด๊ฑฐ์ด ํ๋ก์ธ์ค(์ค์บ, OCR, ๋ชจ๋ธ ๋ค์ด๋ก๋)๋ฅผ ์คํํ๊ธฐ ์ํ Kotlin ์ฝ๋ฃจํด ๋ฐ ํ๋ก์ฐ.
์์กด์ฑ ์ฃผ์
: Hilt(Dagger)๋ ๊ด์ฌ์ฌ ๋ถ๋ฆฌ๋ฅผ ๋ช
ํํ๊ฒ ํ๊ณ , ํ
์คํธ๋ฅผ ๊ฐ์ํํ๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์
ํ์ฅ์ฑ์ ํฅ์์ํต๋๋ค.
๐ก ์์ฝ
Scan Empire๋ ํฌ๊ด์ ์ธ ๋ชจ๋ฐ์ผ ๋์งํธํ ์ํ๊ณ์
๋๋ค. ๋ก์ปฌ OpenCV ์ฒ๋ฆฌ, ํ์ด๋ธ๋ฆฌ๋ OCR, ์ค๋งํธ PDF ์ฌ๊ตฌ์ฑ ๊ธฐ๋ฅ์ ๊ฒฐํฉํ์ฌ ํ๋์ ์ด๊ณ ์ต์ ํ๋ ์ธํฐํ์ด์ค์์ ์ ๋ฌธ์ ์ธ ์ค์บ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ด๋ฏธ์ง๋ฅผ PDF๋ก ๋ณํ, ํ
์คํธ ์ถ์ถ, ๋ฌธ์ ๋ก๊ทธ์ธ, ๋ณํฉ, ๋ณดํธ.
์
๋ฐ์ดํธ ๋ ์ง
2026. 9. 26.