Files
SnapOtter/apps/docs/sv/tools/pdf/ocr-pdf.md
T
SnapOtterandGitHub 991c981529 fix: make OCR portable and reliable across AMD64 and ARM64 (#519)
* 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
2026-07-15 03:34:24 +08:00

4.5 KiB
Raw Blame History

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. balanced och best krä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 balanced eller best är otillgängliga, returnerar API 501 med FEATURE_NOT_INSTALLED eller FEATURE_INCOMPATIBLE.
  • PDF-sidor rastreras i hög upplösning före OCR. best anvä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 auto mö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.