Ekstern OCR i JSON- og C ABI-jobs

ocr.layer-operationen accepterer builtin-ascii, tesseract-cli, tesseract-dll, rapidocr-cli og rapidocr-dll; udeladelse af engine bevarer den indbyggede ASCII-standard

Capability-discovery lister disse understøttede adapters uden at hævde, at eksterne programmer, biblioteker, sprogdata eller ONNX-modeller er installeret på afviklingshosten

Tesseract-eksempel

{"schemaVersion":1,"type":"ocr.layer","pages":[0],"dpi":300,
 "minimumConfidence":0.7,"skipPagesWithText":true,"replaceExisting":false,
 "engine":"tesseract-cli",
 "engineOptions":{"executablePath":"C:/OCR/tesseract.exe",
   "tessDataDirectory":"C:/OCR/tessdata","language":"eng",
   "pageSegMode":6,"engineMode":3,"timeoutMilliseconds":30000,
   "maxPixels":16777216}}

Placér dette objekt i et file jobs operations-array og tilføj input- og output-stier, eller send det direkte til hpdf_document_execute_json_v1 med et indlæst handle og binære/resultat-callbacks

MotorKrævede engineOptionsValgfrie engineOptions
builtin-asciiIngenengineOptions skal være fraværende eller et tomt objekt
tesseract-cliexecutablePath, tessDataDirectorylanguage, pageSegMode, engineMode, timeoutMilliseconds, maxPixels
tesseract-dlllibraryPath, tessDataDirectorylanguage, pageSegMode, engineMode, timeoutMilliseconds, maxPixels
rapidocr-clipythonExecutable, bridgeScript, modelDirectorydetectionModel, recognitionModel, classificationModel, characterDictionary, fontPath, useAngleClassifier, intraOpThreads, interOpThreads, timeoutMilliseconds, maxPixels
rapidocr-dlllibraryPath, modelDirectorylanguage, detectionModel, recognitionModel, classificationModel, characterDictionary, useAngleClassifier, rightToLeft, threads, timeoutMilliseconds, maxPixels

Options og lokale ressourcer

Eksterne motorer kræver en eksplicit objekt-vurderet engineOptions; ukendte nøgler, forkerte JSON-typer, NUL-indeholdende stier eller sprogstrenge samt tomme krævede værdier afvises

Tesseract har som standard language=eng, pageSegMode=3 og engineMode=3; segmenteringstilstande 0 og 2 genkender ikke tekst og afvises, mens de resterende tilstande op til 13 accepteres

engineMode accepterer 0 til 3; traineddata-filer skal understøtte den valgte tilstand, og flersprogede Tesseract sprogudtryk som eng+fra kræver de tilsvarende lokale modeller

RapidOCR CLI bruger de native THPDFRapidOCROptions.Default-modelnavne og sætter begge trådgrænser til 1; den accepterer eksplicit leverede dictionary- og fontstier, og den konfigurerede bro skal implementere den lokale TSV-kontrakt

RapidOCR DLL starter med THPDFRapidOCRDLLOptions.ForLanguage(language) med ch som standard; sprogprofiler vælger genkendelsesmodel, dictionary og læseretning, og eksplicitte options kan tilsidesætte valgene

Modelfilnavne opløses under modelDirectory efter de native adapters; biblioteks-bitness skal matche host-processen, mens en CLI-motor kører som en separat lokal proces

Provisionér og vælg disse ressourcer eksplicit; operationen installerer ikke motorer, downloader ikke modeller, søger ikke vilkårlige eksekverbare eller bruger en fjern-OCR-tjeneste

Budgetter og cancellation

timeoutMilliseconds er som standard 60.000 og accepterer heltal fra 1 til 3.600.000; den effektive adapter-timeout begrænses af budget.timeMilliseconds

maxPixels er som standard 16.777.216 og accepterer heltal fra 1 til 67.108.864; dens effektive grænse er minimum af den anmodede værdi, budget.pixels og budget.memoryBytes / 16

Den effektive motor pixel-grænse begrænser også OCR-siderendering inden genkendelse; ord-, indholds- og UTF-16 tekstbudgetter begrænses af operationens hukommelsesration

Disse grænser afgrænser konfigurerede buffere og operationsressourcer; ekstern DLL model-allokering udgør ikke en streng proces-RSS-kvote

Native kald låner Document.OperationCancellationToken til rendering og genkendelse; C callback-cancellation polles ved kooperative operations-, input- og output-checkpoints, og en kørende ekstern motor kan fortsætte til sin timeout eller det næste callback-checkpoint

Lokale CLI-fejl, ugyldig eller ufuldstændig TSV-output samt adapter-timeouts afviser operationen; konfigureret operationstid og pixelgrænser beholder den strukturerede budgetfejl-kategori

Output- og transaktionsadfærd

Resultatet rapporterer engine, recognizedPages, skippedPages, acceptedWords og droppedWords; engine-feltet indeholder den native adapters beskrivende navn

minimumConfidence skal være et tal fra 0 til 1, og skipPagesWithText og replaceExisting skal være JSON-booleanske værdier

Accepterede Unicode-ord bliver usynlig tekst med ToUnicode-mappings og kildeside-geometri; scan-billedet forbliver i outputtet, og kildefilen forbliver uændret, medmindre kalderen bevidst publicerer til samme filsti

File jobs bevarer en eksisterende destination ved fejl og publicerer gennem en samme-mappe staging-fil; C ABI-mutationer committerer, efter både PDF-bytes og JSON-resultat-levering lykkes med fejl-rollback og kalder-bortskaffelse af allerede leverede bytes

Accept

Tests/Delphi/Run-JobOCRTests.ps1 afvikler fire adapter-dispatch-profiler, misdannet konfiguration, pixel- og forløbet tidsbudgetter, delvis ord-afvisning, procesfejl, timeout og destinations/kilde-bevaring på Win32 og Win64

Levering af rigtige Tesseract eksekverbare og modelstier øver live genkendelse; uafhængige pypdf- og MuPDF-readers verificerer Unicode søgbar tekst og uændrede synlige scan-pixels, mens den valgfrie rigtige Win64 ABI DLL-tjek verificerer delvise callbacks og mislykket operation-rollback

Se dokumentoperationer, Tesseract-adaptere, lokale RapidOCR-modeller, native RapidOCR-biblioteker og søgbare OCR-tekstlag