ApplyOCRTextLayerEx
OCR, texto, edición de documentos
Descripción
Valida JSON OCR independiente del proveedor, prepara el texto invisible en un búfer aparte y confirma en una página una capa de texto susceptible de búsqueda propia
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 basada en uno |
|---|---|
| ResultJSON | El esquema de versión 1 descrito por ApplyOCRTextLayer, con puntos finales de línea base verificados e identificadores de jerarquía opcionales |
| FontName | Una fuente TrueType incrustable o una cadena vacía para seleccionar una fuente de sustitución instalada |
| MinConfidence | El umbral inclusivo de confianza de palabra de 0 a 1 |
| Options | Una combinación bit a bit de las directivas de capa siguientes; cero añade una nueva capa propia |
Opciones
| 1 — PDF_OCR_SKIP_EXISTING_TEXT | Devuelve éxito sin aplicar OCR cuando un flujo de contenido retenido ajeno a la biblioteca o un Form XObject invocado contiene texto, incluido el texto invisible |
|---|---|
| 2 — PDF_OCR_REPLACE_OWNED_LAYER | Reemplaza cada capa existente que lleve el marcador de OCR exacto de la biblioteca; añade si no existe ninguna capa de OCR propia |
| 3 | Omite las páginas con texto ajeno, permitiendo al mismo tiempo reemplazar las páginas de OCR exclusivamente propias |
Valores devueltos
| 1 | Se confirmó una capa, la directiva de texto existente omitió la página o ninguna palabra alcanzó el umbral de confianza |
|---|---|
| 0 | La entrada, la geometría, las opciones, la codificación de la fuente o la escritura de la capa fallaron |
Observaciones
Los bits de opción desconocidos se rechazan
Las coordenadas de origen utilizan el origen superior izquierdo de la imagen renderizada y el cuadro de renderización seleccionado; la rotación de la página y los desplazamientos de cuadro distintos de cero se remiten al espacio de usuario PDF original
Una matriz baseline opcional contiene [x1, y1, x2, y2] en unidades de origen y define la dirección del texto y su avance; una línea base completa no puede llevar además un textAngle distinto de cero
Cada límite de palabra y línea base se comprueba antes del filtrado por confianza; una palabra inválida con confianza baja también provoca el fallo de la operación
El ajuste de la fuente y el tratamiento de los glifos ausentes terminan antes de confirmar la nueva capa de contenido; ninguna palabra de OCR dibujada a medias sustituye a la capa anterior
Solo son capas de OCR propias los flujos con los tres campos exactos /PDFlibOCROwner /PDFlibPas, /PDFlibOCRType /InvisibleText y /PDFlibOCRVersion 1
El reemplazo crea una nueva matriz contents y un nuevo flujo, conservando el contenido ajeno y los flujos que utilizan las páginas hermanas
La capa de OCR utiliza el modo de renderización 3 y un estado gráfico aislado; la colocación cancela la matriz de transformación actual del contenido retenido antes de aplicar la matriz de la palabra
Un resultado aceptado vacío deja las capas anteriores intactas; utilice GetOCRDiagnosticsJSON para distinguir empty, skipped, appended y replaced
La susceptibilidad de búsqueda y los píxeles visibles sin cambios se verifican después de guardar y recargar el documento
Véase también
OCRPageEx, OCRDocumentEx, ConfigureTesseractOCR, GetOCRDiagnosticsJSON, LastOCRError