CamDoc: razvoj aplikacije za skeniranje dokumenata u React Native-u
Skeniraj, sredi, podeli
Pretvara fotografije sa telefona u uredne PDF fajlove spremne za deljenje.

Ukratko
CamDoc je naša sopstvena aplikacija za skeniranje dokumenata. Fotografije sa telefona pretvara u uredne PDF fajlove pomoću prepoznavanja ivica, ispravljanja perspektive i obrade slike, dodaje OCR prepoznavanje teksta i elektronske potpise, i deli dokumente na imejl ili skladište u oblaku. Jedna React Native baza koda je isporučuje za iPhone, iPad, Mac, Vision Pro i Android na 18 jezika.
- Industrija
- Produktivnost i dokumenti
- Tip
- Sopstveni proizvod
- Platforme
- iOS, iPadOS, macOS, visionOS, Android
- Jezici
- 18
- Poslovni model
- Besplatno, uz jednokratne kupovine u aplikaciji
- Tim
- 4 specijalista
- Isporučeno
- Višeplatformski razvoj, Razvoj MVP-a, UX/UI dizajn, QA, Podrška
- Tehnologije
- iOS, Android, React Native, TypeScript, Nativewind CSS
Zašto smo napravili aplikaciju za skeniranje dokumenata
CamDoc je jedan od naših sopstvenih proizvoda. Većina ljudi i dalje mora da šalje papire - potpisan ugovor, račun za troškove, formular za stanodavca ili školu - a većina njih više nema skener. Ono što imaju jeste kamera na telefonu, a fotografija stranice je loša zamena za sken: stiže iskrivljena, sa senkama i neravnomerno osvetljena, i u pogrešnom formatu za onoga ko ju je tražio.
Cilj je namerno bio uzak: da fotografije papira u par dodira pretvori u uredne, čitljive PDF fajlove spremne za deljenje, i da fajl stigne gde god treba bez čuvanja i traženja. Naziv na App Store-u, „JPG to PDF Converter", opisuje taj posao rečima koje ljudi zaista pretražuju.
Šta aplikacija radi
- Skenira dokumente i fotografije u PDF, JPG ili TXT.
- Spaja više stranica u jedan dokument, uz korak pregleda za preuređivanje, rotiranje ili uklanjanje stranica pre izvoza.
- Izdvaja tekst iz skenova pomoću OCR-a (optičkog prepoznavanja znakova).
- Omogućava korisnicima da jednom naprave elektronski potpis i postavljaju ga na dokumente.
- Čisti skenove filterima i uklanjanjem šuma, tako da tekst izgleda skenirano, a ne fotografisano.
- Deli na imejl, štampu i skladišta u oblaku, uključujući Dropbox, Google Drive, Evernote i OneDrive.
Radi na iPhone-u i iPad-u, na Mac računarima sa Apple čipom i na Apple Vision Pro uređaju, kao i na Android-u preko Google Play-a - sve iz jedne React Native baze koda.
Kako fotografija sa telefona postaje uredan PDF
Srce svake aplikacije za skeniranje dokumenata je proces snimanja. Svaka stranica prolazi kroz ista tri koraka pre nego što se doda u dokument.
1. Prepoznavanje ivica
Aplikacija pronalazi četiri ugla stranice na fotografiji. Papir se retko fotografiše pravo odozgo, a pozadina - sto, krilo, sedište u kolima - veoma se razlikuje, pa prepoznavanje mora da izađe na kraj sa niskim kontrastom između stranice i podloge. Kada nije sigurno, korisnik može da prevuče uglove umesto da ponovo slika.
2. Ispravljanje perspektive
Kada su uglovi poznati, transformacija perspektive vraća iskrivljeni četvorougao u ravan pravougaonik. Zbog toga stranica fotografisana pod uglom izgleda kao da je prošla kroz skener, i to je najveća pojedinačna razlika između skena i fotografije.
3. Popravka kontrasta i uklanjanje šuma
Fotografije sa telefona nose senke, obojenost i šum senzora. Korak čišćenja ujednačava osvetljenje i izdvaja tekst od pozadine, a opcioni filteri omogućavaju korisnicima da biraju između verne kopije u boji i oštrog crno-belog dokumenta. Kompromis je između veličine fajla i čitljivosti: izvoz mora biti dovoljno mali da se pošalje imejlom, a da i dalje bude čitljiv kada se odštampa.
Dokumenti od više stranica bez ponovnog slikanja
Pravi dokumenti se snimaju ispremetani, okrenuti ili dva puta. Umesto ponovnog slikanja, svaka stranica stiže na ekran za pregled gde se pre izvoza može preurediti, rotirati ili ukloniti, pa je gotov PDF ispravan iz prvog puta.
Kod dugačkih dokumenata memorija postaje problem. Svaka stranica je slika visoke rezolucije, a držanje desetak njih bez kompresije dovoljno je da uspori stariji Android telefon. Zato se stranice obrađuju i čuvaju jedna po jedna, umesto da se drže u memoriji kao grupa.
OCR, elektronski potpisi i deljenje
Aplikacija za skeniranje postaje svakodnevni alat kada može više od toga da napravi sliku stranice. OCR pretvara sken u tekst koji se može izvesti kao TXT fajl, kopirati ili pretraživati. Elektronski potpis omogućava korisnicima da ugovor potpišu na telefonu umesto da ga štampaju, potpisuju i ponovo skeniraju.
Deljenje koristi nativni meni za deljenje platforme, pa gotov dokument ide direktno na imejl, u poruke ili u bilo koju instaliranu aplikaciju, uz direktna otpremanja na Dropbox, Google Drive, Evernote i OneDrive, i štampu za slučajeve kada je papir i dalje potreban.
Zašto React Native za aplikaciju za skeniranje
Često se pretpostavlja da aplikacije koje se oslanjaju na kameru moraju biti potpuno nativne. U praksi, delovi kritični za performanse - snimanje i obrada slike - rade u nativnim modulima, dok je sve oko njih (ekran za pregled, podešavanja, ekran za kupovinu, tokovi deljenja i lokalizacija) korisnički interfejs proizvoda sa kojim React Native dobro izlazi na kraj. Ta podela je omogućila jednom malom timu da isporučuje i održava verzije za iOS, iPadOS, macOS, visionOS i Android iz jedne TypeScript baze koda.
Gde je ta granica i kada ne važi, objašnjavamo u tekstu React Native ili nativni razvoj.
Monetizacija i lokalizacija
CamDoc se besplatno preuzima, uz dve jednokratne kupovine u aplikaciji - Unlimited Pro i PDF Premium - umesto pretplate. Za alat koji ljudi koriste povremeno, jednokratno otključavanje je lakše prihvatiti nego ponavljajuće plaćanje.
Aplikacija je lokalizovana na 18 jezika. Stranice u prodavnicama i tekst u aplikaciji na jeziku korisnika važniji su za alat nego za većinu aplikacija, jer ljudima koji „PDF skener" traže na španskom, nemačkom ili japanskom retko odgovara stranica samo na engleskom.
Šta bismo uradili drugačije
OCR bismo isporučili već u prvoj verziji. Prepoznavanje teksta je ono što skener pretvara iz nečega što se koristi jednom mesečno u nešto što se koristi svake nedelje, a utiče i na odluke na drugim mestima - formate fajlova, opcije izvoza i način čuvanja dokumenata - koje je jeftinije doneti rano.
Pravite nešto slično?
Skeniranje dokumenata, OCR i elektronski potpisi danas su očekivane funkcije u aplikacijama za terenski rad, logistiku, finansije i ljudske resurse, a ne samo u samostalnim skenerima. Ako vaš proizvod treba da snima papirologiju telefonom, važi isti proces.
Pogledajte kako pristupamo razvoju React Native aplikacija.
Česta pitanja
Kako radi aplikacija za skeniranje dokumenata?
Prepoznaje četiri ivice stranice na fotografiji, primenjuje ispravljanje perspektive kako bi je izravnala u pravougaonik, a zatim popravlja kontrast i uklanja šum, tako da tekst izgleda kao sken. Stranice se zatim spajaju u PDF i, po želji, provlače kroz OCR kako bi se izdvojio tekst.
Može li se aplikacija za skeniranje dokumenata napraviti u React Native-u?
Može. Snimanje i obrada slike rade u nativnim modulima, a ostatak aplikacije - ekrani za pregled, podešavanja, kupovine i deljenje - piše se jednom u React Native-u. CamDoc se iz jedne baze koda isporučuje za iPhone, iPad, Mac, Vision Pro i Android.
Koje funkcije su potrebne aplikaciji za skeniranje u PDF?
Kao minimum: automatsko prepoznavanje ivica, ispravljanje perspektive, čišćenje slike, dokumenti od više stranica sa preuređivanjem i izvoz u PDF sa deljenjem. Korisnici sve više očekuju i OCR prepoznavanje teksta, elektronske potpise i direktno otpremanje u skladišta u oblaku kao što su Google Drive i Dropbox.
Šta je OCR u aplikaciji za skeniranje?
OCR, ili optičko prepoznavanje znakova, pretvara tekst sa slike u pravi tekst koji se može označiti. U aplikaciji za skeniranje omogućava korisnicima da kopiraju, pretražuju ili izvezu reči sa stranice - zato CamDoc može da izveze sken kao TXT fajl.
Da li aplikacija za skeniranje treba da ima pretplatu ili jednokratnu kupovinu?
Zavisi od toga koliko je ljudi često koriste. CamDoc je besplatan uz jednokratne kupovine u aplikaciji, jer alat koji se koristi povremeno bolje konvertuje sa jednim otključavanjem nego sa ponavljajućim plaćanjem. Aplikacije koje se svakodnevno koriste u poslovnom kontekstu mogu da opravdaju pretplatu.
Povezano štivo
Izdvojeni radovi
Pogledajte sveImate projekat na umu?
Popunite formular i dobijte besplatne konsultacije!
Šta se dešava dalje?
- 1Pregledamo vaš zahtev i odgovaramo u roku od jednog radnog dana (pon-pet, po srednjoevropskom vremenu)
- 2Javljamo vam se da dogovorimo sastanak u vreme koje vam odgovara, gde god da se nalazite
- 3Šaljemo besplatnu ponudu i naše mišljenje o pristupu koji je najbolji za vas
- 4Čak i ako ne budemo sarađivali, smatrajte nas besplatnim tehničkim sagovornikom za vaše ideje i pitanja


