# Change: Fix OCR Track Table Empty Columns and Alignment ## Why PP-Structure 生成的表格經常包含空白欄位(所有 row 該欄皆為空/空白),導致轉換後的 UnifiedDocument 表格出現空欄與欄位錯位。目前 OCR Track 直接使用原始資料,未進行清理,影響 PDF/JSON/Markdown 輸出品質。 ## What Changes - 新增 `trim_empty_columns()` 函數,清理 OCR Track 表格的空欄 - 在 `_convert_table_data` 入口調用清洗邏輯,確保 TableData 乾淨 - 處理 col_span 重算:若 span 跨過被移除欄位,縮小 span - 更新 columns/cols 數值、調整各 cell 的 col 索引 - 可選:依 bbox x0 進行欄對齊排序 ## Impact - Affected specs: `ocr-processing` - Affected code: - `backend/app/services/ocr_to_unified_converter.py` (主要修改) - 不影響 Direct/HYBRID 路徑 - PDF/JSON/Markdown 輸出將更乾淨 ## Constraints - 保持表格 bbox、頁面座標不變 - 不修改 Direct/HYBRID 路徑 - 只移除「所有行皆空」的欄;若表頭空但數據有值,不應移除 - 保留原 bbox,避免 PDF 版面漂移