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
| Page | La página de destino con base 1 |
|---|---|
| ResultJSON | El esquema versión 1 descrito por ApplyOCRTextLayer, opcionalmente con extremos de línea base verificados e identificadores de jerarquía |
| FontName | Una fuente TrueType incrustable o una cadena vacía para seleccionar una alternativa instalada |
| MinConfidence | El umbral inclusivo de confianza de palabra de 0 a 1 |
| Options | Una combinación bit a bit de las políticas de capa siguientes; cero agrega una nueva capa propia |
Opciones
| 1 — PDF_OCR_SKIP_EXISTING_TEXT | Devuelve é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_LAYER | Reemplaza cada capa existente que lleva el marcador OCR exacto de la biblioteca; agrega una capa si no existe una capa OCR propia |
| 3 | Omite las páginas con texto que no es propio, mientras permite que las páginas OCR con capas propias se reemplacen |
Valores devueltos
| 1 | Se escribió una capa, la política de texto existente omitió la página, o ninguna palabra alcanzó el umbral de confianza |
|---|---|
| 0 | Falló 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