[Phase L5-2] OCR 화면 텍스트 추출 기능 구현

OcrHandler.cs 신규 생성 (Handlers/, 220줄):
- prefix="ocr" — "화면 영역 텍스트 추출" / "클립보드 이미지 텍스트 추출" 2가지 옵션
- ExecuteRegionOcrAsync(): 180ms 대기 → 전체 화면 캡처 → RegionSelectWindow 오버레이 → 영역 크롭
- ExecuteClipboardOcrAsync(): 클립보드 BitmapSource → System.Drawing.Bitmap 변환 → OCR
- RunOcrOnBitmapAsync(): Bitmap → 임시 PNG → WinStorageFile → WinBitmapDecoder → WinOcrEngine.RecognizeAsync()
  (기존 ClipboardHistoryService.ImageCache.cs 패턴 재사용, 5,000자 상한)
- HandleOcrResult(): 클립보드 복사 + 런처 입력창 자동 채움 + 완료 알림

App.xaml.cs:
- OcrHandler 등록 (Phase L5-2 주석)

LauncherWindow.Keyboard.cs:
- F4 키: 런처 Hide → OcrHandler.__ocr_region__ 즉시 실행 (백그라운드 Task)

HelpDetailWindow.Shortcuts.cs:
- F4 단축키 항목 추가 (F3 바로 다음, 아이콘 \uE8D2, 색상 #0F766E)

HelpDetailWindow.xaml.cs:
- "런처 탐색" 카테고리에 F4/OCR 항목 추가

Services/L10n.cs:
- Phase L5 신기능 팁 5종 추가 (OCR F4, ocr 예약어, 전용 핫키 설정, hotkey 예약어, OCR 입력창 채움)

docs/LAUNCHER_ROADMAP.md:
- L5-2  완료 표시

빌드: 경고 0, 오류 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-04 12:19:13 +09:00
parent c12e863e3a
commit ce02343624
7 changed files with 309 additions and 1 deletions

View File

@@ -130,7 +130,7 @@
| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L5-1 | **항목별 전용 핫키** ✅ | 앱·URL·폴더에 `Ctrl+Alt+숫자` 등 글로벌 단축키 직접 할당. `hotkey` 프리픽스로 관리. `HotkeyAssignment` 모델 + `InputListener` 확장 + 설정창 "전용 핫키" 탭 | 높음 |
| L5-2 | **OCR 화면 텍스트 추출** | `ocr` 명령 또는 캡처에서 F4 → 화면 영역 드래그 → Windows OCR(로컬) 추출 → 클립보드 복사 / 런처 입력 | 높음 |
| L5-2 | **OCR 화면 텍스트 추출** | `ocr` 프리픽스 + F4 글로벌 단축키. RegionSelectWindow 재사용, Windows.Media.Ocr 로컬 엔진. 결과 → 클립보드 복사 + 런처 입력창 자동 채움 | 높음 |
| L5-3 | **QuickLook 인라인 편집** | F3 미리보기에서 텍스트·마크다운 파일 직접 편집 + Ctrl+S 저장. 변경 감지(수정 표시 `●`), Esc 취소 | 중간 |
| L5-4 | **앱 세션 스냅** | 여러 앱을 지정 레이아웃으로 한번에 열기. `snap 세션이름` → 등록된 앱 목록을 각 레이아웃에 배치 | 중간 |
| L5-5 | **배치 파일 이름 변경** | 다중 선택 후 `rename {패턴}` → 넘버링·날짜·정규식 치환 미리보기 → 일괄 적용 | 중간 |