ApplyOCRTextLayerEx
OCR, text, dokumentredigering
Beskrivning
Validerar providerneutral OCR-JSON, förbereder osynlig text i en separat buffert och skriver ett ägt sökbart textlager till en sida
Syntax
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);
Parametrar
| Page | Målsidans 1-baserade nummer |
|---|---|
| ResultJSON | Version 1-schemat som beskrivs av ApplyOCRTextLayer, valfritt med verifierade baslinjeslutpunkter och hierarki-ID:n |
| FontName | Ett inbäddningsbart TrueType-teckensnitt eller en tom sträng för val av installerad fallback |
| MinConfidence | Det inkluderande ordkonfidensvärdet från 0 till 1 |
| Options | En bitvis kombination av lagerpolicyerna nedan; noll lägger till ett nytt ägt lager |
Options
| 1 — PDF_OCR_SKIP_EXISTING_TEXT | Returnerar lyckat utan att tillämpa OCR när en kvarhållen, icke-ägd innehållsström eller ett anropat Form XObject innehåller text, inklusive osynlig text |
|---|---|
| 2 — PDF_OCR_REPLACE_OWNED_LAYER | Ersätter varje befintligt lager som bär bibliotekets exakta OCR-markör; lägger till om inget ägt OCR-lager finns |
| 3 | Hoppar över sidor med icke-ägd text, medan sidor med bara ägd OCR får ersättas |
Returvärden
| 1 | Ett lager skrevs, policyn för befintlig text hoppade över sidan eller så uppfyllde inget ord konfidensvärdet |
|---|---|
| 0 | Indata, geometri, options, teckensnittskodning eller lagerskrivning misslyckades |
Anmärkningar
Okända optionbitar avvisas
Källkoordinater använder den renderade bildens ursprung uppe till vänster och den valda renderingsrutan; sidrotation och skrivna rutoffseter mappas tillbaka till rått PDF-användarrymd
En valfri baseline-array innehåller [x1, y1, x2, y2] i källenheter och definierar textriktning och framåtskridande; en komplett baslinje får inte också bära en textAngle skild från noll
Varje ordgräns och baslinje kontrolleras före konfidensfiltrering; ett ogiltigt ord med låg konfidens får ändå operationen att misslyckas
Teckensnittsanpassning och hantering av saknade glyfer avslutas innan det nya innehållslagret skrivs; inga delvis ritade OCR-ord ersätter det gamla lagret
Bara strömmar med alla tre exakta fälten /PDFlibOCROwner /PDFlibPas, /PDFlibOCRType /InvisibleText och /PDFlibOCRVersion 1 är ägda OCR-lager
Ersättning skapar en ny contents-array och en ny ström och bevarar icke-ägt innehåll och de strömmar som sidosidorna använder
OCR-lagret använder renderingsläge 3 och ett isolerat grafiktillstånd; placeringen annullerar det kvarhållna innehållets aktuella transformationsmatris innan ordmatrisen tillämpas
Ett tomt godkänt resultat lämnar gamla lager orörda; använd GetOCRDiagnosticsJSON för att skilja empty, skipped, appended och replaced
Sökbarhet och oförändrade synliga pixlar verifieras efter att dokumentet sparats och lästs in igen
Se även
OCRPageEx, OCRDocumentEx, ConfigureTesseractOCR, GetOCRDiagnosticsJSON, LastOCRError