2025-08-21 08:48:25 +01:00
|
|
|
import { BaseParameters } from '../../../types/parameters';
|
|
|
|
import { useBaseParameters, BaseParametersHook } from '../shared/useBaseParameters';
|
2025-08-01 14:22:19 +01:00
|
|
|
|
2025-08-21 08:48:25 +01:00
|
|
|
export interface OCRParameters extends BaseParameters {
|
|
|
|
languages: string[];
|
|
|
|
ocrType: string;
|
|
|
|
ocrRenderType: string;
|
|
|
|
additionalOptions: string[];
|
2025-08-01 14:22:19 +01:00
|
|
|
}
|
|
|
|
|
2025-08-21 08:48:25 +01:00
|
|
|
export type OCRParametersHook = BaseParametersHook<OCRParameters>;
|
|
|
|
|
2025-08-01 14:22:19 +01:00
|
|
|
const defaultParameters: OCRParameters = {
|
|
|
|
languages: [],
|
|
|
|
ocrType: 'skip-text',
|
|
|
|
ocrRenderType: 'hocr',
|
|
|
|
additionalOptions: [],
|
|
|
|
};
|
|
|
|
|
|
|
|
export const useOCRParameters = (): OCRParametersHook => {
|
2025-08-21 08:48:25 +01:00
|
|
|
return useBaseParameters({
|
|
|
|
defaultParameters,
|
|
|
|
endpointName: 'ocr-pdf',
|
|
|
|
validateFn: (params) => {
|
|
|
|
// At minimum, we need at least one language selected
|
|
|
|
return params.languages.length > 0;
|
|
|
|
},
|
|
|
|
});
|
|
|
|
};
|