diff --git a/backend/app/services/pdf_generator_service.py b/backend/app/services/pdf_generator_service.py index 124746a..3898d47 100644 --- a/backend/app/services/pdf_generator_service.py +++ b/backend/app/services/pdf_generator_service.py @@ -412,9 +412,9 @@ class PDFGeneratorService: # Filter text regions to avoid overlap with tables/images regions_to_avoid = images_metadata - table_count = len([img for img in images_metadata if 'table' in img.get('image_path', '').lower()]) + table_count = len([img for img in images_metadata if img.get('type') == 'table']) - logger.info(f"過濾文字區域: {len(regions_to_avoid)} 個區域需要避免") + logger.info(f"過濾文字區域: {len(regions_to_avoid)} 個區域需要避免 (含 {table_count} 個表格)") filtered_text_regions = self._filter_text_in_regions(text_regions, regions_to_avoid) @@ -450,7 +450,8 @@ class PDFGeneratorService: page_image_regions = [ img for img in images_metadata if img.get('page') == page_num - 1 - and 'table' not in img.get('image_path', '').lower() + and img.get('type') != 'table' + and img.get('image_path') is not None # Skip table placeholders ] # Draw in layers: images → tables → text