Texto Deturpado em PDFs Pesquisáveis para Escritas Não Latinas

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

OCR um documento com IronOCR, salve-o como um PDF pesquisável, e o texto reconhecido pode parecer correto na tela, mas se transformar em um absurdo quando você o copia ou extrai. Isso acontece quando a fonte do PDF não tem glifos para o script que você reconheceu, e é comum com scripts não latinos e complexos. A solução é salvar o PDF com uma fonte que suporte seu script; o exemplo abaixo usa Gujarati.

O texto reconhecido não tem caracteres correspondentes para mapear, então o texto copiado sai deturpado, mesmo que o OCR tenha lido a página corretamente. Uma fonte somente latina não resolverá isso: a fonte que você fornece tem que cobrir o script que você realmente reconheceu.

Pré-requisitos

  • IronOCR com o pacote de idioma para o seu script. Este exemplo usa OcrLanguage.GujaratiBest.
  • Uma fonte TrueType que suporta seu script alvo. Este exemplo usa AnekGujarati, disponível gratuitamente no Google Fonts.
  • O caminho completo para esse arquivo de fonte.

ObserveRequer IronOCR versão 2026.3.3 ou posterior.

Solução

1. Coloque uma Fonte que Cobre Seu Script

Encontre uma fonte que inclua glifos para seu script alvo, coloque-a na máquina e anote seu caminho completo. Para o exemplo Gujarati:

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

O nome de arquivo de variável-fonte AnekGujarati contém uma vírgula, então copie-o exatamente. O caminho deve apontar para o arquivo de fonte exato.

2. Passe a Fonte para SalvarComoPdfPesquisável

Ao salvar o PDF pesquisável, forneça o caminho para sua fonte capacitada para o script como o argumento CustomFontFile (3º). O 4º argumento é um rótulo CustomFontName opcional; se você omití-lo, o IronOCR usa o próprio nome do arquivo de fonte:

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

O argumento que corrige a extração deturpada é o arquivo de fonte (3º parâmetro): ele deve conter glifos para o script que você fez OCR. O 4º parâmetro apenas nomeia a fonte incorporada e não afeta o mapeamento do script. Para um documento diferente, aponte o 3º parâmetro para uma fonte que suporte aquele script.

3. Confirme as Extrações de Texto

Abra o PDF gerado e copie o texto reconhecido para verificar se agora ele é extraído corretamente. Se ainda aparecer deturpado, a fonte fornecida quase certamente não tem glifos para seu script; reverifique se a fonte realmente o cobre.

Notas

  • Não específico para Gujarati: qualquer script não latino ou complexo pode mostrar texto copiado deturpado quando a fonte do PDF não o cobre, incluindo Devanagari (Hindi, Marathi), Árabe, Tailandês, e texto Chinês, Japonês ou Coreano.
  • Uma fonte por script: forneça uma fonte que inclua o script que você reconheceu. A família Noto do Google é uma opção ampla, com fontes por script como Noto Sans Gujarati, Noto Sans Devanagari e Noto Sans Arabic.
Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Baixar 6,175,195 | Versão: 2026.7 recém-lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronOcr
executar um exemplo Veja sua imagem se transformar em texto pesquisável.