[PDF] 복잡한 테이블 행 분리 실패 및 이모지 심볼 변환 오류 #2

Open
opened 2026-04-20 10:40:09 +09:00 by kimminsung · 0 comments
Owner

증상

논문 등 복잡한 PDF 테이블 변환 시 두 가지 문제 발생.

1. 다중 행이 하나의 셀로 뭉침

원본: 5개 독립 행 (Frame Quality / Frame Redundancy / Precise Camera Control / Consistency / Efficiency)
결과: 첫 번째 컬럼 전체가 하나의 셀 텍스트로 합쳐짐

| Frame Quality Frame Redundancy Precise Camera Control Consistency Efficiency | ... |

원인: 해당 테이블은 행 사이에 가로 구분선이 없음. marker-pdf가 셀 경계를 좌표로 판단하는데, 인접 행 좌표가 겹치거나 구분선 부재로 하나의 셀로 인식.

참고: merge(rowspan)가 아님. 실제로 5개 독립 행이 맞음.

2. 이모지/심볼 → ASCII 오변환

원본: 😐(보통), 🙂(좋음), ☹(나쁨) 계열 이모지
결과: (a), (b), (c), (d), (2), © 등 의미 없는 문자로 치환

원인: marker-pdf가 Unicode 이모지를 ASCII fallback으로 변환하는 버그.

해결 방향 (미결)

  • 행 분리: PyMuPDF page.find_tables() API로 직접 테이블 구조 파싱 → marker 출력 대신 사용. 구현 복잡도 높음.
  • 이모지: PyMuPDF로 해당 좌표 원본 텍스트 추출 후 marker 출력과 병합. 또는 이모지 좌표를 PNG 크롭 후 Vision AI 판별.

우선순위

낮음 — 현재 워크플로우(에이전트가 Vision으로 후처리)로 우회 가능.

## 증상 논문 등 복잡한 PDF 테이블 변환 시 두 가지 문제 발생. ### 1. 다중 행이 하나의 셀로 뭉침 **원본**: 5개 독립 행 (Frame Quality / Frame Redundancy / Precise Camera Control / Consistency / Efficiency) **결과**: 첫 번째 컬럼 전체가 하나의 셀 텍스트로 합쳐짐 ``` | Frame Quality Frame Redundancy Precise Camera Control Consistency Efficiency | ... | ``` **원인**: 해당 테이블은 행 사이에 가로 구분선이 없음. marker-pdf가 셀 경계를 좌표로 판단하는데, 인접 행 좌표가 겹치거나 구분선 부재로 하나의 셀로 인식. **참고**: merge(rowspan)가 아님. 실제로 5개 독립 행이 맞음. ### 2. 이모지/심볼 → ASCII 오변환 **원본**: 😐(보통), 🙂(좋음), ☹(나쁨) 계열 이모지 **결과**: `(a)`, `(b)`, `(c)`, `(d)`, `(2)`, `©` 등 의미 없는 문자로 치환 **원인**: marker-pdf가 Unicode 이모지를 ASCII fallback으로 변환하는 버그. ## 해결 방향 (미결) - **행 분리**: PyMuPDF `page.find_tables()` API로 직접 테이블 구조 파싱 → marker 출력 대신 사용. 구현 복잡도 높음. - **이모지**: PyMuPDF로 해당 좌표 원본 텍스트 추출 후 marker 출력과 병합. 또는 이모지 좌표를 PNG 크롭 후 Vision AI 판별. ## 우선순위 낮음 — 현재 워크플로우(에이전트가 Vision으로 후처리)로 우회 가능.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kimminsung/doc2md#2