Ak PDF vyzerá správne, ale prilepením do editora obyčajného textu vzniknú rôzne znaky, pred zmenou fontov alebo spustením OCR skontrolujte príčinu. Mapovanie medzi tvarom nakresleným na stránke a znakom, ktorý predstavuje, môže byť nesprávne. Oprava týchto textových chýb PDF začína identifikáciou, ktorá časť tohto procesu zlyhala.
Prečo môže text vyzerať správne, ale kopírovať ho nesprávne?
Textový obsah PDF môže ukladať kódy zdrojových znakov špecifické pre písmo namiesto textu Unicode. Čítačka PDF používa písmo a informácie o kódovaní na nájdenie a nakreslenie glyfu. Kopírovanie tiež vyžaduje preklad týchto kódov do zmysluplných znakov.
Nakreslenie písmena A preto nezaručuje, že extrakcia vráti A. ToUnicode je mapovanie v slovníku písiem, ktoré spája kódy zdrojových znakov PDF so sekvenciami znakov Unicode. Tento rozdiel medzi zobrazením a extrahovaním textu je popísaný v Referenčná príručka Adobe PDF, časť 5.9.

Čo vlastne znamená mapovanie písma?
Tieto tri pojmy spolu súvisia, ale nie sú vzájomne zameniteľné:
| Mapovanie | Hlavná úloha |
|---|---|
Tabuľka cmap v súbore písma | Mapuje kódy znakov na indexy glyfov; Podtabuľky Unicode používajú kódy Unicode |
| PDF kódovanie; zložené písma môžu používať Encoding CMap | Interpretuje kódy zdrojových znakov PDF a pomáha nájsť glyf na kreslenie |
PDF ToUnicode | Mapuje kódy zdrojových znakov PDF na text Unicode na kopírovanie a extrakciu |
Pre prvý typ pozri OpenType Špecifikácia cmap. Oprava, o ktorej sa tu diskutuje, sa zameriava na tretiu; neprebuduje súbor písma ani nenahradí glyfy na stránke.
Chýbajúce mapovanie ToUnicode nespôsobuje vždy skomolený text. Čítačka PDF môže niekedy obnoviť text zo štandardného kódovania, známych názvov glyfov alebo zbierky znakov. Naopak, mapovacia tabuľka môže existovať a stále obsahovať nesprávne asociácie.
Najprv skontrolujte, či je problém v mapovaní
Skopírujte krátku pasáž do textového editora a porovnajte ju s pôvodnou stránkou:
| Symptóm | Čo skontrolovať ako prvé |
|---|---|
| Stránka vyzerá správne, ale skopírované znaky sa neustále menia na iné znaky | Chýbajúce alebo nesprávne mapovania znakov |
| Môžete vybrať iba obrázok, nie text | Chýbajúca textová vrstva alebo text prevedený na obrysy; zvážte zdrojový súbor alebo OCR |
| Text je možné vybrať na naskenovanej strane, ale nezhoduje sa s obrázkom | Výsledkom rozpoznávania je textová vrstva OCR |
| Jednotlivé znaky sú správne, ale stĺpce alebo tabuľky nie sú v poriadku | Poradie čítania a extrakcia rozloženia |
| Samotná stránka obsahuje chýbajúce znaky alebo políčka | Zdroje písma, pokrytie glyfov alebo kódovanie zobrazenia |
Toto sú stopy na riešenie problémov, nie diagnózy založené len na vzhľade. Vkladanie písma a správne kopírovanie sú tiež samostatné záležitosti; pozri Vkladanie a podmnožiny písma PDF.
Ako môžete opraviť skopírovaný text pomocou pôvodných glyfov?
Predpokladajme, že zdrojový kód <0001> v konkrétnom písme kreslí A, ale nesprávne sa mapuje na 错 (U+9519). Toto je ilustratívny fragment mapovania, nie úplný súbor CMap:
Before: <0001> <9519>
After: <0001> <0041>
<0001> je zdrojový kód PDF v tomto písme, nie znak Unicode U+0001. Mapovanie na U+0041 určuje, že glyf predstavuje A. ligature (niekoľko písmen zdieľajúcich jeden glyf) môže byť tiež potrebné namapovať na niekoľko znakov Unicode, ako napríklad fi.
Keď potvrdíte, že oprava mapovania je vhodná, použite Nástroj na opravu textu PDF:
- Vyberte PDF a potom vyberte písmo, ktoré chcete opraviť.
- Porovnajte pôvodné glyfy v mriežke a zadajte správny text pod každý glyf.
- Exportujte opravený PDF a ponechajte si originál na porovnanie.
Zmena sa týka všade, kde sa používa rovnaké písmo a zdrojový kód. Jednotlivé typy písma skontrolujte samostatne, aj keď sa ich názvy zhodujú. Ak OCR nesprávne rozpoznal len jedno slovo, globálne premapovanie znaku môže tiež poškodiť text, ktorý už bol správny.
Ako overíte opravu?
Znovu otvorte exportovaný súbor a skopírujte a vyhľadajte vzorový text vo svojej cieľovej čítačke PDF. Skontrolujte ďalšie výskyty rovnakého kódu a písiem, ktoré ste neupravovali. Porovnajte vzhľad stránky a skontrolujte interpunkciu, ligatúry a čísla namiesto testovania iba prvého nesprávneho znaku.
Niektoré súbory PDF tiež používajú ActualText na dodanie náhradného textu, ktorý môže podporný softvér preferovať. Ak zmena ToUnicode problém nevyrieši, skontrolujte toto prepísanie. Aktuálny nástroj varuje pred ActualText, ale neupravuje ho. Pozrite si Vysvetlenie asociácie PDF.
V prípade chýb OCR znova opravte alebo rozpoznajte textovú vrstvu. Ak máte pôvodný súbor rozloženia, zvážte jeho opravu a exportovanie nového PDF. Súbory, ktoré sa neotvoria alebo nespustia štrukturálne chyby, si vyžadujú iný prístup; pozri keď je vhodná oprava formátu PDF.
Keď ste identifikovali problém s mapovaním znakov písma, opravte ho pomocou lokálny nástroj na opravu textu PDF. Súbory sú spracované vo vašom prehliadači bez ich nahrávania. Skopírovaný text a vzhľad stránky by ste mali aj po exportovaní overiť.


