증상
samples/21_언어_기출_편집가능본.hwp 를 rhwp export-svg 로 출력하면 19쪽 생성되지만, PDF 원본은 15쪽. 즉 SVG가 4쪽 초과.
Task #304 (바탕쪽 중복 + 우측단 누락) 수정 이후에도 남아 있는 별개의 2차 이슈.
관찰
각 쪽의 레이아웃 구조(바탕쪽 헤더, 2단 조판, 문항 번호 등)는 PDF와 일치. 그러나 한 쪽에 담기는 본문량이 PDF보다 적어 콘텐츠가 뒷쪽으로 점점 밀리면서 마지막에 4쪽 초과 생성.
비교 (100dpi 렌더 기준)
| 쪽 |
PDF |
SVG |
비고 |
| 1 |
구조 일치 |
우측 단 콘텐츠가 PDF보다 덜 채워짐 |
밀림 시작 |
| 2~3 |
구조 일치 |
본문 점진적 밀림 |
문항 시작 위치 어긋남 |
| 8 |
정상 |
한 쪽에 덜 담김 |
누적 오프셋 증가 |
| 15 |
마지막 쪽 |
PDF 15쪽 콘텐츠가 아직 완료되지 않음 |
|
| 16~19 |
없음 |
밀려난 콘텐츠가 추가 쪽으로 생성 |
SVG only |
원인 후보
- 문단 높이 계산 (lh/ls/sb/sa 누적) 오차
- 줄 간격(line_spacing) 해석 차이
- 표/도형 wrap 공간(바깥 여백·쪽나눔 방지 등) 과대 계산
- 2단 조판 column balancing — 좌단에 과도히 배치 후 우단이 덜 채워짐
- LINE_SEG vpos 해석 vs 재계산 불일치
재현
cargo build --release
./target/release/rhwp export-svg samples/21_언어_기출_편집가능본.hwp -o output/svg/21_lang/
ls output/svg/21_lang/*.svg | wc -l # 19 (기대: 15)
PDF 비교:
pdftoppm -r 100 samples/21_언어_기출_편집가능본.pdf /tmp/pdf-
ls /tmp/pdf-*.png | wc -l # 15
조사 도구
./target/release/rhwp dump-pages samples/21_언어_기출_편집가능본.hwp -p N
./target/release/rhwp dump samples/21_언어_기출_편집가능본.hwp -s 0 -p M
각 쪽 body_area 높이·단별 items 누적 높이 확인 → PDF와 동일한 쪽에 어느 문단/표가 들어가야 하는지 역산.
범위
- 본 샘플(
21_언어) 쪽수 PDF와 일치 (19 → 15)
- 1쪽 PDF 대비 레이아웃 일치도 상향
- 다른 샘플 회귀 없음
연관
증상
samples/21_언어_기출_편집가능본.hwp를rhwp export-svg로 출력하면 19쪽 생성되지만, PDF 원본은 15쪽. 즉 SVG가 4쪽 초과.Task #304 (바탕쪽 중복 + 우측단 누락) 수정 이후에도 남아 있는 별개의 2차 이슈.
관찰
각 쪽의 레이아웃 구조(바탕쪽 헤더, 2단 조판, 문항 번호 등)는 PDF와 일치. 그러나 한 쪽에 담기는 본문량이 PDF보다 적어 콘텐츠가 뒷쪽으로 점점 밀리면서 마지막에 4쪽 초과 생성.
비교 (100dpi 렌더 기준)
원인 후보
재현
PDF 비교:
조사 도구
각 쪽
body_area높이·단별 items 누적 높이 확인 → PDF와 동일한 쪽에 어느 문단/표가 들어가야 하는지 역산.범위
21_언어) 쪽수 PDF와 일치 (19 → 15)연관