* fix: make OCR portable and reliable * fix: harden OCR installation portability * fix: pin OCR partials across downloads * fix: make OCR execution reliably asynchronous * fix: harden OCR portability and docs routes * fix: preserve decoder and docs safeguards
4.5 KiB
description, i18n_output_hash, i18n_source_hash, i18n_provenance
| description | i18n_output_hash | i18n_source_hash | i18n_provenance |
|---|---|---|---|
| Extrahera text från skannade PDF-filer lokalt med inbyggd Tesseract eller den valfria RapidOCR-körtiden med hög precision. | 3c4cbee240b7 | a19ba25a1ca8 | human |
PDF OCR
Extrahera text från skannade PDF-dokument sida för sida utan att skicka PDF till en extern tjänst. Den inbyggda fast-nivån använder Tesseract. De valfria balanced- och best-nivåerna använder RapidOCR med stiftade PP-OCR ONNX-modeller.
::: info Kompatibilitet för koreansk OCR
Snabb OCR stöder auto, en, de, es, fr, zh och ja, men inte koreanska (ko). Koreanska kräver det exakta OCR-paketet och balanced eller best. Paketet fungerar i officiella Linux amd64- och arm64-containrar, även på NVIDIA-värdar där OCR fortsätter köras på CPU. System som inte stöds får ett uttryckligt kompatibilitetsfel och faller aldrig tyst tillbaka till fast. Koreanska med fast eller det äldre aliaset tesseract avvisas före köläggning med FEATURE_INCOMPATIBLE och fast-korean-unsupported.
:::
API Endpoint
POST /api/v1/tools/pdf/ocr-pdf
Tar emot multipart-formulärdata med en PDF-fil och ett valfritt JSON-fält settings.
Parameters
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|---|---|---|---|---|
| file | file | Ja | - | PDF-fil (flerpart), upp till 512 MiB-kodade; en lägre uppladdningsgräns för operatören gäller fortfarande |
| quality | string | Inga | Dynamisk | OCR kvalitetsnivå: fast, balanced eller best |
| language | string | Nej | "auto" |
Dokumentspråk: auto, en, de, fr, es, zh, ja, ko |
| pages | string | Nej | "all" |
Sidval, t.ex. "all", "1-3", "1,3,5" |
| enhance | boolean | Inga | Tierberoende | Förbättra den lokala kontrasten före igenkänning. Fast applicerar det direkt; Balanced och Best behåller varianten endast när kalibrerad poängsättning förbättrar resultatet. Standard är true för best och false för fast/balanced |
| engine | string | Inga | - | Utfasat kompatibilitetsalias. Använd quality istället. tesseract mappar till fast; det äldre paddleocr-värdet mappas till balanced men laddar inte PaddlePaddle |
När quality och engine utelämnas väljer SnapOtter den bästa tillgängliga nivån i ordningen best, balanced, fast. För koreanska väljs aldrig fast; best, sedan balanced används, annars returneras installations- eller kompatibilitetsfelet för den exakta körmiljön.
Example Request
curl -X POST http://localhost:1349/api/v1/tools/pdf/ocr-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@scanned.pdf" \
-F 'settings={"quality": "best", "language": "en", "pages": "1-5", "enhance": true}'
Example Response
Returnerar 202 Accepted. Följ förloppet via SSE på /api/v1/jobs/{jobId}/progress.
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
Notes
- Godkänt indataformat:
.pdf. fastär inbyggd och lägger till cirka 25 MiB till den officiella bilden.balancedochbestkräver det valfria OCR-paketet (ca 208-234 MiB att ladda ner och 409-488 MiB installerat, beroende på målet).- Det exakta paketet stöder Linux amd64 och arm64 och använder ONNX Runtime på CPU, inklusive på NVIDIA-värdar.
– En uttryckligen begärd nivå nedgraderas aldrig tyst. Om
balancedellerbestär otillgängliga, returnerar API501medFEATURE_NOT_INSTALLEDellerFEATURE_INCOMPATIBLE. - PDF-sidor rastreras i hög upplösning före OCR.
bestanvänder PP-OCRv6-modellerna med högre precision och ger orienterings- och förbättringsvarianter, vilket förbättrar igenkänningen till priset av hastighet. - Språkinställningen
automöjliggör igenkänning över den skriptuppsättning som stöds; en explicit ledtråd kan förbättra resultaten för ett känt dokumentspråk. - Du kan rikta in dig på specifika sidor med intervall (
"1-3"), kommaseparerade listor ("1,3,5") eller"all"för varje sida. – En förfrågan kan behandla som mest 50 sidor. Rasteriserade skrapdata är begränsade till 512 MiB och det sammanlagda UTF-8 OCR-svaret är begränsat till 1 000 000 byte; over-limit jobb misslyckas snarare än att returnera deltext. - För PDF-filer som redan innehåller markerbar text bör du överväga att använda det snabbare verktyget PDF to Text istället.