PDF қарауға болады, бірақ көшірілмейді, ол сканерлеу болмауы мүмкін: алдымен мәтін қабатын және таңбаларды салыстыруды тексеріңіз

Егер мәтін жоқ болса, оны «мәтін қабаты қалыпты» деп тікелей бағалауға болмайды немесе сканерленген көшірме ретінде тікелей бағалауға болмайды. Мәтін, балама таңбалар және бет суретіне сілтемелер төменде сәйкесінше жазылады және қаралатын күй шығарылады; сурет сілтемелері кескіннің бүкіл бетті қамтитынын немесе мәтіннің сәйкестендірілетінін дәлелдемейді.

PDF форматындағы мәтінді көре алсаңыз, бірақ оны көшіре алмасаңыз, ол сканерленген көшірме болмауы мүмкін немесе таңбаларды салыстыруда ақаулық болуы мүмкін. Бұл мақала PDF мазмұнын шығару, аудару немесе құрылымдау қажет әзірлеушілер мен құжат өңдеушілерге арналған. Оқып болғаннан кейін сіз алдымен мәтін деңгейіндегі мәселелер мен кескін мазмұнын қалай ажыратуға болатынын білесіз және одан әрі не істеу керектігін анықтау үшін бірыңғай сигналдарды пайдаланасыз.

Мұндағы код пен мысалдар оқшауланған ортада үлгі тексерулерінен өткен синтетикалық үлгілерді пайдаланады және барлық нақты файлдарға немесе өнім өнімділігіне кепілдік бермейді. Маңызды құжаттарды өңдеуден бұрын түпнұсқаларды сақтап, мәтіндегі шекаралар мен қабылдау элементтеріне сәйкес қарап шығыңыз.

PDF файлын көруге болады, бірақ көшіруге болмайды. Бұл сканерленген көшірме ме? Бір сөйлемнен қорытынды

Тікелей үкім шығаруға болмайды. Алдымен мәтін қабатын және таңбаларды салыстыруды тексеріңіз, содан кейін бет кескінін қараңыз және соңында оның сканерлеу немесе салыстыру сәтсіздігі екенін анықтаңыз.

сіздің жағдайыңызҰсынылатын тәжірибелерсебебі
Мәтінді көре алады, бұзылған таңбаларды немесе бос орындарды көшіре аладыToUnicode салыстыруын және қаріп кодтауын тексеріңізКөрнекі көрініс қалыпты, бірақ мәтін қабаты негізінен жоқ немесе қате салыстыру салдарынан бұзылған.
Көшірілген таңбалар орынды көрінеді, бірақ семантикасы дұрыс емесШығару нәтижелерін көрнекі мазмұнмен салыстырыңызЭвристикалық салыстыру қате таңбаларды шығаруы және бос емес тексеруден өтуі мүмкін
Мәтін жоқ, бірақ бетте суреттер барКескінде мәтін бар-жоғын тексеріңіз, содан кейін OCR қажет екенін анықтаңызКескін дәйексөздері толық бетті сканерлеуге тең келмейді және мәтіннің оқылатынын дәлелдемейді
Мәтін де, суреттер де тексерілмейдіБет сызбасының мазмұнын қарауПарақ бос деп қорытынды жасауға ешқандай мүмкіндік жоқ

Неліктен көшірілген код бұзылған?

Пайдаланушылар мәтінді әдетте браузерде немесе оқырманда көре алады, бірақ көшірілген мәтін бұрмаланған, бос немесе қатысы жоқ таңбалар. Бұл әдетте зақымдалған файл емес және міндетті түрде сканерленген көшірме де емес. Түпкі себеп - PDF ішіндегі Юникодты салыстыру кестесіне (ToUnicode CMap) глиф (Глиф) жоқ немесе дұрыс емес.

Рендеринг механизмдері көрнекі мазмұнды салу үшін глиф индекстеріне сүйенеді, ал алмасу буфері мен мәтінді шығару құралдары семантикалық таңбаларды қалпына келтіру үшін салыстыру кестелеріне сүйенеді. Екеуі бұзылған кезде нашар мәтіннің «көрнекі қалыпты, машина оқымайтын» қабаты пайда болады.

Құжатты аударуды немесе құрылымдық алуды орындамас бұрын, алдымен мәселенің картада болуын немесе беттің өзі кескін екенін растау керек. Әйтпесе, кейінгі OCR немесе NLP процестері қате негізге негізделеді.

Глиф индексі мен Юникодты салыстыру арасындағы бұзу механизмі

PDF спецификациясы қаріптерге тек глиф контуры мен ен туралы ақпаратты ендіруге мүмкіндік береді, бірақ таңбаларды кодтауды салыстыруға болмайды. Келесі жағдайлар бұзылуды тудыруы мүмкін:

  • PDF файлын жасайтын бағдарламалық құрал ToUnicode кестесін дұрыс жазбайды
  • Теңшелетін кодтау пайдаланылады, бірақ декодтау ережелері берілмейді

Бұл кезде экстрактор тек бастапқы глиф идентификаторын (CID) ала алады. Бұл идентификаторлар рендерер үшін маңызды, бірақ мәтінді өңдеуге ешқандай мән бермейді.

Кейбір құралдар салыстыруды болжау үшін эвристиканы пайдаланады және нәтиже ақылға қонымды болып көрінетін, бірақ шын мәнінде дұрыс емес таңбалар болуы мүмкін, мысалы, қытай тыныс белгілерін латын әріптеріне түрлендіру немесе сандарды басқару таңбаларымен ауыстыру. Мұндай «жалған мәтін» таза бос орынға қарағанда нәзік, өйткені ол нөлдік емес тексеруден өте алады, бірақ ол төменгі ағындық сілтемелердегі дыбыссыз деректерді ластайды.

Мұндай мәселелерді бағалаудың кілті мәтінді таңдауға болатындығын көру емес, алынған жолдың көрнекі мазмұнға семантикалық сәйкестігін тексеру болып табылады.

Жад синтезі диагностикасы үшін PyMuPDF пайдаланыңыз

Келесі код жадтағы кірісті құрастырады және диагностикалық логиканы тексереді:

from io import BytesIO
from PIL import Image
import pymupdf
def inspect(page):
    text = page.get_text().strip()
    images = page.get_images()
    if "\ufffd" in text:
        state = "review_replacement_characters"
    elif text:
        state = "text_present_needs_semantic_review"
    elif images:
        state = "image_without_extracted_text"
    else:
        state = "empty_text_needs_review"
    return {"state": state, "characters": len(text), "image_refs": len(images)}
with pymupdf.open() as doc:
    doc.new_page().insert_text((50, 50), "Text sample")
    doc.new_page()
    picture = BytesIO()
    Image.new("RGB", (16, 16), "red").save(picture, format="PNG")
    doc.new_page().insert_image(pymupdf.Rect(10, 10, 100, 100), stream=picture.getvalue())
    assert inspect(doc[0])["state"] == "text_present_needs_semantic_review"
    assert inspect(doc[1])["state"] == "empty_text_needs_review"
    assert inspect(doc[2])["state"] == "image_without_extracted_text"
    assert inspect(doc[2])["characters"] == 0

Жоғарыдағы кодта diagnose_text_layer функциясы get_text("text") арқылы түпнұсқа мәтінді алады, басқару таңбалары мен бос орын таңбаларын сүзу үшін unicodedata.category пайдаланады және тиімді мазмұнның үлесін есептейді. Сонымен бірге ол get_text("blocks") арқылы кескін блоктарының болуын анықтайды.

Екі бекіту екі жағдайды тексереді: басып шығару жылдамдығы 0,9-дан жоғары қалыпты құжат және таңбалар саны нөлге тең сканерленген құжат. Бұл негізгі тармақталу логикасын қамтиды.

Бұл диагноз тек статистикалық сипаттамаларға негізделгенін ескеру маңызды. Шифрланған қаріптер немесе арнайы кодтаулар үшін әлі де қолмен тексеру қажет.

📊 Негізгі салыстыру

Төмендегі кестеде әртүрлі сигналдарға сәйкес келетін тексеру бағыттары және шығарылмайтын қорытындылар келтірілген:

СигналКелесі қадам — тексеруҚорытынды жасауға болмайтын
Басып шығаруға арналған мәтін барСемантика, тәртіп және дереккөздерді тексеріңізЕгер оны шығара алсаң, демек дұрыс
Балама кейіпкерлер барКодтау және қаріп картасын қарауБарлық кейіпкерлер жоғалып кетті
Суреттер бар, бірақ мәтін жоқСуретте мәтін бар ма, тексеріңізБұл толық бет сканерлеу болуы керек
Мәтін де, суреттер де анықталмадыБет сызбаларын қарауБұл бос парақ болуы керек

🎯 Қай әдіс саған ыңғайлы?

Егер мәтінді көре алсаң, бірақ көшіре алмасаң

ToUnicode сәйкестендірулерін және қаріп кодтауларын тексеруге басымдық беріңіз, олар әдетте карта үзілістерінен туындайды.

Егер көшірілген мәтін қалыпты көрінсе, бірақ қателер болса,

Нәтижелерді абзац бойынша салыстыру және шығару үшін визуалды контентті қолданыңыз; тек нөлдік емес пе, жоқ па, қарамаңыз.

Егер бетте тек суреттер болса, мәтін болмаса

Суретте мәтін бар-жоғын тексеріп, OCR қажет пе, жоқ па, анықтаңыз. Бүкіл бетті сканерлеу деп ойламаңыз.

Егер сіз құжат аудармасын жасауға дайындалып жатсаңыз

Алдымен мәтіннің тұтастығын тексеруді аяқтаңыз, содан кейін сезімтал емес үлгіні аударма процесіне тапсырыңыз.

Құжат аудармасы үшін осы тексеру тізімін қолданыңыз

Алдымен бет тәртібін, дереккөз орнын және мәтіннің тұтастығын мұқият тексеріңіз, содан кейін сол десенсибилизация үлгісін аударма процесіне жіберіңіз. Аударудан кейін атау, негізгі мәтін және жазулардың дұрыс сәйкестігін тексеру қажет; тек мәтіннің тегістігіне қарап бағалау жеткіліксіз.

OmniDoc (Өнім жазбасы) көп форматты құжат аударма порталын ұсынады, ал ресми сайтта OCR, сөздіктер және екі тілде анықтамалық мүмкіндіктер бар. Егер файлдан тікелей бастағыңыз келсе, бұл жолды нақты үлгілермен бағалай аласыз.

Жүктеуге құқығыңыз бар Anxious файлын пайдаланып, осы мақаладағы тексеру тізімінің нәтижелерін тексеріңіз. Бұл OmniDoc мақалада аталған ашық бастапқы кодты кітапханалар немесе ішкі алгоритмдерді қолданады дегенді білдірмейді, сондай-ақ өнім өнімділігін тексеруді мысалдармен алмастырмайды.

❓ Жиі қойылатын сұрақтар (FAQ)

1. Егер мәтінді шығара алсаңыз, бұл мәтін қабаты дұрыс деген сөз бе?

Жоқ. Шығарылған мазмұнның семантика, тәртібі және дереккөз бойынша тексерілуі қажет, егер сәйкестендіру дұрыс болмаса, ол ақылға қонымды таңбалар шығаруы мүмкін.

2. Егер бетте суреттер болса, бұл сканерлеу деген сөз бе?

Міндетті емес. Суретке сілтемелер суреттің бүкіл бетті қамтығанын дәлелдемейді, сондай-ақ мәтінді тануға болатынын дәлелдемейді; суретте мәтін бар-жоғын тексеру керек.

3. Егер мәтін де, суреттер де анықталмаса, бұл бет бос деген сөз бе?

Осы негізде қорытынды жасауға болмайды. Шешім қабылдамас бұрын беттің бейнесін тексергенің дұрыс.

4. Бұл диагностикалық скрипт барлық PDF файлдары үшін қолданыла ма?

Жоқ. Ол тек статистикалық ерекшеліктерге негізделген; шифрланған қаріптер немесе арнайы кодтаулар әлі де қолмен тексеруді талап етеді.

📝 Қысқаша мазмұны

PDF-терді оқуға болады, бірақ көшірмеуге болады; алдымен мәтін қабаттары мен таңба сәйкестігін тексеріңіз, содан кейін сурет мазмұнын қараңыз, соңында оның сканерленген көшірмесі екенін анықтаңыз. Өңдеу алдында түпнұсқа құжаттарды сақтаңыз және әр затты тексеру материалдарымен бірге қараңыз.

Қазір тәжірибе алыңыз: Құжатыңызды жүктеп, түпнұсқа форматтауды сақтап, аударуды бастаңыз

Әрі қарай оқу

Жаңартылған 2026-11-14