배경
PR #599 (Task #588 후속) 의 export-png CLI 가 PNG raster 출력을 지원합니다. 본 단계의 옵션은 VLM 입력용 (scale / max-dimension 픽셀 수 제어) 에 한정되어 있고, 인쇄 워크플로우 의 DPI 메타데이터 지정은 미지원.
요청
PNG pHYs chunk 에 DPI 메타데이터 명시 — 인쇄 시점 크기 힌트로 사용. 실제 픽셀 수에는 영향 없음.
사용 예시
# 300 DPI 인쇄 메타데이터 (실제 픽셀은 scale 로 별도 제어)
rhwp export-png input.hwp --scale 3.125 --dpi 300
# scale 자동 계산 (--dpi 만 지정 시 scale = dpi/96 자동)
rhwp export-png input.hwp --dpi 300 # → scale 3.125, dpi 300 메타데이터
기존 구현 활용
RasterRenderOptions::dpi: Option<f64> 가 이미 정의되어 있으나 (src/renderer/layer_renderer.rs) 검증만 하고 PNG 출력에 반영 안 됨. 본 task 에서:
- CLI 옵션 추가 (
--dpi <값>)
RasterRenderOptions::dpi → PNG pHYs chunk 메타데이터 작성 로직 (skia-safe encode 옵션 또는 별도 chunk 추가)
--scale 미지정 + --dpi 만 지정 시 scale 자동 계산 (scale = dpi / 96.0)
참고
배경
PR #599 (Task #588 후속) 의 export-png CLI 가 PNG raster 출력을 지원합니다. 본 단계의 옵션은 VLM 입력용 (scale / max-dimension 픽셀 수 제어) 에 한정되어 있고, 인쇄 워크플로우 의 DPI 메타데이터 지정은 미지원.
요청
PNG
pHYschunk 에 DPI 메타데이터 명시 — 인쇄 시점 크기 힌트로 사용. 실제 픽셀 수에는 영향 없음.사용 예시
기존 구현 활용
RasterRenderOptions::dpi: Option<f64>가 이미 정의되어 있으나 (src/renderer/layer_renderer.rs) 검증만 하고 PNG 출력에 반영 안 됨. 본 task 에서:--dpi <값>)RasterRenderOptions::dpi→ PNGpHYschunk 메타데이터 작성 로직 (skia-safe encode 옵션 또는 별도 chunk 추가)--scale미지정 +--dpi만 지정 시 scale 자동 계산 (scale = dpi / 96.0)참고
pHYschunk 사양: https://www.w3.org/TR/PNG/#11pHYs