Files
SnapOtter/apps/docs/ko/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

5.1 KiB

description, i18n_output_hash, i18n_source_hash, i18n_provenance
description i18n_output_hash i18n_source_hash i18n_provenance
내장된 Tesseract 또는 선택적인 고정밀 RapidOCR 런타임을 사용하여 스캔한 PDF에서 로컬로 텍스트를 추출합니다. 9cb7a87663a9 a19ba25a1ca8 human

PDF OCR

스캔한 내용에서 텍스트 추출 PDF 문서를 보내지 않고 페이지별로 PDF 외부 서비스에. 내장 fast 계층 용도 Tesseract. 선택 사항 balanced 그리고 best 계층 사용 RapidOCR 고정된 PP-OCR ONNX 모델.

::: info 한국어 OCR 호환성 빠른 OCR은 auto, en, de, es, fr, zh, ja를 지원하지만 한국어(ko)는 지원하지 않습니다. 한국어에는 정확한 OCR 팩과 balanced 또는 best가 필요합니다. 이 팩은 공식 Linux amd64 및 arm64 컨테이너에서 작동하며 NVIDIA 호스트에서도 OCR은 CPU에서 실행됩니다. 지원되지 않는 시스템은 명시적인 호환성 오류를 반환하며 조용히 fast로 대체하지 않습니다. 한국어에 fast 또는 이전 tesseract 별칭을 지정하면 큐에 넣기 전에 FEATURE_INCOMPATIBLEfast-korean-unsupported로 거부됩니다. :::

API Endpoint

POST /api/v1/tools/pdf/ocr-pdf

PDF 파일과 선택적 JSON settings 필드가 포함된 multipart form data를 받습니다.

Parameters

Parameter Type Required Default Description
file file - PDF 파일(다중 부분), 최대 512 MiB 인코딩; 더 낮은 운영자 업로드 제한이 여전히 적용됩니다.
quality string 아니요 동적 OCR 품질 등급: fast, balanced 또는 best
language string No "auto" 문서 언어: auto, en, de, fr, es, zh, ja, ko
pages string No "all" 페이지 선택, 예: "all", "1-3", "1,3,5"
enhance boolean 아니요 계층에 따라 다름 인식 전 로컬 대비를 향상시킵니다. 빠르게 직접 적용합니다. 균형 및 최상은 보정된 점수로 결과가 향상되는 경우에만 변형을 유지합니다. best의 경우 기본값은 true이고 fast/balanced의 경우 false입니다.
engine string 아니요 - 더 이상 사용되지 않는 호환성 별칭입니다. 대신 quality를 사용하세요. tesseractfast에 매핑됩니다. 레거시 paddleocr 값은 balanced에 매핑되지만 PaddlePaddle 를 로드하지 않습니다.

qualityengine을 생략하면 SnapOtter는 best, balanced, fast 순으로 사용 가능한 최상위 등급을 선택합니다. 한국어에서는 fast를 선택하지 않으며 best, 그다음 balanced를 사용하고, 둘 다 없으면 정확한 런타임의 설치 또는 호환성 오류를 반환합니다.

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

202 Accepted을(를) 반환합니다. /api/v1/jobs/{jobId}/progress의 SSE로 진행 상황을 추적하세요.

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "async": true
}

Notes

  • 허용되는 입력 형식: .pdf.
  • fast가 내장되어 있으며 공식 이미지에 약 25개의 MiB 를 추가합니다. balancedbest에는 선택 사항인 정확한 OCR 팩(대상에 따라 약 208-234 MiB 다운로드 및 409-488 MiB 설치)이 필요합니다.
  • 정확한 팩은 Linux amd64 및 arm64 를 지원하고 NVIDIA 호스트를 포함하여 CPU 에서 ONNX Runtime 를 사용합니다.
  • 명시적으로 요청된 계층은 자동으로 다운그레이드되지 않습니다. balanced 또는 best를 사용할 수 없는 경우 API 는 FEATURE_NOT_INSTALLED 또는 FEATURE_INCOMPATIBLE와 함께 501를 반환합니다.
  • PDF 페이지는 이전에 고해상도로 래스터화됩니다. OCR. best 더 높은 정확도의 매체를 실행합니다. PP-OCRv6 모델 및 점수 방향 및 향상 변형, 속도를 희생하면서 인식을 향상시킵니다.
  • auto 언어 설정을 사용하면 지원되는 스크립트 세트 전체에서 인식이 가능합니다. 명시적인 힌트는 알려진 문서 언어에 대한 결과를 향상시킬 수 있습니다.
  • 범위("1-3"), 쉼표로 구분된 목록("1,3,5"), 또는 모든 페이지를 뜻하는 "all"을(를) 사용하여 특정 페이지를 지정할 수 있습니다.
  • 요청은 최대 50페이지까지 처리할 수 있습니다. 래스터화된 스크래치 데이터는 512 MiB 로 제한되고 총 UTF-8 OCR 응답은 1,000,000바이트로 제한됩니다. 부분 텍스트를 반환하지 않고 제한 초과 작업이 실패합니다.
  • 이미 선택 가능한 텍스트가 포함된 PDF의 경우, 더 빠른 PDF to Text 도구를 대신 사용하는 것을 고려하세요.