kordoc 1.9.0 → 2.0.1
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 +15 -3
- package/dist/{chunk-MDRW3HYC.js → chunk-JJ65GKUH.js} +1088 -25
- package/dist/chunk-JJ65GKUH.js.map +1 -0
- package/dist/{chunk-AHW56LNX.js → chunk-L4OFASDS.js} +2 -2
- package/dist/cli.js +4 -4
- package/dist/index.cjs +1157 -94
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1157 -94
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +2 -2
- package/dist/{utils-VU6Z7HNR.js → utils-4HVKHULU.js} +2 -2
- package/dist/{watch-5IOZWFDD.js → watch-RNZ3KESY.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-MDRW3HYC.js.map +0 -1
- /package/dist/{chunk-AHW56LNX.js.map → chunk-L4OFASDS.js.map} +0 -0
- /package/dist/{utils-VU6Z7HNR.js.map → utils-4HVKHULU.js.map} +0 -0
- /package/dist/{watch-5IOZWFDD.js.map → watch-RNZ3KESY.js.map} +0 -0
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**모두 파싱해버리겠다.**
|
|
4
4
|
|
|
5
|
-
[](https://www.npmjs.com/package/kordoc)
|
|
6
6
|
[](https://github.com/chrisryugj/kordoc/blob/main/LICENSE)
|
|
7
7
|
|
|
8
8
|
> *대한민국에서 둘째가라면 서러울 문서지옥. 거기서 7년 버틴 공무원이 만들었습니다.*
|
|
@@ -27,13 +27,24 @@ HWP, HWPX, PDF, XLSX, DOCX — 관공서에서 쏟아지는 모든 문서를 파
|
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
30
|
-
##
|
|
30
|
+
## v2.0 변경사항
|
|
31
|
+
|
|
32
|
+
- **🔓 배포용(열람 제한) HWP 파싱 지원** — 관공서에서 배포용으로 잠근 HWP 파일도 이제 파싱됩니다. AES-128 ECB 복호화, 순수 JS 구현. [rhwp](https://github.com/edwardkim/rhwp)(MIT) 알고리즘 포팅.
|
|
33
|
+
- **손상된 HWP 파일 복구** — 표준 CFB 모듈이 거부하는 파일을 직접 FAT/디렉토리 파싱으로 복구. rhwp LenientCfbReader 포팅.
|
|
34
|
+
- **HWP5 각주/미주/하이퍼링크 추출** — 각주 본문 텍스트 연결, 하이퍼링크 URL 추출 및 XSS 살균.
|
|
35
|
+
- **HWPX 표 병합 밀림 수정** — colspan/rowspan 그리드 계산 버그 수정.
|
|
36
|
+
- **보안 강화** — CFB 섹터 크기 검증, sanitizeHref 3중 경로 일관 적용.
|
|
37
|
+
|
|
38
|
+
<details>
|
|
39
|
+
<summary>v1.8.0 변경사항</summary>
|
|
31
40
|
|
|
32
41
|
- **XLSX 파서 추가** — Excel 스프레드시트 파싱. 공유 문자열, 병합 셀, 다중 시트 지원. 시트별 heading + table 블록 생성.
|
|
33
42
|
- **DOCX 파서 추가** — Word 문서 파싱. 스타일 기반 heading, 번호 매기기(리스트), 각주, 하이퍼링크, 이미지 추출, vMerge/gridSpan 테이블 병합.
|
|
34
43
|
- **파싱 품질 대폭 개선** — PDF/HWPX/HWP5/XLSX 전 포맷 품질 점수 73→93점.
|
|
35
44
|
- **프로덕션 리뷰 17건 수정** — CLI `--no-header-footer` 플래그 반전 버그, MCP XLSX/DOCX 확장자 허용, ZIP bomb 보호 공유 유틸화, href XSS 살균 강화, PDF timeout 타이머 정리, HWP5 BinData O(n) 최적화, cluster indexOf O(n²)→O(n), SSRF IPv6 차단 등.
|
|
36
45
|
|
|
46
|
+
</details>
|
|
47
|
+
|
|
37
48
|
<details>
|
|
38
49
|
<summary>v1.7.x 변경사항</summary>
|
|
39
50
|
|
|
@@ -252,7 +263,7 @@ import type {
|
|
|
252
263
|
| 포맷 | 엔진 | 특징 |
|
|
253
264
|
|------|------|------|
|
|
254
265
|
| **HWPX** (한컴 2020+) | ZIP + XML DOM | 매니페스트, 중첩 테이블, 병합 셀, 손상 ZIP 복구 |
|
|
255
|
-
| **HWP 5.x** (한컴 레거시) | OLE2 + CFB |
|
|
266
|
+
| **HWP 5.x** (한컴 레거시) | OLE2 + CFB | 배포용 복호화, 손상 CFB 복구, 각주/하이퍼링크, 21종 제어문자, 이미지 추출 |
|
|
256
267
|
| **PDF** | pdfjs-dist | 선 기반 테이블, XY-Cut 읽기 순서, 헤딩 감지, OCR |
|
|
257
268
|
| **XLSX** (Excel) | ZIP + XML DOM | 공유 문자열, 병합 셀, 다중 시트, 수식 표시 |
|
|
258
269
|
| **DOCX** (Word) | ZIP + XML DOM | 스타일 heading, 번호 매기기, 각주, 이미지 추출 |
|
|
@@ -271,6 +282,7 @@ import type {
|
|
|
271
282
|
[MIT](./LICENSE)
|
|
272
283
|
|
|
273
284
|
이 프로젝트는 아래 오픈소스를 포함합니다:
|
|
285
|
+
- **rhwp** (MIT, edwardkim) — HWP5 배포용 복호화 및 lenient CFB 파싱 알고리즘
|
|
274
286
|
- **OpenDataLoader PDF** (Apache 2.0, Hancom Inc.) — PDF 테이블 감지 알고리즘
|
|
275
287
|
- **cfb** (Apache 2.0, SheetJS) — HWP5 OLE2 컨테이너 파싱
|
|
276
288
|
- **pdfjs-dist** (Apache 2.0, Mozilla) — PDF 텍스트 추출
|