INNER CODE UNIT · Rust
read_text
edwardkim/rhwp · bindings/Native/src/lib.rs:242
fn read_text(input_path: &Path, target_page: Option<u32>) -> Result<String, String> {
let data = fs::read(input_path)
.map_err(|e| format!("파일을 읽을 수 없습니다 - {}: {}", input_path.display(), e))?;
let doc = HwpDocument::from_bytes(&data).map_err(|e| format!("HWP 파싱 실패 - {}", e))?;
let page_count = doc.page_count();
let pages = select_pages(page_count, target_page)?;
let mut extracted = Vec::new();
for page_num in pages {
let mut text = doc
.extract_page_text_native(page_num)
.map_err(|e| format!("페이지 {} 텍스트 추출 실패 - {:?}", page_num, e))?;
ensure_trailing_newline(&mut text);
extracted.push((page_num, text));
}
Ok(text_json(page_count, &extracted))
}