ApplyOCRTextLayerEx

OCR, texte, modification de documents

Description

Valide le JSON OCR indépendant du fournisseur, prépare le texte invisible dans un tampon séparé et inscrit un calque de texte consultable propriétaire sur une page

Syntaxe

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);

Paramètres

PageLa page cible, numérotée à partir de 1
ResultJSONLe schéma version 1 décrit par ApplyOCRTextLayer, incluant optionnellement des extrémités de ligne de base vérifiées et des IDs de hiérarchie
FontNameUne police TrueType incorporable ou une chaîne vide pour la sélection de secours parmi les polices installées
MinConfidenceLe seuil inclusif de confiance des mots, de 0 à 1
OptionsUne combinaison au niveau des bits des politiques de calque ci-dessous ; zéro ajoute un nouveau calque propriétaire

Options

1 — PDF_OCR_SKIP_EXISTING_TEXTRenvoie le succès sans appliquer l’OCR lorsqu’un flux de contenu conservé non propriétaire ou un Form XObject invoqué contient du texte, y compris du texte invisible
2 — PDF_OCR_REPLACE_OWNED_LAYERRemplace chaque calque existant portant le marqueur OCR exact de la bibliothèque ; ajoute à la suite s’il n’existe aucun calque OCR propriétaire
3Ignore les pages comportant du texte non propriétaire, tout en permettant le remplacement des pages OCR exclusivement propriétaires

Valeurs de retour

1Un calque a été inscrit, la politique de texte existant a ignoré la page, ou aucun mot n’a atteint le seuil de confiance
0L’entrée, la géométrie, les options, l’encodage de police ou l’écriture du calque a échoué

Remarques

Les bits d’option inconnus sont rejetés

Les coordonnées source utilisent l’origine en haut à gauche de l’image rendue et la boîte de rendu sélectionnée ; la rotation de page et les décalages de boîte non nuls sont ramenés à l’espace utilisateur PDF brut

Un tableau baseline optionnel contient [x1, y1, x2, y2] en unités source et définit la direction du texte et son avance ; une ligne de base complète ne doit pas en outre porter un textAngle non nul

Chaque frontière de mot et chaque ligne de base sont vérifiées avant le filtrage par confiance ; un mot invalide à faible confiance fait malgré tout échouer l’opération

L’ajustement des polices et la gestion des glyphes manquants s’achèvent avant l’inscription du nouveau calque de contenu ; aucun mot OCR partiellement dessiné ne remplace l’ancien calque

Seuls les flux portant les trois champs exacts /PDFlibOCROwner /PDFlibPas, /PDFlibOCRType /InvisibleText et /PDFlibOCRVersion 1 sont des calques OCR propriétaires

Le remplacement crée un nouveau tableau contents et un nouveau flux, en préservant le contenu non propriétaire et les flux utilisés par les pages sœurs

Le calque OCR utilise le mode de rendu 3 et un état graphique isolé ; le placement annule la matrice de transformation courante du contenu conservé avant d’appliquer la matrice du mot

Un résultat accepté vide laisse les anciens calques intacts ; utilisez GetOCRDiagnosticsJSON pour distinguer empty, skipped, appended et replaced

La capacité de recherche et l’absence de modification des pixels visibles sont vérifiées après enregistrement puis rechargement du document

Voir aussi

OCRPageEx, OCRDocumentEx, ConfigureTesseractOCR, GetOCRDiagnosticsJSON, LastOCRError