kordoc 4.0.8 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -16
- package/dist/{-LE4RLXVA.js → -SXQIZHYA.js} +24 -10
- package/dist/{parser-TCTCSBYZ.js → chunk-26AJJCFF.js} +1427 -2027
- package/dist/chunk-26AJJCFF.js.map +1 -0
- package/dist/{parser-KMMUS73Q.js → chunk-4JPPLIIV.js} +1425 -2025
- package/dist/chunk-4JPPLIIV.js.map +1 -0
- package/dist/chunk-4VNLZ2GZ.js +13 -0
- package/dist/chunk-4VNLZ2GZ.js.map +1 -0
- package/dist/{chunk-2DZQF6YJ.js → chunk-6SHO3BNV.js} +24 -15
- package/dist/chunk-6SHO3BNV.js.map +1 -0
- package/dist/chunk-7FCNOKOR.js +144 -0
- package/dist/chunk-7FCNOKOR.js.map +1 -0
- package/dist/{chunk-6XAAYAWL.cjs → chunk-CMN3SYZ3.js} +62 -304
- package/dist/chunk-CMN3SYZ3.js.map +1 -0
- package/dist/chunk-DZIXKL7E.js +145 -0
- package/dist/chunk-DZIXKL7E.js.map +1 -0
- package/dist/chunk-ELOV2GIJ.js +82 -0
- package/dist/chunk-ELOV2GIJ.js.map +1 -0
- package/dist/chunk-F2HYH62H.cjs +130 -0
- package/dist/chunk-F2HYH62H.cjs.map +1 -0
- package/dist/{chunk-HMUEU7D7.js → chunk-FSXLSHCW.js} +3 -3
- package/dist/{chunk-HMUEU7D7.js.map → chunk-FSXLSHCW.js.map} +1 -1
- package/dist/chunk-GEPINOL6.js +83 -0
- package/dist/chunk-GEPINOL6.js.map +1 -0
- package/dist/chunk-H7OWEYH2.cjs +243 -0
- package/dist/chunk-H7OWEYH2.cjs.map +1 -0
- package/dist/{chunk-7S3M4N4E.js → chunk-IGGRLWT5.js} +683 -226
- package/dist/chunk-IGGRLWT5.js.map +1 -0
- package/dist/chunk-J2RZ444H.js +243 -0
- package/dist/chunk-J2RZ444H.js.map +1 -0
- package/dist/chunk-JP5YH3Z4.js +130 -0
- package/dist/chunk-JP5YH3Z4.js.map +1 -0
- package/dist/{parser-ITMU2WN5.cjs → chunk-LHROM2BO.cjs} +1409 -2012
- package/dist/chunk-LHROM2BO.cjs.map +1 -0
- package/dist/chunk-NNDVFNMJ.js +246 -0
- package/dist/chunk-NNDVFNMJ.js.map +1 -0
- package/dist/{chunk-RROH5WHO.js → chunk-PLIY23LY.js} +2 -2
- package/dist/{chunk-BNU5QGIZ.js → chunk-V6U6YS5B.js} +12 -4
- package/dist/chunk-V6U6YS5B.js.map +1 -0
- package/dist/{chunk-UEIYETCQ.js → chunk-WF2E5P2G.js} +40 -35
- package/dist/chunk-WF2E5P2G.js.map +1 -0
- package/dist/{chunk-D35VBACN.js → chunk-WQLHPOMJ.js} +7 -4
- package/dist/chunk-WQLHPOMJ.js.map +1 -0
- package/dist/{chunk-OQPILS7B.js → chunk-XTCT6KQ5.cjs} +79 -183
- package/dist/chunk-XTCT6KQ5.cjs.map +1 -0
- package/dist/{chunk-MEPHGCPQ.js → chunk-YOO6ET6M.js} +7 -3
- package/dist/chunk-YOO6ET6M.js.map +1 -0
- package/dist/chunks-ZQEFAZNC.js +10 -0
- package/dist/cli.js +228 -36
- package/dist/cli.js.map +1 -1
- package/dist/{detect-RI2MQ33K.js → detect-YEZX2XCF.js} +2 -2
- package/dist/{formula-RXVSQPXI.js → formula-KSNAEBZ2.js} +23 -232
- package/dist/formula-KSNAEBZ2.js.map +1 -0
- package/dist/{formula-5NKVS2LR.cjs → formula-SB3NHDUM.cjs} +30 -240
- package/dist/formula-SB3NHDUM.cjs.map +1 -0
- package/dist/{formula-JCNF43NE.js → formula-SXC6LRRC.js} +23 -233
- package/dist/formula-SXC6LRRC.js.map +1 -0
- package/dist/index.cjs +1280 -589
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +112 -4
- package/dist/index.d.ts +112 -4
- package/dist/index.js +929 -238
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +278 -68
- package/dist/mcp.js.map +1 -1
- package/dist/models-KA4GLQK5.js +25 -0
- package/dist/parser-ND2YGQZR.js +800 -0
- package/dist/parser-ND2YGQZR.js.map +1 -0
- package/dist/parser-RBZHA6SY.js +804 -0
- package/dist/parser-RBZHA6SY.js.map +1 -0
- package/dist/parser-WDZOMDG4.cjs +803 -0
- package/dist/parser-WDZOMDG4.cjs.map +1 -0
- package/dist/pdf-ocr-2Z7VZIFI.cjs +439 -0
- package/dist/pdf-ocr-2Z7VZIFI.cjs.map +1 -0
- package/dist/pdf-ocr-FJFXFADQ.js +438 -0
- package/dist/pdf-ocr-FJFXFADQ.js.map +1 -0
- package/dist/pdf-ocr-VYE4DHD4.js +386 -0
- package/dist/pdf-ocr-VYE4DHD4.js.map +1 -0
- package/dist/{profile-io-SLN4P76T.js → profile-io-TWHDIVPL.js} +3 -3
- package/dist/rasterize-W2NEZUSW.js +40 -0
- package/dist/rasterize-W2NEZUSW.js.map +1 -0
- package/dist/redact-7ILEAUTS.js +12 -0
- package/dist/redact-7ILEAUTS.js.map +1 -0
- package/dist/render-4MG5QUDG.js +10 -0
- package/dist/render-4MG5QUDG.js.map +1 -0
- package/dist/seal-D2QNXJVO.js +10 -0
- package/dist/seal-D2QNXJVO.js.map +1 -0
- package/dist/{setup-57FB3LSP.js → setup-Q2PRE7UA.js} +5 -3
- package/dist/setup-Q2PRE7UA.js.map +1 -0
- package/dist/{watch-OHQWSVPE.js → watch-VWXJZT2R.js} +78 -23
- package/dist/watch-VWXJZT2R.js.map +1 -0
- package/package.json +2 -1
- package/dist/chunk-2DZQF6YJ.js.map +0 -1
- package/dist/chunk-6XAAYAWL.cjs.map +0 -1
- package/dist/chunk-7S3M4N4E.js.map +0 -1
- package/dist/chunk-BNU5QGIZ.js.map +0 -1
- package/dist/chunk-D35VBACN.js.map +0 -1
- package/dist/chunk-MEPHGCPQ.js.map +0 -1
- package/dist/chunk-OQPILS7B.js.map +0 -1
- package/dist/chunk-UEIYETCQ.js.map +0 -1
- package/dist/formula-5NKVS2LR.cjs.map +0 -1
- package/dist/formula-JCNF43NE.js.map +0 -1
- package/dist/formula-RXVSQPXI.js.map +0 -1
- package/dist/parser-ITMU2WN5.cjs.map +0 -1
- package/dist/parser-KMMUS73Q.js.map +0 -1
- package/dist/parser-TCTCSBYZ.js.map +0 -1
- package/dist/provider-4ZJKV3DC.js +0 -37
- package/dist/provider-4ZJKV3DC.js.map +0 -1
- package/dist/provider-AKROB7WQ.js +0 -39
- package/dist/provider-AKROB7WQ.js.map +0 -1
- package/dist/provider-G4C2V2PD.cjs +0 -39
- package/dist/provider-G4C2V2PD.cjs.map +0 -1
- package/dist/render-25BT623I.js +0 -10
- package/dist/seal-R4TETA4C.js +0 -10
- package/dist/setup-57FB3LSP.js.map +0 -1
- package/dist/watch-OHQWSVPE.js.map +0 -1
- /package/dist/{-LE4RLXVA.js.map → -SXQIZHYA.js.map} +0 -0
- /package/dist/{chunk-RROH5WHO.js.map → chunk-PLIY23LY.js.map} +0 -0
- /package/dist/{detect-RI2MQ33K.js.map → chunks-ZQEFAZNC.js.map} +0 -0
- /package/dist/{profile-io-SLN4P76T.js.map → detect-YEZX2XCF.js.map} +0 -0
- /package/dist/{render-25BT623I.js.map → models-KA4GLQK5.js.map} +0 -0
- /package/dist/{seal-R4TETA4C.js.map → profile-io-TWHDIVPL.js.map} +0 -0
package/README.md
CHANGED
|
@@ -84,6 +84,21 @@ MCP 등록 대신 스킬(SKILL.md) 형태로 쓰려면:
|
|
|
84
84
|
|
|
85
85
|
---
|
|
86
86
|
|
|
87
|
+
## v4.2.0 변경사항
|
|
88
|
+
|
|
89
|
+
- **👓 내장 텍스트 OCR (PP-OCRv5 korean)**: 스캔/이미지 PDF를 **API 키 없이 로컬 추론**으로 읽습니다 — `parse(buffer, { ocr: true })` / CLI `--ocr` / MCP `parse_document`의 `ocr` 옵션. 모델 ~18MB는 첫 사용 시 자동 다운로드+SHA 검증. 품질 신호가 가리키는 페이지(스캔·글꼴 매핑 깨짐)만 정밀 OCR 하고 정상 페이지는 그대로 두며, OCR 라인 좌표를 표 감지 파이프라인에 태워 **스캔본에서도 표가 복원**됩니다. 한국어 사전 11,945자(완성형 한글 전량), 1페이지 ≈1초.
|
|
90
|
+
- **🩹 HWP3 구버전 파서 정합 3종**: 탭/필드코드/책갈피의 스트림 소비 결함으로 이후 텍스트가 통째로 오염되던 것과, 로마숫자(Ⅰ~Ⅹ)·원문자(①~⑩)·따옴표·글머리가 증발하던 것을 원저장소(rhwp) 후속 패치 반영으로 수리.
|
|
91
|
+
- **🐛 수식 OCR 페이지 off-by-one 수리**: `--pages` 필터가 한 페이지 밀리고 수식이 이전 페이지에 붙던 잠복 결함. XLSX/XLS `--keep-empty-cols` 배선 누락도 수리.
|
|
92
|
+
|
|
93
|
+
## v4.1.0 변경사항
|
|
94
|
+
|
|
95
|
+
- **👁️ `render_document` MCP 도구 신설**: 생성·패치·양식 채움 결과 HWPX를 조판 그대로 **PNG 이미지로 응답에 직접 반환** — AI가 자기가 만든 문서를 눈으로 확인하고 다시 고치는 루프가 MCP 안에서 닫힙니다 (한컴 저장본은 조판 캐시, 생성본은 reflow 조판, 검색어 형광펜 지원).
|
|
96
|
+
- **🕶️ `kordoc redact` + `redact_document` MCP 신설**: 개인정보(주민번호·전화·이메일·카드·계좌, 여권·운전면허 opt-in)를 탐지해 **원본 서식 그대로 마스킹**(`850315-●●●●●●●`)한 HWPX/HWP를 출력합니다. 생년월일·Luhn 검증으로 오탐 축소, 리포트에 원본 개인정보 미포함. 자동 검출 보조 도구 — 최종 공개 전 사람 확인 필수.
|
|
97
|
+
- **📦 `--format chunks` + `parse_chunks` MCP 신설**: RAG용 구조 청크 JSON — 헤딩·개조식 위계(□○- / 1.·가.·1))를 breadcrumb 경로로 보존하고 표는 독립 청크로 분리합니다.
|
|
98
|
+
- **📋 표 오른쪽 끝 빈 열 보존 (#47)**: 서식 문서의 빈 입력란 열이 파싱에서 통째로 삭제되던 문제 — `keepTrailingEmptyCols` 파싱 옵션(CLI `--keep-empty-cols`)으로 보존할 수 있고, **양식 경로(parse_form·fill)는 항상 보존**해 fill이 채울 수 있는 필드가 목록에서 빠지지 않습니다. 제보 [@jumaniac](https://github.com/jumaniac).
|
|
99
|
+
- **📅 XLSX/XLS 날짜 변환**: 날짜 셀이 시리얼 숫자("45306")로 나오던 것을 ISO("2024-01-15")로 변환합니다 (내장·커스텀 numFmt 감지, date1904 반영).
|
|
100
|
+
- **🛡️ 프로덕션 전면 리뷰 ~80건 수정**: 악성 파일 대응(수식 정규식 ReDoS·HTML 표 span 폭주·HWP3 압축 폭탄·XLSX 그리드 폭주), 표-전용 PDF의 OCR 오판, HWP5 제어문자(하이픈/고정폭 공백) 매핑, DOCX 변경추적 삽입 유실, 양식 채움 라벨 오탐 4종, HWP5 패치 삭제 텍스트 잔존 제로화, MCP 쓰기 경로 검증, PDF 괘선 표 성능(62,500 교차점 3.1s→0.2s) 등 — 자세한 내역은 [CHANGELOG](CHANGELOG.md).
|
|
101
|
+
|
|
87
102
|
## v4.0.8 변경사항
|
|
88
103
|
|
|
89
104
|
- **🖼️ PDF 이미지 추출 신설**: 종전에는 이미지 영역 좌표만 계산하고 바이너리는 전량 유실되던 것을, 이미지 XObject를 디코딩 픽셀로 받아 순수 JS PNG 인코딩으로 추출합니다 (pdfjs 비동기 디코딩 대기 포함 — 코퍼스 52 PDF 중 45파일 731장 실측). 페이지 말미 위치에 `` 참조, 로고·워터마크 페이지 간 중복 억제, 페이지 경계 표 병합 비간섭.
|
|
@@ -482,7 +497,7 @@ MCP 등록 대신 스킬(SKILL.md) 형태로 쓰려면:
|
|
|
482
497
|
- **구조화 파싱** — `IRBlock[]`과 `DocumentMetadata`에 직접 접근. 마크다운 넘어선 데이터 활용.
|
|
483
498
|
- **페이지 범위** — `parse(buffer, { pages: "1-3" })` — 필요한 페이지만 빠르게.
|
|
484
499
|
- **Markdown → HWPX** — 역변환. AI가 생성한 내용을 바로 공문서로.
|
|
485
|
-
- **OCR
|
|
500
|
+
- **OCR** — 스캔/이미지 PDF 텍스트 추출. 내장 엔진(`ocr: true`, PP-OCRv5 korean) 또는 외부 프로바이더(Tesseract, Claude Vision 등).
|
|
486
501
|
- **Watch 모드** — `kordoc watch ./수신함 -d ./변환결과 --webhook https://...`
|
|
487
502
|
- **MCP 7개 도구** — parse_document, detect_format, parse_metadata, parse_pages, parse_table, compare_documents, parse_form
|
|
488
503
|
- **에러 코드** — `"ENCRYPTED"`, `"ZIP_BOMB"`, `"IMAGE_BASED_PDF"` 등 구조화된 에러 핸들링
|
|
@@ -495,11 +510,12 @@ MCP 등록 대신 스킬(SKILL.md) 형태로 쓰려면:
|
|
|
495
510
|
|
|
496
511
|
```bash
|
|
497
512
|
npm install kordoc
|
|
498
|
-
|
|
499
|
-
# PDF 파싱이 필요하면 (선택)
|
|
500
|
-
npm install pdfjs-dist
|
|
501
513
|
```
|
|
502
514
|
|
|
515
|
+
PDF 파싱(pdfjs-dist)·수식 OCR 등 선택 의존성은 **기본 설치**됩니다 (optionalDependencies).
|
|
516
|
+
설치 용량을 줄이려면 `npm install kordoc --omit=optional` 로 스킵할 수 있습니다 —
|
|
517
|
+
이 경우 PDF 파싱·수식 OCR·인쇄 렌더 등 일부 기능이 제한됩니다.
|
|
518
|
+
|
|
503
519
|
## 빠른 시작
|
|
504
520
|
|
|
505
521
|
### 문서 파싱
|
|
@@ -509,7 +525,7 @@ import { parse } from "kordoc"
|
|
|
509
525
|
import { readFileSync } from "fs"
|
|
510
526
|
|
|
511
527
|
const buffer = readFileSync("사업계획서.hwpx")
|
|
512
|
-
const result = await parse(buffer
|
|
528
|
+
const result = await parse(buffer)
|
|
513
529
|
|
|
514
530
|
if (result.success) {
|
|
515
531
|
console.log(result.markdown) // 마크다운 텍스트
|
|
@@ -552,15 +568,15 @@ import { readFileSync, writeFileSync } from "fs"
|
|
|
552
568
|
const template = readFileSync("신청서.hwpx")
|
|
553
569
|
|
|
554
570
|
// HWPX 원본 서식 보존 모드 — 글꼴, 크기, 정렬 100% 유지
|
|
555
|
-
const result = await fillForm(template
|
|
571
|
+
const result = await fillForm(template, {
|
|
556
572
|
성명: "홍길동",
|
|
557
573
|
주민등록번호: "900101-1234567",
|
|
558
574
|
주소: "서울특별시 광진구 능동로 120",
|
|
559
|
-
},
|
|
575
|
+
}, "hwpx-preserve")
|
|
560
576
|
|
|
561
|
-
writeFileSync("신청서_작성완료.hwpx", Buffer.from(result.
|
|
562
|
-
// result.filled → [{ label: "성명", value: "홍길동" }, ...]
|
|
563
|
-
// result.unmatched → 매칭 실패한 키 목록
|
|
577
|
+
writeFileSync("신청서_작성완료.hwpx", Buffer.from(result.output as ArrayBuffer))
|
|
578
|
+
// result.fill.filled → [{ label: "성명", value: "홍길동" }, ...]
|
|
579
|
+
// result.fill.unmatched → 매칭 실패한 키 목록
|
|
564
580
|
```
|
|
565
581
|
|
|
566
582
|
### HWPX 생성 (역변환)
|
|
@@ -628,12 +644,26 @@ const result = await parse(buffer, { pages: "1-3" }) // 1~3 페이지만
|
|
|
628
644
|
const result = await parse(buffer, { pages: [1, 5, 10] }) // 특정 페이지
|
|
629
645
|
```
|
|
630
646
|
|
|
631
|
-
### OCR (
|
|
647
|
+
### OCR (스캔/이미지 PDF) — 내장 엔진 (v4.2.0+)
|
|
648
|
+
|
|
649
|
+
```typescript
|
|
650
|
+
// 내장 OCR (PP-OCRv5 korean, 첫 사용 시 모델 ~18MB 자동 다운로드)
|
|
651
|
+
const result = await parse(buffer, { ocr: true }) // OCR 필요 페이지만 자동 판정
|
|
652
|
+
const result = await parse(buffer, { ocr: "force" }) // 전 페이지 강제 OCR
|
|
653
|
+
```
|
|
654
|
+
|
|
655
|
+
- **API 키·외부 서비스 불필요** — det(선 검출)+rec(CTC 인식) ONNX 를 로컬 CPU 로 추론합니다
|
|
656
|
+
(PaddlePaddle 공식 변환본, Apache-2.0 / 한국어 사전 11,945자 — 완성형 한글 전량).
|
|
657
|
+
- **페이지 단위 정밀 적용** — 텍스트층이 없는 스캔 페이지, ToUnicode 가 깨진 페이지
|
|
658
|
+
(`needsOcr` 신호)만 OCR 하고 정상 페이지의 파싱 결과는 그대로 유지합니다.
|
|
659
|
+
- **표 복원** — OCR 라인 좌표를 기존 블록 파이프라인(xy-cut 읽기 순서 + 클러스터 표
|
|
660
|
+
감지)에 태우므로 스캔본에서도 표 구조가 복원됩니다.
|
|
661
|
+
- 외부 OCR 을 쓰고 싶으면 종전대로 프로바이더 함수를 전달하세요:
|
|
632
662
|
|
|
633
663
|
```typescript
|
|
634
664
|
const result = await parse(buffer, {
|
|
635
665
|
ocr: async (pageImage, pageNumber, mimeType) => {
|
|
636
|
-
return await myOcrService.recognize(pageImage)
|
|
666
|
+
return await myOcrService.recognize(pageImage) // Claude Vision, Tesseract 등
|
|
637
667
|
}
|
|
638
668
|
})
|
|
639
669
|
```
|
|
@@ -645,8 +675,8 @@ PDF는 텍스트층이 있어도 ToUnicode/CMap이 깨졌거나 NUL 등 제어
|
|
|
645
675
|
```typescript
|
|
646
676
|
const r = await parsePdf(buffer)
|
|
647
677
|
if (r.success && r.qualitySummary?.needsOcr) {
|
|
648
|
-
// OCR
|
|
649
|
-
await
|
|
678
|
+
// 내장 OCR 로 재시도 (v4.2.0+) — 또는 외부 OCR 큐로 라우팅
|
|
679
|
+
const retried = await parse(buffer, { ocr: true })
|
|
650
680
|
}
|
|
651
681
|
|
|
652
682
|
// 페이지 단위 신호
|
|
@@ -714,7 +744,7 @@ npx -y kordoc setup
|
|
|
714
744
|
}
|
|
715
745
|
```
|
|
716
746
|
|
|
717
|
-
**
|
|
747
|
+
**15개 도구:**
|
|
718
748
|
|
|
719
749
|
| 도구 | 설명 |
|
|
720
750
|
|------|------|
|
|
@@ -727,8 +757,12 @@ npx -y kordoc setup
|
|
|
727
757
|
| `parse_form` | 양식 필드를 JSON으로 추출 |
|
|
728
758
|
| `fill_form` | 양식 템플릿에 값 채우기 (HWPX 원본 서식 보존, 서식/유일성 가드) |
|
|
729
759
|
| `patch_document` | 편집된 마크다운을 원본 HWPX/HWP에 서식 보존 반영 (v3.3) |
|
|
760
|
+
| `extract_profile` | 참조 HWPX에서 표 서식 프로필(JSON) 추출 — generate_document의 profile_path로 재현 |
|
|
730
761
|
| `generate_document` | 마크다운(표·수식·차트 포함) → HWPX 생성, 공문서 프리셋 (v3.5) |
|
|
731
762
|
| `place_seal` | 도장/서명 이미지를 앵커 문구 위에 부유 배치 (v3.16) |
|
|
763
|
+
| `render_document` | HWPX를 조판 그대로 PNG 이미지/SVG로 렌더 — 생성·수정 결과를 AI가 눈으로 검증 (v4.1) |
|
|
764
|
+
| `redact_document` | 개인정보(주민번호·전화·이메일·카드·계좌) 탐지 + 서식 보존 마스킹, 리포트 반환 (v4.1) |
|
|
765
|
+
| `parse_chunks` | RAG용 구조 청크 JSON — 헤딩·개조식 위계 breadcrumb + 표 독립 청크 (v4.1) |
|
|
732
766
|
|
|
733
767
|
## API
|
|
734
768
|
|
|
@@ -754,7 +788,7 @@ npx -y kordoc setup
|
|
|
754
788
|
| `compare(bufferA, bufferB, options?)` | IR 레벨 문서 비교 |
|
|
755
789
|
| `extractFormFields(blocks)` | IRBlock[]에서 양식 필드 인식 |
|
|
756
790
|
| `extractFormSchema(blocks)` | 양식 필드 인식 + 타입/필수/빈값 추론 (v3.1) |
|
|
757
|
-
| `fillForm(
|
|
791
|
+
| `fillForm(input, values, outputFormat?)` | 양식 템플릿에 값 채우기 — outputFormat: `"markdown"`(기본)/`"hwpx"`/`"hwpx-preserve"`, 반환 `{ output, format, fill }` |
|
|
758
792
|
| `fillFormFields(blocks, values)` | IRBlock[] 기반 필드 값 교체 |
|
|
759
793
|
| `fillHwpx(buffer, values)` | HWPX XML 직접 조작 (원본 서식 보존) |
|
|
760
794
|
| `patchHwpx(original, editedMarkdown, options?)` | 편집 마크다운 → 원본 HWPX 서식 보존 in-place 패치 (v3.0) |
|
|
@@ -39,10 +39,9 @@ import {
|
|
|
39
39
|
renderHtml,
|
|
40
40
|
unknownFontWarnings,
|
|
41
41
|
validateHwpx
|
|
42
|
-
} from "./chunk-
|
|
43
|
-
import
|
|
44
|
-
|
|
45
|
-
} from "./chunk-UEIYETCQ.js";
|
|
42
|
+
} from "./chunk-IGGRLWT5.js";
|
|
43
|
+
import "./chunk-7FCNOKOR.js";
|
|
44
|
+
import "./chunk-4VNLZ2GZ.js";
|
|
46
45
|
import {
|
|
47
46
|
detectFormat,
|
|
48
47
|
detectOle2Format,
|
|
@@ -51,7 +50,7 @@ import {
|
|
|
51
50
|
isOldHwpFile,
|
|
52
51
|
isPdfFile,
|
|
53
52
|
isZipFile
|
|
54
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-YOO6ET6M.js";
|
|
55
54
|
import "./chunk-MOL7MDBG.js";
|
|
56
55
|
import {
|
|
57
56
|
applySplices,
|
|
@@ -59,7 +58,18 @@ import {
|
|
|
59
58
|
buildRangeSplices,
|
|
60
59
|
placeSealHwpx,
|
|
61
60
|
scanSectionXml
|
|
62
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-WQLHPOMJ.js";
|
|
62
|
+
import {
|
|
63
|
+
DEFAULT_REDACT_RULES,
|
|
64
|
+
redactMarkdown,
|
|
65
|
+
redactText
|
|
66
|
+
} from "./chunk-DZIXKL7E.js";
|
|
67
|
+
import {
|
|
68
|
+
blocksToChunks
|
|
69
|
+
} from "./chunk-ELOV2GIJ.js";
|
|
70
|
+
import {
|
|
71
|
+
blocksToMarkdown
|
|
72
|
+
} from "./chunk-CMN3SYZ3.js";
|
|
63
73
|
import {
|
|
64
74
|
SPACE_EM_FIXED,
|
|
65
75
|
SPACE_EM_FONT,
|
|
@@ -69,12 +79,13 @@ import {
|
|
|
69
79
|
renderHwpxToSvg,
|
|
70
80
|
simulateWrap,
|
|
71
81
|
simulateWrapKeepWord
|
|
72
|
-
} from "./chunk-
|
|
73
|
-
import "./chunk-
|
|
82
|
+
} from "./chunk-6SHO3BNV.js";
|
|
83
|
+
import "./chunk-V6U6YS5B.js";
|
|
74
84
|
import {
|
|
75
85
|
VERSION
|
|
76
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-FSXLSHCW.js";
|
|
77
87
|
export {
|
|
88
|
+
DEFAULT_REDACT_RULES,
|
|
78
89
|
HwpxSession,
|
|
79
90
|
PRESET_ALIAS,
|
|
80
91
|
SPACE_EM_FIXED,
|
|
@@ -82,6 +93,7 @@ export {
|
|
|
82
93
|
VERSION,
|
|
83
94
|
ValueCursor,
|
|
84
95
|
applySplices,
|
|
96
|
+
blocksToChunks,
|
|
85
97
|
blocksToMarkdown,
|
|
86
98
|
blocksToPdf,
|
|
87
99
|
buildParagraphSplices,
|
|
@@ -129,6 +141,8 @@ export {
|
|
|
129
141
|
patchHwpx,
|
|
130
142
|
patchHwpxBlocks,
|
|
131
143
|
placeSealHwpx,
|
|
144
|
+
redactMarkdown,
|
|
145
|
+
redactText,
|
|
132
146
|
renderHtml,
|
|
133
147
|
renderHwpxToSvg,
|
|
134
148
|
scanSectionXml,
|
|
@@ -137,4 +151,4 @@ export {
|
|
|
137
151
|
unknownFontWarnings,
|
|
138
152
|
validateHwpx
|
|
139
153
|
};
|
|
140
|
-
//# sourceMappingURL=-
|
|
154
|
+
//# sourceMappingURL=-SXQIZHYA.js.map
|