+ OCR Configuration
+
+ {isLoadingLanguages ? (
+
+
+ Loading available languages...
+
+ ) : (
+
+ );
+};
+
+export default OCRSettings;
\ No newline at end of file
diff --git a/frontend/src/hooks/tools/ocr/useOCROperation.ts b/frontend/src/hooks/tools/ocr/useOCROperation.ts
new file mode 100644
index 000000000..be41aa920
--- /dev/null
+++ b/frontend/src/hooks/tools/ocr/useOCROperation.ts
@@ -0,0 +1,245 @@
+import { useState, useCallback } from 'react';
+import axios from 'axios';
+import { useTranslation } from 'react-i18next';
+import { useFileContext } from '../../../contexts/FileContext';
+import { FileOperation } from '../../../types/fileContext';
+import { OCRParameters } from '../../../components/tools/ocr/OCRSettings';
+
+export interface OCROperationHook {
+ files: File[];
+ thumbnails: string[];
+ downloadUrl: string | null;
+ downloadFilename: string | null;
+ isLoading: boolean;
+ isGeneratingThumbnails: boolean;
+ status: string;
+ errorMessage: string | null;
+ executeOperation: (parameters: OCRParameters, selectedFiles: File[]) => Promise