OCR мен мәтінді шығару — екі бөлек әрекет
Шығару файлда жазылып қойған таңбаларды оқиды және оларда қателесе алмайды: «щ» әрпі «щ» болып сақталған және «щ» болып оралады. Тану бірде-бір таңба жоқ жерде жұмыс істейді және оларды суретке қарап қалпына келтіреді — яғни әрқашан жуықтап. Біріншісі браузерде бетіне секундтың үлесінде есептеледі, екіншісі серверде 2–5 секундтан жүреді. Оларды үнемі шатастырады, ал таңдау бір белгі бойынша жасалады: файлда мәтін қабаты бар ма, жоқ па.
Сандар туралы қысқаша
- Шығару
- дайын таңбаларды оқиды, тану қатесі болмайды
- Тану
- таңбаларды суретке қарап жасайды, әрқашан жуықтап
- Қайда есептеледі
- шығару — браузерде, тану — серверде
- Жылдамдық
- шығару — бетіне секунд үлесі, тану — 2–5 секунд
- Таңдау белгісі
- көрсеткіште абзац тінтуірмен бөлектене ме
- Шығарудағы қалыпқа келтіру
- NFKC: fi лигатурасы мен жіктелген ә бір таңбаға жабысады
Екі әрекет қатар
- Шығару: кірісі — мәтін қабаты бар PDF, шығысы — TXT, дәлдігі толық, өңдеу түгелдей браузерде.
- Тану: кірісі — қабатсыз скан, шығысы — қабаты бар сол PDF, дәлдігі скан сапасына тәуелді, өңдеу серверде.
- Шығару бастапқы файлды өзгертпейді, тану жаңасын қайтарады — көрінбейтін қабат қосылған күйде.
- Шығару гигабайт шегіндегі кез келген көлемдегі құжатпен істейді, тану 20 бет пен 30 МБ-пен шектелген.
- Шығаруда кезек те, өтініш шегі де жоқ, тануда екеуі де бар, себебі ол ауыр жұмыс.
Файлыңыз қандай екенін бір минутта қалай білуге болады
- PDF ашып, абзацты тінтуірмен бөлектеп көріңіз. Жолдар боялса — қабат бар.
- Жолдардың орнына бет үстінде тікбұрышты жақтау созылса, алдыңызда сурет тұр.
- Күмәндансаңыз — файлды мәтін шығарудан өткізіңіз: бос нәтиже қабаттың жоқтығын растайды.
- Аралас жағдай да болады: бірнеше бет мәтінмен, қалғаны скан. Онда екі әрекет те қажет.
- Танудан кейін сол файлда шығару жұмыс істей бастайды — енді оның оқитыны бар.
Әрқайсысының ішінде не болып жатыр
Шығару беттерді аралап, оларда жазылған мәтін элементтерін координаттарымен бірге жинайды. Жол ауысулары құжаттың өзінен алынады, болжанбайды: pdfjs әр көрнекі жолдың соңғы элементін белгілейді, біз соны ескереміз. Нәтиже NFKC бойынша қалыпқа келтіріледі, сондықтан fi лигатурасы кәдімгі «fi» болады, ал бөлек диакритикамен жазылған қазақша ә бір таңбаға жабысады — әйтпесе жүктелген файлдан іздеу оғаш жүрер еді.
Тану файлды оқымайды, ол пиксельдерге қарайды. Әр бет растеризацияланады, суреттен мәтін аймақтары мен әріп пішіндері ізделеді, шыққан таңбалар суреттің астына мөлдір қабатпен жазылады. Нәтиженің барлық қасиеті осыдан: ол рұқсаттылыққа, тілге, қаріпке және парақтың түзу жатқанына тәуелді, сондықтан оны міндетті түрде тексеру керек, ал шығарудың нәтижесін тексерудің қажеті жоқ.
Жиі қойылатын сұрақтар
Мәтінді шығару бос файл қайтарды. Құрал бұзылды ма?
Жоқ, ол дұрыс жұмыс істеп, оқитын ештеңе жоқ екенін хабарлады. Бос нәтиже мәтін қабатының жоқтығын білдіреді, яғни алдыңызда скан тұр — мұнда басқа әрекет, тану қажет.
Мәтіні бар құжатты тануға бола ма?
Мәні жоқ: дайын мәтіні бар беттер қолға тимей өткізіледі, файл сізге өзгеріссіз оралады. Оның үстіне сіз ештеңе қоспайтыны кепілді жұмысқа шектеулі өтініштің бірін жұмсайсыз.
Шығару неге тегін әрі лезде, ал тану олай емес?
Шығару — дайын деректерді оқу, ол браузер қойындысында секундтың үлесіне сыяды. Тану әр бетті растеризациялап, оны модель арқылы өткізеді, ал бұл серверде процессор секундтары мен жүздеген мегабайт жад.
Беттердің бірі мәтіндік, бірі скан болса не істеу керек?
Құжатты тұтасымен тануға жіберіңіз: мәтіндік беттер өткізіліп жіберіледі, скандар қабат алады. Содан кейін шығару бүкіл файлдан мәтін жинайды, оны бөліктерге бөлудің қажеті болмайды.