/** * HWP 5.0 바이너리 파서 진입점. * * 공개 API: * - detectFormat(bytes): "hwp" | "hwpx" | "hwp3" | "unknown" * - parseHwp(bytes): HwpDocument * - hwpToText(bytes, options?): Promise * - hwpToHwpx(bytes, options?): Promise * - parseFileHeader, versionToString, isVersionSupported * - 에러: HwpEncryptedError, HwpUnsupportedError, HwpInvalidFormatError * - 타입: HwpDocument, HwpSection * * 보존되는 것 (HWP → HWPX 라운드트립): * - 표 (rowSpan/colSpan 포함), 임베디드 이미지 (BinData 패키징) * - 7개 언어 그룹별 폰트, 글자 모양(굵게/기울임/밑줄/색/크기) * - 문단 모양(정렬/들여쓰기/줄간격), 스타일, 번호 매기기 형식 문자열, 글머리표 문자 * - 도형(line) 좌표, 수식(EQEDIT) 스크립트 * - Preview/PrvText.txt 자동 생성 * * 미지원 / 한계: * - 암호화된 HWP / 배포용 ViewText / HWP 3.0: 명시적 에러 * - 머리말/꼬리말/각주: 파싱되나 본문 흐름 외부에 출력하지 않음 * - BorderFill 정의: ID 슬롯만 채움 (색/굵기/대각선 미보존) * - 차트(CHART_DATA) / OLE / 글맵시: 미지원 * - 도형(line) 외 사각형/타원/호/다각형/곡선: 종류만 보존 */ import { type MarkdownWriteOptions } from "./converter.js"; import type { HwpDocument, ImageResolver, PageSetupOption } from "./types.js"; export type { HwpDocument, HwpSection, ImageResolver, ConvertOptions, PageSetupOption, PaperSizeName, } from "./types.js"; export type { MarkdownWriteOptions } from "./converter.js"; export { hwpDocumentToMarkdown, markdownToHwpDocument, htmlToHwpDocument, } from "./converter.js"; export { parseFileHeader, versionToString, isVersionSupported } from "./fileHeader.js"; export declare class HwpUnsupportedError extends Error { constructor(msg: string); } export declare class HwpEncryptedError extends Error { constructor(); } export declare class HwpInvalidFormatError extends Error { constructor(msg?: string); } export type DetectedFormat = "hwp" | "hwpx" | "hwp3" | "unknown"; export declare function detectFormat(data: Uint8Array): DetectedFormat; /** * HWP 5.0 바이너리를 파싱하여 HwpDocument IR 반환. */ export declare function parseHwp(data: Uint8Array): HwpDocument; export declare function hwpToText(data: Uint8Array, options?: { paragraphSeparator?: string; sectionSeparator?: string; }): Promise; export declare function hwpToHwpx(data: Uint8Array, options?: { title?: string; creator?: string; }): Promise; export declare function hwpToMarkdown(data: Uint8Array, options?: MarkdownWriteOptions): Promise; /** Markdown 텍스트를 HWPX 패키지로 변환. */ export declare function markdownToHwpx(md: string, options?: { title?: string; creator?: string; imageResolver?: ImageResolver; }): Promise; /** HTML 문서를 HWPX 패키지로 변환. */ export declare function htmlToHwpx(html: string, options?: { title?: string; creator?: string; imageResolver?: ImageResolver; /** 용지/방향/여백 명시 제어(미지정 시 컨테이너 CSS > 기본값 자동). */ page?: PageSetupOption; }): Promise;