ApplyOCRTextLayer

OCR, texto, edição de documentos

Descrição

Valida JSON de OCR independente do fornecedor e adiciona a uma página texto ajustado no modo de composição 3

O texto adicionado pode ser pesquisado e selecionado, mas fica invisível quando a página é processada

Sintaxe

Delphi

Function TPDFlib.ApplyOCRTextLayer(Page: Integer; Const ResultJSON,
  FontName: WideString; MinConfidence: Double): Integer;

ActiveX

Function PDFlib::ApplyOCRTextLayer(Page As Long, ResultJSON As String, FontName As String, MinConfidence As Double) As Long

DLL

int DLApplyOCRTextLayer(int InstanceID, int Page, const wchar_t* ResultJSON,
  const wchar_t* FontName, double MinConfidence);
int DLApplyOCRTextLayerA(int InstanceID, int Page, const char* ResultJSON,
  const char* FontName, double MinConfidence);

Parâmetros

PageA página de destino de base 1
ResultJSONUm objeto de resultado OCR com controlo de versão
FontNameUm nome ou caminho de tipo de letra TrueType incorporável, ou uma cadeia vazia para selecionar uma alternativa instalada
MinConfidenceO limiar de confiança inclusivo de 0 a 1

Esquema JSON

{
  "version": 1,
  "width": 2480,
  "height": 3508,
  "words": [
    {"text": "Invoice", "left": 120, "top": 180,
     "width": 260, "height": 54, "confidence": 0.98}
  ]
}

left e top utilizam uma origem superior esquerda nas unidades de origem

Quando width e height estão ambos presentes, as caixas de palavras são dimensionadas dessas dimensões de origem para a página PDF; quando ambos são omitidos, as coordenadas são interpretadas como pontos PDF

Cada palavra exige text, left, top, width e height; confidence é opcional e utiliza 1 por predefinição

A geometria tem de ser finita e não negativa, com largura e altura positivas, enquanto a confiança tem de estar entre 0 e 1

Valores devolvidos

1A camada de texto foi adicionada ou nenhuma palavra atingiu o limiar
0A validação ou a escrita falhou

Observações

A estrutura JSON completa e todos os limites de palavras são validados antes de escrever o conteúdo da página

O tamanho de cada palavra é determinado pela altura da respetiva caixa e é ajustado horizontalmente com escala de texto, enquanto um estado gráfico isolado impede que a formatação OCR afete operações de desenho posteriores

LastErrorCode é 110 para JSON OCR inválido e 307 para uma falha de escrita da página, do tipo de letra ou da camada de texto

LastOCRError fornece o motivo detalhado

Consulte também

OCRPage, OCRDocument, LastOCRError, RenderPageToString