Allows a user to set 0 to disable the limit of maximum pixels during OCR operations
This commit is contained in:
@@ -151,7 +151,7 @@ class ApplicationConfiguration(AbstractSingletonModel):
|
||||
max_image_pixels = models.FloatField(
|
||||
verbose_name=_("Sets the maximum image size for decompression"),
|
||||
null=True,
|
||||
validators=[MinValueValidator(1_000_000.0)],
|
||||
validators=[MinValueValidator(0.0)],
|
||||
)
|
||||
|
||||
color_conversion_strategy = models.CharField(
|
||||
|
||||
@@ -293,20 +293,14 @@ class RasterisedDocumentParser(DocumentParser):
|
||||
f"they will not be used. Error: {e}",
|
||||
)
|
||||
|
||||
if self.settings.max_image_pixel is not None:
|
||||
if (
|
||||
self.settings.max_image_pixel is not None
|
||||
and self.settings.max_image_pixel >= 0
|
||||
):
|
||||
# Convert pixels to mega-pixels and provide to ocrmypdf
|
||||
max_pixels_mpixels = self.settings.max_image_pixel / 1_000_000.0
|
||||
if max_pixels_mpixels > 0:
|
||||
self.log.debug(
|
||||
f"Calculated {max_pixels_mpixels} megapixels for OCR",
|
||||
)
|
||||
|
||||
ocrmypdf_args["max_image_mpixels"] = max_pixels_mpixels
|
||||
else:
|
||||
self.log.warning(
|
||||
"There is an issue with PAPERLESS_OCR_MAX_IMAGE_PIXELS, "
|
||||
"this value must be at least 1 megapixel if set",
|
||||
)
|
||||
self.log.debug(f"Calculated {max_pixels_mpixels} megapixels for OCR")
|
||||
ocrmypdf_args["max_image_mpixels"] = max_pixels_mpixels
|
||||
|
||||
return ocrmypdf_args
|
||||
|
||||
|
||||
Reference in New Issue
Block a user