toMarkdown
HWP 문서를 마크다운 형식으로 변환하는 함수입니다.
예제
시그니처
매개변수
data: Buffer
변환할 HWP 파일의 바이트 배열입니다 (Buffer 또는 Uint8Array).
예제:
options?: ToMarkdownOptions
마크다운 변환 옵션입니다 (선택 사항).
반환값
ToMarkdownResult
변환된 마크다운 문자열과 이미지 데이터를 포함하는 객체입니다.
Web/Node.js:
React Native:
:::warning 플랫폼별 차이점:
- Web/Node.js:
image: 'blob'옵션 사용 시images배열에ImageData객체가 포함됩니다. - React Native:
images필드가 지원되지 않으며, 이미지는 항상 base64 데이터 URI로 마크다운에 직접 포함됩니다. :::
다음 내용이 포함됩니다:
- 문서 제목 및 버전 정보 (옵션에 따라)
- 본문 텍스트
- 표 (Table) - 마크다운 테이블 형식으로 변환
- 이미지 - base64 데이터 URI 또는 별도 이미지 배열
- 컨트롤 객체 (글상자 등)
- 페이지 구분선 (페이지 나누기 시, 옵션에 따라)
지원 기능
텍스트 추출
- 문단 텍스트 추출
- 제어 문자 제거
- 공백 정규화
컨트롤 객체
다음 컨트롤 객체가 감지되고 마크다운으로 변환됩니다:
- 표 (Table): 마크다운 테이블 형식으로 변환
- 이미지: base64 데이터 URI 또는 별도 이미지 배열로 제공
- 그리기 개체 (Shape Object): 글상자 등
- 머리말/꼬리말 (Header/Footer):
*[머리말]*,*[꼬리말]* - 단 정의 (Column Definition):
*[단 정의]*
출력 형식
옵션에 따른 출력 차이
includeVersion: true: 문서 버전 정보가 포함됩니다.includePageInfo: true: 페이지 구분선이 포함됩니다.useHtml: true: 테이블 등 개행 불가 영역에<br>태그가 사용됩니다.image: 'base64': 이미지가 마크다운에 base64 데이터 URI로 직접 포함됩니다.image: 'blob': 이미지가 별도 배열로 반환되고, 마크다운에는 참조만 포함됩니다.
에러
HWP 파일 형식이 올바르지 않거나 변환에 실패한 경우 에러가 발생합니다.
- HWP 파일 형식이 올바르지 않은 경우
- 파일이 손상된 경우
- 마크다운 변환에 실패한 경우
제한사항
- 그리기 개체: 일부 그리기 개체의 실제 내용은 추출되지 않을 수 있습니다.
- 스타일링: 글자 모양, 문단 모양 등의 서식 정보는 반영되지 않습니다.
- 복잡한 레이아웃: 일부 복잡한 레이아웃은 완벽하게 변환되지 않을 수 있습니다.
참고
- 이 함수는 Rust로 구현된
hwp-core라이브러리를 사용하여 HWP 파일을 파싱하고 마크다운으로 변환합니다. - 표 내용은 마크다운 테이블 형식으로 변환됩니다.
- 이미지는 base64 데이터 URI로 임베드하거나 별도 배열로 받을 수 있습니다.
- HTML 형식으로의 변환은 toHtml 함수를 참고하세요.