Texto desordenado en PDFs con búsqueda para scripts no latinos

This article was translated from English: Does it need improvement?
Translated
View the article in English

Realiza OCR de un documento con IronOCR, guárdalo como un PDF con búsqueda, y el texto reconocido puede parecer correcto en pantalla pero volverse un sinsentido cuando lo copias o extraes. Esto ocurre cuando la fuente del PDF no tiene glifos para el script que reconociste, y es común con scripts no latinos y complejos. La solución es guardar el PDF con una fuente que soporte tu script; el ejemplo a continuación usa gujarati.

El texto reconocido no tiene caracteres coincidentes para mapear, por lo que el texto copiado sale desordenado aunque OCR leyó la página correctamente. Una fuente que solo sea latina no resolverá esto: la fuente que proporciones debe cubrir el script que realmente reconociste.

Requisitos previos

  • IronOCR con el paquete de idioma para tu script. Este ejemplo usa OcrLanguage.GujaratiBest.
  • Una fuente TrueType que soporte tu script de destino. Este ejemplo usa AnekGujarati, disponible gratuitamente en Google Fonts.
  • La ruta completa al archivo de esa fuente.

Por favor notaRequiere IronOCR versión 2026.3.3 o posterior.

Solución

1. Coloca una fuente que cubra tu script

Encuentra una fuente que incluya glifos para tu script de destino, colócala en la máquina y anota su ruta completa. Para el ejemplo gujarati:

C:\Path\To\AnekGujarati-VariableFont_wdth,wght.ttf

El nombre del archivo de fuente variable AnekGujarati contiene una coma, así que cópialo exactamente. La ruta debe apuntar al archivo de fuente exacto.

2. Pasa la fuente a SaveAsSearchablePdf

Al guardar el PDF con búsqueda, proporciona la ruta a tu fuente compatible con el script como el CustomFontFile (3er) argumento. El 4to argumento es una etiqueta CustomFontName opcional; si lo omites, IronOCR usará el propio nombre del archivo de fuente:

ocrResult.SaveAsSearchablePdf(
    strOutputFile,
    false,
    @"C:\Path\To\AnekGujarati-VariableFont_wdth,wght.ttf",
    "AnekGujarati");
ocrResult.SaveAsSearchablePdf(
    strOutputFile,
    false,
    @"C:\Path\To\AnekGujarati-VariableFont_wdth,wght.ttf",
    "AnekGujarati");
ocrResult.SaveAsSearchablePdf( _
    strOutputFile, _
    False, _
    "C:\Path\To\AnekGujarati-VariableFont_wdth,wght.ttf", _
    "AnekGujarati")
$vbLabelText   $csharpLabel

El argumento que corrige la extracción desordenada es el archivo de fuente (3er parámetro): debe contener glifos para el script que realizaste OCR. El 4to parámetro solo nombra la fuente incrustada y no afecta el mapeo del script. Para un documento diferente, apunta el 3er parámetro a una fuente que soporte ese script.

3. Confirma que el texto se extrae

Abre el PDF generado y copia el texto reconocido para verificar que ahora se extrae correctamente. Si todavía aparece desordenado, la fuente proporcionada casi seguramente carece de glifos para tu script; verifica que la fuente realmente lo cubra.

Notas

  • No específico a gujarati: cualquier script no latino o complejo puede mostrar texto copiado desordenado cuando la fuente del PDF no lo cubre, incluyendo devanagari (hindi, maratí), árabe, tailandés, y texto chino, japonés o coreano.
  • Una fuente por script: proporciona una fuente que incluya el script que reconociste. La familia Noto de Google es una opción amplia, con fuentes por script como Noto Sans Gujarati, Noto Sans Devanagari y Noto Sans Arabic.
Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 6,175,195 | Versión: 2026.7 recién lanzado
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronOcr
ejecuta una muestra y observa cómo tu imagen se convierte en texto buscable.