ApplyOCRTextLayerEx
OCR, tekst, edycja dokumentu
Opis
Waliduje JSON OCR niezależny od dostawcy, przygotowuje tekst niewidoczny w osobnym buforze i zatwierdza na jednej stronie należącą do biblioteki wyszukiwalną warstwę tekstu
Składnia
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);
Parametry
| Page | Strona docelowa numerowana od 1 |
|---|---|
| ResultJSON | Schemat w wersji 1 opisany w dokumentacji ApplyOCRTextLayer, opcjonalnie z zweryfikowanymi punktami końcowymi linii bazowej i identyfikatorami hierarchii |
| FontName | Czcionka TrueType nadająca się do osadzenia albo pusty ciąg, aby wybrać zapasową czcionkę zainstalowaną w systemie |
| MinConfidence | Domknięty od 0 do 1 próg pewności słowa |
| Options | Bitowa kombinacja poniższych zasad warstw; zero dołącza nową warstwę należącą do biblioteki |
Opcje
| 1 — PDF_OCR_SKIP_EXISTING_TEXT | Zwraca sukces bez uruchamiania OCR, gdy zachowany strumień treści nienależący do biblioteki albo wywoływany Form XObject zawiera tekst, również tekst niewidoczny |
|---|---|
| 2 — PDF_OCR_REPLACE_OWNED_LAYER | Zastępuje każdą istniejącą warstwę o dokładnie pasującym znaczniku OCR biblioteki; dołącza nową, gdy brak warstwy OCR należącej do biblioteki |
| 3 | Pomija strony z tekstem nienależącym do biblioteki, pozwalając jednocześnie zastępować strony, których tekst pochodzi wyłącznie z warstw OCR biblioteki |
Wartości zwracane
| 1 | Warstwa została zatwierdzona, zasada istniejącego tekstu pominęła stronę albo żadne słowo nie osiągnęło progu pewności |
|---|---|
| 0 | Nie powiodły się dane wejściowe, geometria, opcje, kodowanie czcionki albo zapis warstwy |
Uwagi
Nieznane bity opcji są odrzucane
Współrzędne źródłowe używają lewego górnego narożnika wyrenderowanego obrazu i wybranego prostokąta renderowania; obrót strony i niezerowe przesunięcia prostokąta są mapowane z powrotem do pierwotnej przestrzeni użytkownika PDF
Opcjonalna tablica baseline zawiera [x1, y1, x2, y2] w jednostkach źródłowych i definiuje kierunek tekstu oraz postęp; pełna linia bazowa nie może jednocześnie mieć niezerowego textAngle
Każda granica słowa i linia bazowa są sprawdzane przed filtrowaniem po pewności; nieprawidłowe słowo o niskiej pewności i tak powoduje niepowodzenie operacji
Dopasowanie czcionki i obsługa brakujących glifów kończą się przed zatwierdzeniem nowej warstwy treści; częściowo narysowane słowa OCR nie zastępują starej warstwy
Warstwami OCR należącymi do biblioteki są wyłącznie strumienie ze wszystkimi trzema dokładnymi polami /PDFlibOCROwner /PDFlibPas, /PDFlibOCRType /InvisibleText i /PDFlibOCRVersion 1
Zastąpienie tworzy nową tablicę contents i nowy strumień, zachowując treść nienależącą do biblioteki oraz strumienie używane przez strony sąsiednie
Warstwa OCR używa trybu renderowania 3 i odizolowanego stanu grafiki; umieszczenie anuluje bieżącą macierz transformacji zachowanej treści przed zastosowaniem macierzy słowa
Pusty zaakceptowany wynik pozostawia stare warstwy bez zmian; użyj GetOCRDiagnosticsJSON, aby rozróżnić empty, skipped, appended i replaced
Wyszukiwalność i niezmienione widoczne piksele są weryfikowane po zapisaniu i ponownym wczytaniu dokumentu
Zobacz również
OCRPageEx, OCRDocumentEx, ConfigureTesseractOCR, GetOCRDiagnosticsJSON, LastOCRError