From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 23 Apr 2025 16:22:21 +0000 (-0700) Subject: Enhancement: support heic images (#9771) X-Git-Tag: v2.16.0~2^2~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=00050f7c7b3ac445ce2a461e6a0ca97991ac04be;p=thirdparty%2Fpaperless-ngx.git Enhancement: support heic images (#9771) --- diff --git a/src/paperless_tesseract/parsers.py b/src/paperless_tesseract/parsers.py index 64c3030c71..9e8dbf3503 100644 --- a/src/paperless_tesseract/parsers.py +++ b/src/paperless_tesseract/parsers.py @@ -108,6 +108,7 @@ class RasterisedDocumentParser(DocumentParser): "image/bmp", "image/gif", "image/webp", + "image/heic", ] def has_alpha(self, image) -> bool: diff --git a/src/paperless_tesseract/signals.py b/src/paperless_tesseract/signals.py index 7d6f6902fb..e4d8449ed8 100644 --- a/src/paperless_tesseract/signals.py +++ b/src/paperless_tesseract/signals.py @@ -16,5 +16,6 @@ def tesseract_consumer_declaration(sender, **kwargs): "image/gif": ".gif", "image/bmp": ".bmp", "image/webp": ".webp", + "image/heic": ".heic", }, } diff --git a/src/paperless_tesseract/tests/samples/simple.heic b/src/paperless_tesseract/tests/samples/simple.heic new file mode 100644 index 0000000000..6b9a95e675 Binary files /dev/null and b/src/paperless_tesseract/tests/samples/simple.heic differ diff --git a/src/paperless_tesseract/tests/test_parser.py b/src/paperless_tesseract/tests/test_parser.py index f7490fbbf7..514b7163ff 100644 --- a/src/paperless_tesseract/tests/test_parser.py +++ b/src/paperless_tesseract/tests/test_parser.py @@ -880,6 +880,12 @@ class TestParserFileTypes(DirectoriesMixin, FileSystemAssertsMixin, TestCase): self.assertIsFile(parser.archive_path) self.assertIn("this is a test document", parser.get_text().lower()) + def test_heic(self): + parser = RasterisedDocumentParser(None) + parser.parse(os.path.join(self.SAMPLE_FILES, "simple.heic"), "image/heic") + self.assertIsFile(parser.archive_path) + self.assertIn("pizza", parser.get_text().lower()) + @override_settings(OCR_IMAGE_DPI=200) def test_gif(self): parser = RasterisedDocumentParser(None)