.Convertor
Meny

Åtgärda förvrängd PDF Text: Font Mapping och ToUnicode Explained

Loger

Loger

Oct 16, 2026 · 4 min read

Åtgärda förvrängd PDF Text: Font Mapping och ToUnicode Explained

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.

En PDF-källkod följer separata sökvägar till en synlig glyf och extraherad Unicode-text; en felaktig ToUnicode-mappning kan göra att resultaten inte överensstämmer

Vad betyder typsnittsmappning egentligen?

Dessa tre begrepp är relaterade, men de är inte utbytbara:

KartläggningHuvudroll
cmap-tabellen i en teckensnittsfilMappar teckenkoder till glyfindex; Unicode-undertabeller använder Unicode-koder
PDF Kodning; sammansatta teckensnitt kan använda en Encoding CMapTolkar PDF källteckenkoder och hjälper till att hitta glyfen att rita
PDF ToUnicodeMappar 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:

SymptomVad ska man kolla först
Sidan ser korrekt ut, men kopierade tecken förvandlas konsekvent till andra teckenSaknade eller felaktiga teckenmappningar
Du kan bara välja en bild, inte textEtt 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 bildenIgenkänning resulterar i textlagret OCR
Enskilda tecken är korrekta, men kolumner eller tabeller är ur funktionLäsordning och layoutextraktion
Själva sidan innehåller saknade tecken eller rutorTeckensnittsresurser, 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:

  1. Välj PDF och välj sedan typsnittet som ska korrigeras.
  2. Jämför de ursprungliga glyferna i rutnätet och skriv in rätt text under varje glyf.
  3. 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.

Ämne

PDF

PDF

Publicerade artiklar15

Rekommenderad läsning