diff --git a/dan/manager/ocr.py b/dan/manager/ocr.py
index eb45816742759acaa4da4308690a3cf12e679555..a2681cab5ad34860d2172bc6cd46bd991e347f9e 100644
--- a/dan/manager/ocr.py
+++ b/dan/manager/ocr.py
@@ -485,32 +485,25 @@ class OCRDataset(GenericDataset):
                 ]
                 fnt = ImageFont.truetype(font_path, font_size)
                 text_width, text_height = fnt.getsize(text)
-                padding_top = int(
-                    rand_uniform(
-                        config["padding_top_ratio_min"], config["padding_top_ratio_max"]
-                    )
-                    * text_height
+                padding_top = get_random_padding(
+                    config["padding_top_ratio_min"],
+                    config["padding_top_ratio_max"],
+                    text_height,
                 )
-                padding_bottom = int(
-                    rand_uniform(
-                        config["padding_bottom_ratio_min"],
-                        config["padding_bottom_ratio_max"],
-                    )
-                    * text_height
+                padding_bottom = get_random_padding(
+                    config["padding_bottom_ratio_min"],
+                    config["padding_bottom_ratio_max"],
+                    text_height,
                 )
-                padding_left = int(
-                    rand_uniform(
-                        config["padding_left_ratio_min"],
-                        config["padding_left_ratio_max"],
-                    )
-                    * text_width
+                padding_left = get_random_padding(
+                    config["padding_left_ratio_min"],
+                    config["padding_left_ratio_max"],
+                    text_width,
                 )
-                padding_right = int(
-                    rand_uniform(
-                        config["padding_right_ratio_min"],
-                        config["padding_right_ratio_max"],
-                    )
-                    * text_width
+                padding_right = get_random_padding(
+                    config["padding_right_ratio_min"],
+                    config["padding_right_ratio_max"],
+                    text_width,
                 )
                 padding = [padding_top, padding_bottom, padding_left, padding_right]
                 images.append(
@@ -671,6 +664,13 @@ class OCRCollateFunction:
         return formatted_batch_data
 
 
+def get_random_padding(min_ratio, max_ratio, text_size):
+    """
+    Compute random padding value as a ratio of text width or height
+    """
+    return int(rand_uniform(min_ratio, max_ratio) * text_size)
+
+
 def generate_typed_text_line_image(
     text, config, bg_color=(255, 255, 255), txt_color=(0, 0, 0)
 ):
@@ -686,25 +686,25 @@ def generate_typed_text_line_image(
     fnt = ImageFont.truetype(font_path, font_size)
 
     text_width, text_height = fnt.getsize(text)
-    padding_top = int(
-        rand_uniform(config["padding_top_ratio_min"], config["padding_top_ratio_max"])
-        * text_height
+    padding_top = get_random_padding(
+        config["padding_top_ratio_min"],
+        config["padding_top_ratio_max"],
+        text_height,
     )
-    padding_bottom = int(
-        rand_uniform(
-            config["padding_bottom_ratio_min"], config["padding_bottom_ratio_max"]
-        )
-        * text_height
+    padding_bottom = get_random_padding(
+        config["padding_bottom_ratio_min"],
+        config["padding_bottom_ratio_max"],
+        text_height,
     )
-    padding_left = int(
-        rand_uniform(config["padding_left_ratio_min"], config["padding_left_ratio_max"])
-        * text_width
+    padding_left = get_random_padding(
+        config["padding_left_ratio_min"],
+        config["padding_left_ratio_max"],
+        text_width,
     )
-    padding_right = int(
-        rand_uniform(
-            config["padding_right_ratio_min"], config["padding_right_ratio_max"]
-        )
-        * text_width
+    padding_right = get_random_padding(
+        config["padding_right_ratio_min"],
+        config["padding_right_ratio_max"],
+        text_width,
     )
     padding = [padding_top, padding_bottom, padding_left, padding_right]
     return generate_typed_text_line_image_from_params(