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
| Motor | Krævede engineOptions | Valgfrie engineOptions |
|---|---|---|
| builtin-ascii | Ingen | engineOptions skal være fraværende eller et tomt objekt |
| tesseract-cli | executablePath, tessDataDirectory | language, pageSegMode, engineMode, timeoutMilliseconds, maxPixels |
| tesseract-dll | libraryPath, tessDataDirectory | language, pageSegMode, engineMode, timeoutMilliseconds, maxPixels |
| rapidocr-cli | pythonExecutable, bridgeScript, modelDirectory | detectionModel, recognitionModel, classificationModel, characterDictionary, fontPath, useAngleClassifier, intraOpThreads, interOpThreads, timeoutMilliseconds, maxPixels |
| rapidocr-dll | libraryPath, modelDirectory | language, 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