Hvis en PDF ser riktig ut, men å lime inn i en ren teksteditor produserer forskjellige tegn, sjekk årsaken før du endrer fonter eller kjører OCR. Tilordningen mellom formen tegnet på siden og tegnet den representerer kan være feil. Å korrigere disse PDF-tekstfeilene starter med å identifisere hvilken del av prosessen som mislyktes.
Hvorfor kan tekst se riktig ut, men kopiere feil?
PDF tekstinnhold kan lagre skriftspesifikke kildetegnkoder i stedet for Unicode-tekst. En PDF-leser bruker fonten og kodingsinformasjonen til å finne og tegne en glyph. Kopiering krever også at disse kodene oversettes til meningsfulle tegn.
Å tegne bokstaven A garanterer derfor ikke at utvinning vil returnere A. ToUnicode er en tilordning i en fontordbok som assosierer PDF-kildetegnkoder med Unicode-tegnsekvenser. Dette skillet mellom å vise og trekke ut tekst er beskrevet i Adobe PDF Referanse, avsnitt 5.9.

Hva betyr egentlig fontmapping?
Disse tre konseptene er relatert, men de er ikke utskiftbare:
| Kartlegging | Hovedrolle |
|---|---|
cmap-tabellen inne i en fontfil | Tilordner tegnkoder til glyph-indekser; Unicode-undertabeller bruker Unicode-koder |
| PDF Koding; sammensatte skrifter kan bruke en Encoding CMap | Tolker PDF kildetegnkoder og hjelper til med å finne glyfen som skal tegnes |
PDF ToUnicode | Tilordner PDF kildetegnkoder til Unicode tekst for kopiering og utvinning |
For den første typen, se OpenType cmap spesifikasjon. Reparasjonen som diskuteres her retter seg mot den tredje; den gjenoppbygger ikke skriftfilen eller erstatter tegnene på siden.
En manglende ToUnicode-tilordning forårsaker ikke alltid forvrengt tekst. En PDF-leser kan noen ganger gjenopprette tekst fra en standardkoding, kjente glyphnavn eller en tegnsamling. Omvendt kan en kartleggingstabell eksistere og fortsatt inneholde feil assosiasjoner.
Sjekk først om kartleggingen er problemet
Kopier en kort passasje inn i en ren tekstredigerer og sammenlign den med den opprinnelige siden:
| Symptom | Hva du bør sjekke først |
|---|---|
| Siden ser riktig ut, men kopierte tegn blir konsekvent til andre tegn | Manglende eller feil tegntilordninger |
| Du kan bare velge et bilde, ikke tekst | Et manglende tekstlag eller tekst konvertert til konturer; vurdere kildefilen eller OCR |
| Tekst kan velges på en skannet side, men den samsvarer ikke med bildet | Gjenkjenning resulterer i tekstlaget OCR |
| Individuelle tegn er riktige, men kolonner eller tabeller er ute av rekkefølge | Leserekkefølge og layoututtrekk |
| Selve siden inneholder manglende tegn eller bokser | Skriftressurser, glyph-dekning eller skjermkoding |
Dette er ledetråder for feilsøking, ikke diagnoser basert på utseende alene. Innbygging av skrift og korrekt kopiering er også separate bekymringer; se PDF skriftinnbygging og delsett.
Hvordan kan du korrigere kopiert tekst ved å bruke de originale tegnene?
Anta at kildekoden <0001> i en bestemt skrift tegner A, men feilaktig tilordner 错 (U+9519). Dette er et illustrativt kartleggingsfragment, ikke en komplett CMap-fil:
Before: <0001> <9519>
After: <0001> <0041>
<0001> er en PDF-kildekode i den fonten, ikke Unicode-tegnet U+0001. Tilordning av den til U+0041 spesifiserer at glyfen representerer A. En ligature (flere bokstaver som deler én glyph) kan også trenge å tilordne flere Unicode-tegn, for eksempel fi.
Når du har bekreftet at kartreparasjon er riktig, bruk PDF tekstreparasjonsverktøy:
- Velg PDF, og velg deretter skriften som skal korrigeres.
- Sammenlign de originale tegnene i rutenettet og skriv inn riktig tekst under hver tegnvariant.
- Eksporter den reparerte PDF og behold originalen for sammenligning.
En endring gjelder overalt hvor samme font og kildekode brukes. Sjekk forskjellige fonter separat, selv når navnene deres samsvarer. Hvis OCR feilgjenkjente bare ett ord, kan global remapping av et tegn også skade tekst som allerede var riktig.
Hvordan verifiserer du reparasjonen?
Åpne den eksporterte filen på nytt og kopier og søk etter eksempeltekst i målleseren PDF. Sjekk andre forekomster av samme kode og fonter som du ikke redigerte. Sammenlign sideutseendet og inspiser tegnsetting, ligaturer og tall, i stedet for å teste bare det første feil tegnet.
Noen PDF-filer bruker også ActualText for å levere erstatningstekst, hvilken støtteprogramvare kanskje foretrekker. Hvis endring av ToUnicode ikke løser problemet, se etter denne overstyringen. Det gjeldende verktøyet advarer om ActualText, men redigerer det ikke. Se PDF Association forklaring.
For OCR-feil, korriger eller gjenkjenne tekstlaget igjen. Hvis du har den originale layoutfilen, bør du vurdere å rette den og eksportere en ny PDF. Filer som ikke vil åpne eller utløse strukturelle feil trenger en annen tilnærming; se når reparasjon i PDF-format er passende.
Når du har identifisert et problem med tilordning av skrifttegn, korrigerer du det med lokalt PDF tekstreparasjonsverktøy. Filer behandles i nettleseren din uten å laste dem opp. Du bør fortsatt bekrefte den kopierte teksten og sideutseendet etter eksport.


