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
| Page | La page cible, numérotée à partir de 1 |
|---|---|
| ResultJSON | Le 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 |
| FontName | Une police TrueType incorporable ou une chaîne vide pour la sélection de secours parmi les polices installées |
| MinConfidence | Le seuil inclusif de confiance des mots, de 0 à 1 |
| Options | Une 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_TEXT | Renvoie 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_LAYER | Remplace chaque calque existant portant le marqueur OCR exact de la bibliothèque ; ajoute à la suite s’il n’existe aucun calque OCR propriétaire |
| 3 | Ignore les pages comportant du texte non propriétaire, tout en permettant le remplacement des pages OCR exclusivement propriétaires |
Valeurs de retour
| 1 | Un calque a été inscrit, la politique de texte existant a ignoré la page, ou aucun mot n’a atteint le seuil de confiance |
|---|---|
| 0 | L’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