From 3355e6a2f7b209615646340330546bab26ab18c0 Mon Sep 17 00:00:00 2001 From: Marcel Klehr Date: Mon, 8 Dec 2025 12:39:01 +0100 Subject: [PATCH] feat(TaskProcessing): Add OCR TaskType Signed-off-by: Marcel Klehr --- lib/composer/composer/autoload_classmap.php | 1 + lib/composer/composer/autoload_static.php | 1 + ...ImageToTextOpticalCharacterRecognition.php | 88 +++++++++++++++++++ 3 files changed, 90 insertions(+) create mode 100644 lib/public/TaskProcessing/TaskTypes/ImageToTextOpticalCharacterRecognition.php diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php index a667b0a34fa..7cef742c4ea 100644 --- a/lib/composer/composer/autoload_classmap.php +++ b/lib/composer/composer/autoload_classmap.php @@ -893,6 +893,7 @@ return array( 'OCP\\TaskProcessing\\TaskTypes\\ContextAgentInteraction' => $baseDir . '/lib/public/TaskProcessing/TaskTypes/ContextAgentInteraction.php', 'OCP\\TaskProcessing\\TaskTypes\\ContextWrite' => $baseDir . '/lib/public/TaskProcessing/TaskTypes/ContextWrite.php', 'OCP\\TaskProcessing\\TaskTypes\\GenerateEmoji' => $baseDir . '/lib/public/TaskProcessing/TaskTypes/GenerateEmoji.php', + 'OCP\\TaskProcessing\\TaskTypes\\ImageToTextOpticalCharacterRecognition' => $baseDir . '/lib/public/TaskProcessing/TaskTypes/ImageToTextOpticalCharacterRecognition.php', 'OCP\\TaskProcessing\\TaskTypes\\TextToImage' => $baseDir . '/lib/public/TaskProcessing/TaskTypes/TextToImage.php', 'OCP\\TaskProcessing\\TaskTypes\\TextToSpeech' => $baseDir . '/lib/public/TaskProcessing/TaskTypes/TextToSpeech.php', 'OCP\\TaskProcessing\\TaskTypes\\TextToText' => $baseDir . '/lib/public/TaskProcessing/TaskTypes/TextToText.php', diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index cb6fc743175..25179829993 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -934,6 +934,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2 'OCP\\TaskProcessing\\TaskTypes\\ContextAgentInteraction' => __DIR__ . '/../../..' . '/lib/public/TaskProcessing/TaskTypes/ContextAgentInteraction.php', 'OCP\\TaskProcessing\\TaskTypes\\ContextWrite' => __DIR__ . '/../../..' . '/lib/public/TaskProcessing/TaskTypes/ContextWrite.php', 'OCP\\TaskProcessing\\TaskTypes\\GenerateEmoji' => __DIR__ . '/../../..' . '/lib/public/TaskProcessing/TaskTypes/GenerateEmoji.php', + 'OCP\\TaskProcessing\\TaskTypes\\ImageToTextOpticalCharacterRecognition' => __DIR__ . '/../../..' . '/lib/public/TaskProcessing/TaskTypes/ImageToTextOpticalCharacterRecognition.php', 'OCP\\TaskProcessing\\TaskTypes\\TextToImage' => __DIR__ . '/../../..' . '/lib/public/TaskProcessing/TaskTypes/TextToImage.php', 'OCP\\TaskProcessing\\TaskTypes\\TextToSpeech' => __DIR__ . '/../../..' . '/lib/public/TaskProcessing/TaskTypes/TextToSpeech.php', 'OCP\\TaskProcessing\\TaskTypes\\TextToText' => __DIR__ . '/../../..' . '/lib/public/TaskProcessing/TaskTypes/TextToText.php', diff --git a/lib/public/TaskProcessing/TaskTypes/ImageToTextOpticalCharacterRecognition.php b/lib/public/TaskProcessing/TaskTypes/ImageToTextOpticalCharacterRecognition.php new file mode 100644 index 00000000000..2e992192f86 --- /dev/null +++ b/lib/public/TaskProcessing/TaskTypes/ImageToTextOpticalCharacterRecognition.php @@ -0,0 +1,88 @@ +l = $l10nFactory->get('lib'); + } + + + /** + * @since 33.0.0 + */ + public function getName(): string { + return $this->l->t('Optical character recognition'); + } + + /** + * @since 33.0.0 + */ + public function getDescription(): string { + return $this->l->t('Extract text from an image'); + } + + /** + * @since 33.0.0 + */ + public function getId(): string { + return self::ID; + } + + /** + * @return ShapeDescriptor[] + * @since 33.0.0 + */ + public function getInputShape(): array { + return [ + 'input' => new ShapeDescriptor( + $this->l->t('Input Image'), + $this->l->t('The image to extract text from'), + EShapeType::Image + ), + ]; + } + + /** + * @return ShapeDescriptor[] + * @since 33.0.0 + */ + public function getOutputShape(): array { + return [ + 'output' => new ShapeDescriptor( + $this->l->t('Output text'), + $this->l->t('The text that was extracted from the image'), + EShapeType::Text + ), + ]; + } +}