Pokud PDF vypadá správně, ale při vložení do editoru prostého textu vzniknou různé znaky, před změnou písem nebo spuštěním OCR zkontrolujte příčinu. Mapování mezi tvarem nakresleným na stránce a znakem, který představuje, může být chybné. Oprava těchto textových chyb PDF začíná určením, která část tohoto procesu selhala.
Proč může text vypadat správně, ale kopírovat se špatně?
Textový obsah PDF může ukládat kódy zdrojových znaků specifických pro písmo namísto textu Unicode. Čtečka PDF používá informace o písmu a kódování k nalezení a nakreslení glyfu. Kopírování také vyžaduje překlad těchto kódů do smysluplných znaků.
Nakreslení písmene A tedy nezaručuje, že extrakce vrátí A. ToUnicode je mapování ve slovníku písem, které spojuje kódy zdrojových znaků PDF se sekvencemi znaků Unicode. Tento rozdíl mezi zobrazením a extrahováním textu je popsán v Referenční příručka Adobe PDF, část 5.9.

Co vlastně znamená mapování písma?
Tyto tři pojmy spolu souvisí, ale nejsou zaměnitelné:
| Mapování | Hlavní role |
|---|---|
Tabulka cmap uvnitř souboru písem | Mapuje kódy znaků na indexy glyfů; Podtabulky Unicode používají kódy Unicode |
| PDF Kódování; složená písma mohou používat Encoding CMap | Interpretuje kódy zdrojových znaků PDF a pomáhá najít glyf ke kreslení |
PDF ToUnicode | Mapuje kódy zdrojových znaků PDF na text Unicode pro kopírování a extrahování |
Pro první typ viz OpenType Specifikace cmap. Zde diskutovaná oprava se zaměřuje na třetí; neobnoví soubor písma ani nenahradí glyfy na stránce.
Chybí mapování ToUnicode vždy nezpůsobuje zkomolený text. Čtečka PDF může někdy obnovit text ze standardního kódování, známých názvů glyfů nebo sbírky znaků. Naopak mapovací tabulka může existovat a stále obsahovat nesprávné asociace.
Nejprve zkontrolujte, zda je problém v mapování
Zkopírujte krátkou pasáž do editoru prostého textu a porovnejte ji s původní stránkou:
| Příznak | Co zkontrolovat jako první |
|---|---|
| Stránka vypadá správně, ale zkopírované znaky se důsledně mění v jiné znaky | Chybějící nebo nesprávná mapování znaků |
| Můžete vybrat pouze obrázek, nikoli text | Chybějící textová vrstva nebo text převedený na obrysy; zvažte zdrojový soubor nebo OCR |
| Text lze vybrat na naskenované stránce, ale neodpovídá obrázku | Výsledkem rozpoznávání je textová vrstva OCR |
| Jednotlivé znaky jsou správné, ale sloupce nebo tabulky jsou mimo pořadí | Pořadí čtení a extrakce rozložení |
| Stránka samotná obsahuje chybějící znaky nebo rámečky | Zdroje písem, pokrytí glyfů nebo kódování zobrazení |
Toto jsou vodítka pro řešení problémů, nikoli diagnózy založené pouze na vzhledu. Vkládání písem a správné kopírování jsou také samostatné záležitosti; viz Vkládání a podmnožiny písem PDF.
Jak můžete opravit zkopírovaný text pomocí původních glyfů?
Předpokládejme, že zdrojový kód <0001> v určitém písmu kreslí A, ale nesprávně se mapuje na 错 (U+9519). Toto je ilustrativní fragment mapování, nikoli úplný soubor CMap:
Before: <0001> <9519>
After: <0001> <0041>
<0001> je zdrojový kód PDF v tomto písmu, nikoli znak Unicode U+0001. Mapování na U+0041 určuje, že glyf představuje A. ligature (několik písmen sdílejících jeden glyf) může být také potřeba namapovat na několik znaků Unicode, jako je fi.
Jakmile potvrdíte, že oprava mapování je vhodná, použijte Nástroj pro opravu textu PDF:
- Vyberte PDF a poté vyberte písmo, které chcete opravit.
- Porovnejte původní glyfy v mřížce a zadejte správný text pod každý glyf.
- Exportujte opravený PDF a originál si uschovejte pro srovnání.
Změna platí všude tam, kde je použito stejné písmo a zdrojový kód. Jednotlivé typy písem zkontrolujte samostatně, i když se jejich názvy shodují. Pokud OCR špatně rozpoznal pouze jedno slovo, globální přemapování znaku může také poškodit text, který již byl správný.
Jak ověřujete opravu?
Znovu otevřete exportovaný soubor a zkopírujte a vyhledejte ukázkový text v cílové čtečce PDF. Zkontrolujte další výskyty stejného kódu a písem, které jste neupravovali. Porovnejte vzhled stránky a zkontrolujte interpunkci, ligatury a čísla, místo abyste testovali pouze první nesprávný znak.
Některé soubory PDF také používají ActualText k dodání náhradního textu, což může podpůrný software preferovat. Pokud změna ToUnicode problém nevyřeší, zkontrolujte toto přepsání. Aktuální nástroj varuje před ActualText, ale neupravuje jej. Viz Vysvětlení asociace PDF.
U chyb OCR opravte nebo rozpoznávejte textovou vrstvu znovu. Pokud máte původní soubor rozvržení, zvažte jeho opravu a export nového PDF. Soubory, které se neotevřou nebo nespustí strukturální chyby, vyžadují jiný přístup; viz když je vhodná oprava formátu PDF.
Jakmile zjistíte problém s mapováním znaků písma, opravte jej pomocí místní nástroj pro opravu textu PDF. Soubory jsou zpracovávány ve vašem prohlížeči, aniž byste je nahrávali. I po exportu byste měli ověřit zkopírovaný text a vzhled stránky.


