Se PDF sembra corretto ma incollarlo in un editor di testo normale produce caratteri diversi, verificarne la causa prima di modificare i caratteri o eseguire OCR. La mappatura tra la forma disegnata sulla pagina e il carattere che rappresenta potrebbe essere errata. La correzione di questi errori di testo PDF inizia con l'identificazione di quale parte del processo non è riuscita.
Perché il testo può sembrare corretto ma essere copiato in modo errato?
Il contenuto testuale PDF può memorizzare codici di caratteri di origine specifici del carattere anziché il testo Unicode. Un lettore PDF utilizza il carattere e le informazioni di codifica per individuare e disegnare un glifo. La copia richiede anche la traduzione di tali codici in caratteri significativi.
Disegnare la lettera A quindi non garantisce che l'estrazione restituirà A. ToUnicode è una mappatura in un dizionario di caratteri che associa i codici di caratteri di origine PDF alle sequenze di caratteri Unicode. Questa distinzione tra la visualizzazione e l'estrazione del testo è descritta in Riferimento Adobe PDF, sezione 5.9.

Cosa significa realmente la mappatura dei caratteri?
Questi tre concetti sono correlati, ma non sono intercambiabili:
| Mappatura | Ruolo principale |
|---|---|
La tabella cmap all'interno di un file di caratteri | Mappa i codici dei caratteri sugli indici dei glifi; Le sottotabelle Unicode utilizzano i codici Unicode |
| Codifica PDF; i caratteri compositi possono utilizzare un Encoding CMap | Interpreta i codici dei caratteri sorgente PDF e aiuta a individuare il glifo da disegnare |
PDF ToUnicode | Mappa i codici dei caratteri di origine PDF sul testo Unicode per la copia e l'estrazione |
Per il primo tipo, vedere OpenType cmap specifica. La riparazione discussa qui mira al terzo; non ricostruisce il file dei caratteri né sostituisce i glifi sulla pagina.
Una mappatura ToUnicode mancante non sempre causa testo confuso. Un lettore PDF può talvolta recuperare il testo da una codifica standard, nomi di glifi noti o una raccolta di caratteri. Al contrario, una tabella di mappatura può esistere e contenere comunque associazioni errate.
Per prima cosa controlla se il problema è la mappatura
Copia un breve passaggio in un editor di testo semplice e confrontalo con la pagina originale:
| Sintomo | Cosa controllare prima |
|---|---|
| La pagina sembra corretta, ma i caratteri copiati si trasformano costantemente in altri caratteri | Mappature dei caratteri mancanti o errate |
| Puoi selezionare solo un'immagine, non il testo | Un livello di testo mancante o testo convertito in contorni; considera il file sorgente o OCR |
| È possibile selezionare il testo su una pagina scansionata, ma non corrisponde all'immagine | Il riconoscimento risulta nel livello di testo OCR |
| I singoli caratteri sono corretti, ma le colonne o le tabelle non sono in ordine | Ordine di lettura ed estrazione del layout |
| La pagina stessa contiene caratteri o caselle mancanti | Risorse di caratteri, copertura dei glifi o codifica di visualizzazione |
Questi sono indizi per la risoluzione dei problemi, non diagnosi basate solo sull'apparenza. Anche l'incorporamento dei caratteri e la copia corretta sono preoccupazioni separate; vedere Incorporamento e sottoinsiemi di caratteri PDF.
Come puoi correggere il testo copiato utilizzando i glifi originali?
Supponiamo che il codice sorgente <0001> in un carattere particolare disegna A ma si associa erroneamente a 错 (U+9519). Questo è un frammento di mappatura illustrativo, non un file CMap completo:
Before: <0001> <9519>
After: <0001> <0041>
<0001> è un codice sorgente PDF con quel carattere, non il carattere Unicode U+0001. Mappandolo su U+0041 specifica che il glifo rappresenta A. Potrebbe anche essere necessario mappare uno ligature (più lettere che condividono un glifo) a diversi caratteri Unicode, come fi.
Dopo aver confermato che la riparazione della mappatura è appropriata, utilizzare PDF strumento di riparazione del testo:
- Selezionare PDF, quindi selezionare il carattere da correggere.
- Confronta i glifi originali nella griglia e inserisci il testo corretto sotto ciascun glifo.
- Esporta lo PDF riparato e conserva l'originale per il confronto.
Una modifica si applica ovunque vengano utilizzati lo stesso carattere e codice sorgente. Controlla i caratteri distinti separatamente, anche quando i loro nomi corrispondono. Se OCR riconosce erroneamente solo una parola, la rimappatura globale di un carattere potrebbe anche danneggiare il testo che era già corretto.
Come si verifica la riparazione?
Riapri il file esportato e copia e cerca il testo di esempio nel tuo lettore PDF di destinazione. Controlla altre occorrenze dello stesso codice e dei caratteri che non hai modificato. Confronta l'aspetto della pagina e controlla la punteggiatura, le legature e i numeri, invece di testare solo il primo carattere errato.
Alcuni PDF utilizzano anche ActualText per fornire testo sostitutivo, che il software di supporto potrebbe preferire. Se la modifica di ToUnicode non risolve il problema, verificare questa sostituzione. Lo strumento corrente avvisa di ActualText ma non lo modifica. Vedi PDF Spiegazione dell'associazione.
Per gli errori OCR, correggere o riconoscere nuovamente il livello di testo. Se disponi del file di layout originale, valuta la possibilità di correggerlo ed esportare un nuovo PDF. I file che non si aprono o non causano errori strutturali richiedono un approccio diverso; vedere quando la riparazione del formato PDF è appropriata.
Una volta identificato un problema di mappatura dei caratteri del font, correggilo con strumento di riparazione del testo locale PDF. I file vengono elaborati nel tuo browser senza caricarli. Dovresti comunque verificare il testo copiato e l'aspetto della pagina dopo l'esportazione.


