ApplyOCRTextLayerEx
OCR, tekst, documentbewerking
Beschrijving
Valideert providerneutrale OCR-JSON, bereidt onzichtbare tekst in een aparte buffer voor en schrijft een doorzoekbare tekstlaag in bibliotheekbezit naar één pagina weg
Syntaxis
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);
Parameters
| Page | De doelpagina, beginnend bij 1 |
|---|---|
| ResultJSON | Het schema in versie 1 zoals beschreven bij ApplyOCRTextLayer, optioneel met geverifieerde baseline-eindpunten en hiërarchie-ID's |
| FontName | Een insluitbaar TrueType-lettertype of een lege string voor het kiezen van een geïnstalleerd alternatief |
| MinConfidence | De inclusieve betrouwbaarheidsdrempel per woord van 0 tot en met 1 |
| Options | Een bitsgewijze combinatie van de hieronder staande laagbeleidsregels; nul voegt een nieuwe laag in bibliotheekbezit toe |
Opties
| 1 — PDF_OCR_SKIP_EXISTING_TEXT | Geeft succes terug zonder OCR toe te passen wanneer een behouden contentstream of aangeroepen Form XObject buiten bibliotheekbezit tekst bevat, inclusief onzichtbare tekst |
|---|---|
| 2 — PDF_OCR_REPLACE_OWNED_LAYER | Vervangt elke bestaande laag met de exacte OCR-marker van de bibliotheek; voegt toe wanneer er geen OCR-laag in bibliotheekbezit bestaat |
| 3 | Slaat pagina's met tekst buiten bibliotheekbezit over, terwijl pagina's met uitsluitend OCR-lagen in bibliotheekbezit vervangen mogen worden |
Retourwaarden
| 1 | Er is een laag weggeschreven, het bestaande-tekstbeleid heeft de pagina overgeslagen, of geen enkel woord haalde de betrouwbaarheidsdrempel |
|---|---|
| 0 | Invoer, geometrie, opties, lettertypecodering of het wegschrijven van de laag mislukte |
Opmerkingen
Onbekende optiebits worden geweigerd
Broncoördinaten gebruiken de linkerbovenhoek van de gerenderde afbeelding als oorsprong en de geselecteerde renderbox; paginarotatie en niet-nul box-offsets worden teruggemapt naar de ruwe PDF-gebruikersruimte
Een optionele baseline-array bevat [x1, y1, x2, y2] in broneenheden en definieert de textrichting en de opschuiving; een volledige baseline mag niet ook nog een niet-nul textAngle meedragen
Elke woordgrens en baseline wordt gecontroleerd vóór de betrouwbaarheidsfiltering; een ongeldig woord met lage betrouwbaarheid laat de bewerking nog steeds mislukken
Lettertypepassing en de afhandeling van ontbrekende glyphs ronden af voordat de nieuwe contentlaag wordt weggeschreven; de oude laag wordt nooit vervangen door half getekende OCR-woorden
Alleen streams met alle drie de exacte velden /PDFlibOCROwner /PDFlibPas, /PDFlibOCRType /InvisibleText en /PDFlibOCRVersion 1 zijn OCR-lagen in bibliotheekbezit
Vervanging maakt een nieuwe contents-array en een nieuwe stream aan en behoudt daarbij content buiten bibliotheekbezit en de streams die zusterpagina's gebruiken
De OCR-laag gebruikt rendermodus 3 en een geïsoleerde graphics state; de plaatsing maakt de huidige transformatiematrix van de behouden content ongedaan voordat de woordmatrix wordt toegepast
Een leeg, geaccepteerd resultaat laat oude lagen onaangetast; gebruik GetOCRDiagnosticsJSON om empty, skipped, appended en replaced te onderscheiden
Doorzoekbaarheid en onveranderde zichtbare pixels worden geverifieerd na het opslaan en opnieuw laden van het document
Zie ook
OCRPageEx, OCRDocumentEx, ConfigureTesseractOCR, GetOCRDiagnosticsJSON, LastOCRError