diff --git a/src/main/ocr/MacSysOcrProvider.ts b/src/main/ocr/MacSysOcrProvider.ts index 032759624..e693fde72 100644 --- a/src/main/ocr/MacSysOcrProvider.ts +++ b/src/main/ocr/MacSysOcrProvider.ts @@ -1,3 +1,4 @@ +import { isMac } from '@main/constant' import { FileSource, isLocalFile, LocalFileSource, OcrProvider } from '@types' import Logger from 'electron-log' import * as fs from 'fs' @@ -14,6 +15,9 @@ export default class MacSysOcrProvider extends BaseOcrProvider { private MacOCR: any private async initMacOCR() { + if (!isMac) { + throw new Error('MacSysOcrProvider is only available on macOS') + } if (!this.MacOCR) { try { const module = await import('@cherrystudio/mac-system-ocr') diff --git a/src/main/ocr/OcrProviderFactory.ts b/src/main/ocr/OcrProviderFactory.ts index a1244bef5..c86af683f 100644 --- a/src/main/ocr/OcrProviderFactory.ts +++ b/src/main/ocr/OcrProviderFactory.ts @@ -1,4 +1,6 @@ +import { isMac } from '@main/constant' import { OcrProvider } from '@types' +import Logger from 'electron-log' import BaseOcrProvider from './BaseOcrProvider' import DefaultOcrProvider from './DefaultOcrProvider' @@ -13,6 +15,9 @@ export default class OcrProviderFactory { case 'mistral': return new MistralOcrProvider(provider) case 'system': + if (!isMac) { + Logger.warn('[OCR] System OCR provider is only available on macOS') + } return new MacSysOcrProvider(provider) default: return new DefaultOcrProvider(provider)