Description
Describe the bug
I was trying to use show_element_id as True in draw_box but suddenly got an AttributeError: 'FreeTypeFont' object has no attribute 'getsize'
Checklist
- I have searched related issues but cannot get the expected help.
- The bug has not been fixed in the latest version, see the Layout Parser Releases
To Reproduce
Steps to reproduce the behavior:
- What command or script did you run?
lp.draw_box(pdf_images[4], text_blocks, box_width=3, show_element_id=True) # Use the default font provided by the library
Environment
- Used on windows with jupyter lab on conda
- Using layoutparser version 0.3.4
- All other libraries has been installed
Error traceback
AttributeError Traceback (most recent call last)
Cell In[17], line 1
----> 1 lp.draw_box(pdf_images[4], text_blocks,
2 box_width=3, show_element_id=True) # Use the default font provided by the library
File ~\miniconda3\Lib\site-packages\layoutparser\visualization.py:194, in image_loader..wrap(canvas, layout, *args, **kwargs)
192 elif isinstance(canvas, np.ndarray):
193 canvas = Image.fromarray(canvas)
--> 194 out = func(canvas, layout, *args, **kwargs)
195 return out
File ~\miniconda3\Lib\site-packages\layoutparser\visualization.py:392, in draw_box(canvas, layout, box_width, box_alpha, box_color, color_map, show_element_id, show_element_type, id_font_size, id_font_path, id_text_color, id_text_background_color, id_text_background_alpha)
389 text = str(ele.type) if not text else text + ": " + str(ele.type)
391 start_x, start_y = ele.coordinates[:2]
--> 392 text_w, text_h = font_obj.getsize(text)
394 text_box_object = Rectangle(
395 start_x, start_y, start_x + text_w, start_y + text_h
396 )
397 # Add a small background for the text
AttributeError: 'FreeTypeFont' object has no attribute 'getsize'