.Convertor
Meniu

Remediați textul distorsionat PDF: maparea fonturilor și explicarea ToUnicode

Loger

Loger

Oct 16, 2026 · 4 min read

Remediați textul distorsionat PDF: maparea fonturilor și explicarea ToUnicode

Dacă un PDF pare corect, dar inserarea într-un editor de text simplu produce caractere diferite, verificați cauza înainte de a schimba fonturile sau de a rula OCR. Maparea dintre forma desenată pe pagină și caracterul pe care îl reprezintă poate fi greșită. Corectarea acestor erori de text PDF începe cu identificarea părții acelui proces care a eșuat.

De ce textul poate arăta corect, dar poate fi copiat incorect?

Conținutul text PDF poate stoca coduri de caractere sursă specifice fontului, mai degrabă decât textul Unicode. Un cititor PDF folosește fontul și informațiile de codificare pentru a localiza și a desena un glif. Copierea necesită, de asemenea, traducerea acelor coduri în caractere semnificative.

Prin urmare, trasarea literei A nu garantează că extragerea va returna A. ToUnicode este o mapare într-un dicționar de fonturi care asociază codurile de caractere sursă PDF cu secvențe de caractere Unicode. Această distincție între afișarea și extragerea textului este descrisă în Referință Adobe PDF, secțiunea 5.9.

Un cod sursă PDF urmează căi separate către un glif vizibil și textul Unicode extras; o mapare ToUnicode incorectă poate face ca rezultatele să nu fie de acord

Ce înseamnă de fapt maparea fonturilor?

Aceste trei concepte sunt legate, dar nu sunt interschimbabile:

CartografiereRolul principal
Tabelul cmap în interiorul unui fișier cu fontMapează codurile de caractere la indici de glife; Subtabelele Unicode folosesc coduri Unicode
PDF Codificare; fonturile compozite pot folosi un Encoding CMapInterpretează codurile de caractere sursă PDF și ajută la localizarea simbolului de desenat
PDF ToUnicodeMapează codurile de caractere sursă PDF cu textul Unicode pentru copiere și extragere

Pentru primul tip, consultați Specificația OpenType cmap. Reparația discutată aici vizează pe a treia; nu reconstruiește fișierul fontului și nu înlocuiește glifele de pe pagină.

O mapare ToUnicode lipsă nu provoacă întotdeauna text deformat. Un cititor PDF poate recupera uneori text dintr-o codificare standard, nume de glife cunoscute sau o colecție de caractere. În schimb, un tabel de mapare poate exista și încă conține asocieri incorecte.

Mai întâi verificați dacă maparea este problema

Copiați un scurt pasaj într-un editor de text simplu și comparați-l cu pagina originală:

SimptomCe trebuie verificat mai întâi
Pagina pare corectă, dar caracterele copiate se transformă în mod constant în alte caractereMapări ale caracterelor lipsă sau incorecte
Puteți selecta doar o imagine, nu textUn strat de text lipsă sau un text convertit în contururi; luați în considerare fișierul sursă sau OCR
Textul poate fi selectat pe o pagină scanată, dar nu se potrivește cu imagineaRezultatele recunoașterii în stratul de text OCR
Caracterele individuale sunt corecte, dar coloanele sau tabelele sunt în ordineOrdinea de citire și extragerea aspectului
Pagina în sine conține caractere sau casete lipsăResurse de fonturi, acoperire a glifelor sau codificare a afișajului

Acestea sunt indicii de depanare, nu diagnostice bazate doar pe aspect. Încorporarea fonturilor și copierea corectă sunt, de asemenea, preocupări separate; vezi PDF încorporarea fonturilor și subseturile.

Cum puteți corecta textul copiat folosind glifele originale?

Să presupunem că codul sursă <0001> dintr-un anumit font desenează A, dar se mapează incorect la 错 (U+9519). Acesta este un fragment de mapare ilustrativ, nu un fișier CMap complet:

Before: <0001> <9519>
After:  <0001> <0041>

<0001> este un cod sursă PDF în acel font, nu caracterul Unicode U+0001. Maparea acestuia la U+0041 specifică faptul că gliful reprezintă A. Este posibil ca un ligature (mai multe litere care partajează un glif) poate fi necesar să se mapeze la mai multe caractere Unicode, cum ar fi fi.

După ce ați confirmat că repararea cartografierii este adecvată, utilizați PDF instrument de reparare a textului:

  1. Selectați PDF, apoi selectați fontul de corectat.
  2. Comparați glifele originale din grilă și introduceți textul corect sub fiecare glif.
  3. Exportați PDF reparat și păstrați originalul pentru comparație.

O modificare se aplică oriunde sunt folosite același font și cod sursă. Verificați fonturile distincte separat, chiar și atunci când numele lor se potrivesc. Dacă OCR a recunoscut greșit doar un cuvânt, remaparea globală a unui caracter poate deteriora și textul care era deja corect.

Cum verifici reparatia?

Deschideți din nou fișierul exportat și copiați și căutați exemplu de text în cititorul dvs. țintă PDF. Verificați alte apariții ale aceluiași cod și fonturi pe care nu le-ați editat. Comparați aspectul paginii și verificați punctuația, ligaturile și numerele, în loc să testați doar primul caracter incorect.

Unele PDF-uri folosesc, de asemenea, ActualText pentru a furniza text de înlocuire, pe care software-ul de suport îl poate prefera. Dacă schimbarea ToUnicode nu rezolvă problema, verificați această modificare. Instrumentul actual avertizează despre ActualText, dar nu îl editează. Vedeți PDF Explicația asociației.

Pentru erorile OCR, corectați sau recunoașteți din nou stratul de text. Dacă aveți fișierul de aspect original, luați în considerare să-l corectați și să exportați un nou PDF. Fișierele care nu se vor deschide sau nu declanșează erori structurale au nevoie de o abordare diferită; vezi când repararea formatului PDF este adecvată.

Odată ce ați identificat o problemă de mapare a caracterelor fontului, corectați-o cu instrument local de reparare a textului PDF. Fișierele sunt procesate în browser fără a le încărca. Ar trebui să verificați în continuare textul copiat și aspectul paginii după export.

Subiect

PDF

PDF

Articole Publicate15

Lecturi recomandate