Om en PDF ser korrekt ut men att klistra in i en vanlig textredigerare ger olika tecken, kontrollera orsaken innan du ändrar teckensnitt eller kör OCR. Mappningen mellan formen som ritas på sidan och tecknet den representerar kan vara felaktig. Att korrigera dessa PDF-textfel börjar med att identifiera vilken del av processen som misslyckades.
Varför kan text se rätt ut men kopieras felaktigt?
PDF-textinnehåll kan lagra teckensnittsspecifika källteckenkoder snarare än Unicode-text. En PDF-läsare använder teckensnitt och kodningsinformation för att hitta och rita en glyf. Kopiering kräver också att dessa koder översätts till meningsfulla tecken.
Att rita bokstaven A garanterar därför inte att extraktion kommer att returnera A. ToUnicode är en mappning i en teckensnittslexikon som associerar PDF-källteckenkoder med Unicode-teckensekvenser. Denna skillnad mellan att visa och extrahera text beskrivs i Adobe PDF Referens, avsnitt 5.9.

Vad betyder typsnittsmappning egentligen?
Dessa tre begrepp är relaterade, men de är inte utbytbara:
| Kartläggning | Huvudroll |
|---|---|
cmap-tabellen i en teckensnittsfil | Mappar teckenkoder till glyfindex; Unicode-undertabeller använder Unicode-koder |
| PDF Kodning; sammansatta teckensnitt kan använda en Encoding CMap | Tolkar PDF källteckenkoder och hjälper till att hitta glyfen att rita |
PDF ToUnicode | Mappar PDF källteckenkoder till Unicode text för kopiering och extrahering |
För den första typen, se OpenType cmap specifikation. Reparationen som diskuteras här riktar sig mot den tredje; den bygger inte om teckensnittsfilen eller ersätter glyferna på sidan.
En saknad ToUnicode-mappning orsakar inte alltid förvrängd text. En PDF-läsare kan ibland återställa text från en standardkodning, kända glyfnamn eller en teckensamling. Omvänt kan en mappningstabell existera och fortfarande innehålla felaktiga associationer.
Kontrollera först om kartläggningen är problemet
Kopiera ett kort avsnitt till en vanlig textredigerare och jämför den med originalsidan:
| Symptom | Vad ska man kolla först |
|---|---|
| Sidan ser korrekt ut, men kopierade tecken förvandlas konsekvent till andra tecken | Saknade eller felaktiga teckenmappningar |
| Du kan bara välja en bild, inte text | Ett saknat textlager eller text konverterad till konturer; överväg källfilen eller OCR |
| Text kan väljas på en skannad sida, men den matchar inte bilden | Igenkänning resulterar i textlagret OCR |
| Enskilda tecken är korrekta, men kolumner eller tabeller är ur funktion | Läsordning och layoutextraktion |
| Själva sidan innehåller saknade tecken eller rutor | Teckensnittsresurser, glyftäckning eller displaykodning |
Dessa är ledtrådar för felsökning, inte diagnoser baserade på enbart utseende. Teckensnittsinbäddning och korrekt kopiering är också separata problem; se PDF teckensnittsinbäddning och delmängder.
Hur kan du korrigera kopierad text med de ursprungliga glyferna?
Anta att källkoden <0001> i ett visst typsnitt ritar A men mappar felaktigt till 错 (U+9519). Detta är ett illustrativt mappningsfragment, inte en komplett CMap-fil:
Before: <0001> <9519>
After: <0001> <0041>
<0001> är en PDF-källkod i det teckensnittet, inte Unicode-tecknet U+0001. Att mappa den till U+0041 anger att glyfen representerar A. En ligature (flera bokstäver som delar en glyf) kan också behöva mappas till flera Unicode-tecken, till exempel fi.
När du har bekräftat att mappreparation är lämplig, använd PDF textreparationsverktyg:
- Välj PDF och välj sedan typsnittet som ska korrigeras.
- Jämför de ursprungliga glyferna i rutnätet och skriv in rätt text under varje glyf.
- Exportera den reparerade PDF och behåll originalet för jämförelse.
En ändring gäller överallt där samma typsnitt och källkod används. Kontrollera olika teckensnitt separat, även när deras namn matchar. Om OCR missuppfattade bara ett ord, kan global ommappning av ett tecken också skada text som redan var korrekt.
Hur verifierar du reparationen?
Öppna den exporterade filen igen och kopiera och sök efter exempeltext i din målläsare för PDF. Kontrollera andra förekomster av samma kod och teckensnitt som du inte redigerade. Jämför sidans utseende och inspektera skiljetecken, ligaturer och siffror, istället för att bara testa det första felaktiga tecknet.
Vissa PDF-filer använder också ActualText för att tillhandahålla ersättningstext, vilket stödprogram kanske föredrar. Om ändring av ToUnicode inte löser problemet, kontrollera efter denna åsidosättning. Det aktuella verktyget varnar för ActualText men redigerar det inte. Se PDF Association förklaring.
För OCR-fel, korrigera eller känna igen textlagret igen. Om du har den ursprungliga layoutfilen, överväg att korrigera den och exportera en ny PDF. Filer som inte öppnas eller utlöser strukturella fel behöver ett annat tillvägagångssätt; se när reparation av PDF-format är lämplig.
När du har identifierat ett teckensnittsmappningsproblem, korrigera det med lokalt PDF textreparationsverktyg. Filer bearbetas i din webbläsare utan att ladda upp dem. Du bör fortfarande verifiera den kopierade texten och sidans utseende efter exporten.


