Observed
박스+화살표 벡터 다이어그램(관계도/흐름도)이 포함된 PDF를 파싱하면, 다이어그램 텍스트가 공간 관계를 잃고 읽기 순서대로 나열된 무관한 문단 파편으로 흩어집니다. 연결선·박스 기하가 possible_table_mismatch 오탐도 유발합니다.
Expected
다이어그램 영역이 하나의 논리 단위(또는 이미지 노드)로 묶이거나, 최소한 "다이어그램"으로 분류되는 신호가 있어 소비자가 파편을 본문으로 오인하지 않을 수 있어야 합니다.
Reproduction
from document_processor import DocIR
doc = DocIR.from_file("diagram-crack.pdf") # page 2 "3) 사업 집행절차" = 관계도
print([p.text for p in doc.paragraphs if p.page_number == 2])
# → ['경기도 / 현금', '출자', 'RE100기업', '경기도 주식회사 / 출자', ...,
# '구 분 / 주 요 내 용 / 道/시군→㈜경기 / ...'] # 박스/화살표 관계 소실
파싱 중 경고:
possible_table_mismatch - adjacent tables may be one split table
| page=2 | bbox=[286.826, 409.592, 351.231, 518.373]
샘플 diagram-crack.pdf 첨부 예정.
Context
document-processor @ a416f6a / Python 3.13.11 / OpenJDK 25.0.3
- 전 페이지
parse_status=parsed — scan 아님, 파싱은 되나 구조가 깨짐.
- 당장 수정 대상 아님, 알려진 한계로 기록. 소비자(lamella)는 다이어그램 페이지를 추출 제외/경고로 우회.
- 추정 원인: 벡터 다이어그램 요소에 대한 레이아웃 분석기의 텍스트 그룹핑·표 감지 오작동.
Observed
박스+화살표 벡터 다이어그램(관계도/흐름도)이 포함된 PDF를 파싱하면, 다이어그램 텍스트가 공간 관계를 잃고 읽기 순서대로 나열된 무관한 문단 파편으로 흩어집니다. 연결선·박스 기하가
possible_table_mismatch오탐도 유발합니다.Expected
다이어그램 영역이 하나의 논리 단위(또는 이미지 노드)로 묶이거나, 최소한 "다이어그램"으로 분류되는 신호가 있어 소비자가 파편을 본문으로 오인하지 않을 수 있어야 합니다.
Reproduction
파싱 중 경고:
Context
document-processor @ a416f6a/ Python 3.13.11 / OpenJDK 25.0.3parse_status=parsed— scan 아님, 파싱은 되나 구조가 깨짐.