arcships/light-ocr

Fast, offline OCR for Node.js & C++. PP-OCRv6 with Core ML / WebGPU hardware acceleration — recognize text in images with confidence scores & coordinates. npm: @arcships/light-ocr

light‑ocr – Node.js 및 C++를 위한 빠른 오프라인 OCR

기능 소개 – light‑ocr은 이미지를 클라우드 서비스로 전송하지 않고 로컬에서 광학 문자 인식을 수행하는 라이브러리입니다. JPEG/PNG 이미지, PDF 또는 원시 픽셀 버퍼에서 텍스트를 읽고, 각 텍스트 라인과 함께 신뢰도 점수 및 원본 이미지 내의 사각형 좌표를 반환합니다.

대상 사용자 – Node.js 애플리케이션, 명령줄 도구, 데스크톱 소프트웨어 또는 온디바이스 OCR이 필요한 네이티브 C++ 프로그램을 개발하는 개발자. 개인 정보 보호, 낮은 지연 시간 또는 오프라인 작동이 필요한 경우에 특히 유용합니다.

주요 특징 (README 참조)

  • 단일 npm 설치 패키지 – 모델, OCR 런타임, PDF 렌더러 (PDFium) 및 중국어 폰트가 번들로 포함되어 있습니다. 설치 후 스크립트, 추가 다운로드 또는 시스템 폰트 의존성이 없습니다.
  • 크로스 플랫폼 바이너리 – macOS (Apple Silicon & Intel), Linux (glibc & musl, x64 & arm64), Windows (x64 & arm64)용 네이티브 바이너리가 미리 빌드되어 있습니다. Node‑API v8 바인딩은 ABI 호환성을 통해 Node 22+ (LTS) 이상에서 작동합니다.
  • 하드웨어 가속 – 최신 macOS Apple‑Silicon에서는 Core ML을, 사용 가능한 경우 WebGPU (Linux는 Vulkan, Windows는 D3D12)를 사용하며, 그렇지 않으면 CPU로 대체됩니다.
  • 다양한 모델 등급 – Small (≈30 MB, 기본, 안정), Tiny (≈6 MB, 미리보기, 49개 언어, 일본어 제외), Medium (≈139 MB, 미리보기, 고품질). 별도의 npm 태그를 통해 설치할 수 있습니다.
  • PDF 지원 – PDFium 렌더링과 Noto Sans SC 폰트가 내장되어 있어, 중국어 폰트를 참조하는 PDF의 OCR도 추가 설정 없이 수행할 수 있습니다.
  • 풍부한 출력 – 각 라인에 대해 text, confidence 및 사각형 box를 얻을 수 있습니다. 페이지 수준의 메타데이터와 타이밍 정보도 제공됩니다.
  • CLI – light-ocr 명령줄 도구를 통해 빠른 OCR, 관심 영역 처리, 감지 전용 모드 및 진단 (info, doctor) 기능을 사용할 수 있습니다. JSON, JSONL 및 일반 텍스트 출력을 지원합니다.
  • C++ API – 네이티브 통합을 위한 CMake 타겟이 포함된 정적 라이브러리 (light_ocr::core)를 제공하며, 디코딩된 픽셀 형식 (GRAY8, RGB8, BGR8, RGBA8)을 허용합니다.
  • 에이전트 스킬 – 로컬 OCR을 호출해야 하는 AI 에이전트를 위한 준비된 스킬 파일이 제공되며, 멀티모달 모델보다 결정론적 OCR을 우선시해야 하는 경우에 대한 가이드도 포함되어 있습니다.

기본 사용법 (Node.js)

import { createEngine } from "@arcships/light-ocr";
import { readFile } from "node:fs/promises";

const engine = await createEngine();
const result = await engine.recognizeEncoded(await readFile("image.jpg"));
for (const line of result.lines) {
  console.log(line.text, line.confidence, line.box);
}
await engine.close();

동일한 라이브러리를 사용하여 recognizeDocument로 PDF 페이지의 스트리밍 OCR도 가능합니다.

성능 – README에 따르면 순수 CPU 대비 Apple Silicon (Core ML) 및 WebGPU를 통한 NVIDIA/AMD GPU에서 2~5배의 속도 향상이 측정되었으며, CPU 사용 시간도 크게 감소했습니다.

라이선스 – Apache 2.0.

결론 – light‑ocr은 고수준 JavaScript/Node.js 개발과 저수준 C++ 성능 사이의 간극을 메우는 프로덕션 준비 완료된 오프라인 OCR 솔루션으로, 주요 데스크톱 플랫폼 전반에서 하드웨어 가속, PDF 처리 및 쉬운 설치를 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트