ApplyOCRTextLayerEx

OCR, texto, edición de documentos

Descripción

Valida JSON de OCR independiente del proveedor, prepara texto invisible en un búfer separado y escribe de forma definitiva una capa de texto con capacidad de búsqueda propia en una página

Sintaxis

Delphi

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

ActiveX

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

DLL

int DLApplyOCRTextLayerEx(int InstanceID, int Page, const wchar_t* ResultJSON,
  const wchar_t* FontName, double MinConfidence, int Options);
int DLApplyOCRTextLayerExA(int InstanceID, int Page, const char* ResultJSON,
  const char* FontName, double MinConfidence, int Options);

Parámetros

PageLa página de destino con base 1
ResultJSONEl esquema versión 1 descrito por ApplyOCRTextLayer, opcionalmente con extremos de línea base verificados e identificadores de jerarquía
FontNameUna fuente TrueType incrustable o una cadena vacía para seleccionar una alternativa instalada
MinConfidenceEl umbral inclusivo de confianza de palabra de 0 a 1
OptionsUna combinación bit a bit de las políticas de capa siguientes; cero agrega una nueva capa propia

Opciones

1 — PDF_OCR_SKIP_EXISTING_TEXTDevuelve éxito sin aplicar OCR cuando un flujo de contenido retenido que no es propio o un Form XObject invocado contiene texto, incluido texto invisible
2 — PDF_OCR_REPLACE_OWNED_LAYERReemplaza cada capa existente que lleva el marcador OCR exacto de la biblioteca; agrega una capa si no existe una capa OCR propia
3Omite las páginas con texto que no es propio, mientras permite que las páginas OCR con capas propias se reemplacen

Valores devueltos

1Se escribió una capa, la política de texto existente omitió la página, o ninguna palabra alcanzó el umbral de confianza
0Falló la entrada, la geometría, las opciones, la codificación de la fuente o la escritura de la capa

Observaciones

Los bits de opción desconocidos se rechazan

Las coordenadas de origen usan el origen en la esquina superior izquierda de la imagen renderizada y el cuadro de renderizado seleccionado; la rotación de la página y los desplazamientos de cuadro distintos de cero se convierten de vuelta al espacio de usuario PDF sin transformar

Un arreglo opcional baseline contiene [x1, y1, x2, y2] en unidades de origen y define la dirección del texto y el avance; una línea base completa no debe llevar además un textAngle distinto de cero

Cada límite de palabra y cada línea base se validan antes del filtrado por confianza; una palabra inválida de baja confianza también hace que la operación falle

El ajuste de la fuente y el manejo de glifos faltantes terminan antes de que la nueva capa de contenido se escriba definitivamente; ninguna palabra OCR dibujada a medias reemplaza la capa anterior

Solo los flujos con los tres campos exactos /PDFlibOCROwner /PDFlibPas, /PDFlibOCRType /InvisibleText y /PDFlibOCRVersion 1 son capas OCR propias

El reemplazo crea un nuevo arreglo contents y un nuevo flujo, conservando el contenido que no es propio y los flujos usados por las páginas hermanas

La capa OCR usa el modo de renderizado 3 y un estado gráfico aislado; la ubicación cancela la matriz de transformación actual del contenido retenido antes de aplicar la matriz de la palabra

Un resultado vacío aceptado deja las capas anteriores intactas; use GetOCRDiagnosticsJSON para distinguir empty, skipped, appended y replaced

La capacidad de búsqueda y los píxeles visibles sin cambios se verifican después de guardar y volver a cargar el documento

Véase también

OCRPageEx, OCRDocumentEx, ConfigureTesseractOCR, GetOCRDiagnosticsJSON, LastOCRError