kordoc 3.15.0 → 3.16.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 +20 -0
- package/dist/{-EYPKRLMN.js → -YVONYEEN.js} +17 -12
- package/dist/chunk-7WUTJXKP.js +1048 -0
- package/dist/chunk-7WUTJXKP.js.map +1 -0
- package/dist/{chunk-734GJLXH.js → chunk-CDFCA37S.js} +15 -177
- package/dist/chunk-CDFCA37S.js.map +1 -0
- package/dist/{chunk-Q5ZPWQID.js → chunk-F62GOZFB.js} +13 -6
- package/dist/chunk-F62GOZFB.js.map +1 -0
- package/dist/{chunk-Q3IHI3E6.js → chunk-I6T3DKYK.js} +371 -756
- package/dist/chunk-I6T3DKYK.js.map +1 -0
- package/dist/chunk-IY3NX4FT.js +185 -0
- package/dist/chunk-IY3NX4FT.js.map +1 -0
- package/dist/{chunk-SCFFABCT.js → chunk-K4L563FA.js} +2 -2
- package/dist/{chunk-ZRNYYEE6.js → chunk-QOPY6URE.js} +13 -6
- package/dist/chunk-QOPY6URE.js.map +1 -0
- package/dist/{chunk-DMBTOJK4.cjs → chunk-VNIQK4AL.cjs} +13 -6
- package/dist/chunk-VNIQK4AL.cjs.map +1 -0
- package/dist/cli.js +105 -14
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +1020 -384
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +76 -4
- package/dist/index.d.ts +76 -4
- package/dist/index.js +817 -181
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +80 -13
- package/dist/mcp.js.map +1 -1
- package/dist/{parser-O2SD4DFR.cjs → parser-3O2UF6VO.cjs} +35 -22
- package/dist/parser-3O2UF6VO.cjs.map +1 -0
- package/dist/{parser-76JSTEP3.js → parser-B4O7CW5Q.js} +24 -11
- package/dist/parser-B4O7CW5Q.js.map +1 -0
- package/dist/{parser-SNBQZO5E.js → parser-BNEAMKUF.js} +23 -10
- package/dist/parser-BNEAMKUF.js.map +1 -0
- package/dist/render-QCNMRR7L.js +10 -0
- package/dist/seal-REDSMUI5.js +10 -0
- package/dist/seal-REDSMUI5.js.map +1 -0
- package/dist/{watch-LEK5U5P6.js → watch-RLF5F3TN.js} +7 -5
- package/dist/{watch-LEK5U5P6.js.map → watch-RLF5F3TN.js.map} +1 -1
- package/package.json +2 -5
- package/dist/chunk-734GJLXH.js.map +0 -1
- package/dist/chunk-DMBTOJK4.cjs.map +0 -1
- package/dist/chunk-Q3IHI3E6.js.map +0 -1
- package/dist/chunk-Q5ZPWQID.js.map +0 -1
- package/dist/chunk-ZRNYYEE6.js.map +0 -1
- package/dist/parser-76JSTEP3.js.map +0 -1
- package/dist/parser-O2SD4DFR.cjs.map +0 -1
- package/dist/parser-SNBQZO5E.js.map +0 -1
- package/dist/render-LDI3LO2P.js +0 -9
- /package/dist/{-EYPKRLMN.js.map → -YVONYEEN.js.map} +0 -0
- /package/dist/{chunk-SCFFABCT.js.map → chunk-K4L563FA.js.map} +0 -0
- /package/dist/{render-LDI3LO2P.js.map → render-QCNMRR7L.js.map} +0 -0
package/README.md
CHANGED
|
@@ -52,6 +52,18 @@ Windows 도 자동으로 `cmd /c npx` 래핑. 수동 JSON 편집 불필요. 재
|
|
|
52
52
|
> ```
|
|
53
53
|
> 이후 PowerShell 재시작 → `npx -y kordoc setup` 그대로 됨.
|
|
54
54
|
|
|
55
|
+
### Claude Code 플러그인으로 설치
|
|
56
|
+
|
|
57
|
+
MCP 등록 대신 스킬(SKILL.md) 형태로 쓰려면:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
/plugin marketplace add chrisryugj/kordoc
|
|
61
|
+
/plugin install kordoc@kordoc
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
`.hwp`/`.hwpx` 언급이나 공문서 생성·서식 채우기 요청 시 kordoc 스킬이 자동 활성화됩니다
|
|
65
|
+
(내부에서 `npx -y kordoc@^3` CLI 호출 — 별도 설치 불필요).
|
|
66
|
+
|
|
55
67
|
---
|
|
56
68
|
|
|
57
69
|
## 💡 kordoc으로 무엇을 할 수 있나요?
|
|
@@ -64,11 +76,19 @@ Windows 도 자동으로 `cmd /c npx` 래핑. 수동 JSON 편집 불필요. 재
|
|
|
64
76
|
* **📝 마크다운을 다시 HWPX로**: AI가 작성한 내용을 다시 보고서 양식(`HWPX`)으로 되돌려줍니다. 이제 복사-붙여넣기 노가다에서 해방되세요.
|
|
65
77
|
* **🔄 서식 보존 무손실 라운드트립 (v3.0)**: 변환된 마크다운을 편집해서 `patchHwpx`(HWPX) / `patchHwp`(HWP 5.x 바이너리)에 넘기면, **원본 서식을 1바이트도 건드리지 않고** 바뀐 문단/표 셀의 텍스트만 원본 안에서 교체합니다. v3.7부터는 **표에 행을 추가/삭제하는 편집**도 원본 서식을 승계하며 반영되고, v3.8부터는 HWP 5.x의 **빈 셀에 값 넣기**도 지원합니다.
|
|
66
78
|
* **🖼️ 레이아웃 보존 렌더 (v3.10~3.15)**: 한컴이 저장한 조판 캐시 좌표로 원본 레이아웃을 SVG로 재현하고, 캐시가 없는 파일(AI가 만든 HWPX·편집본)은 **순수 TS reflow 엔진**이 직접 조판합니다. 다페이지·표·그리기 도형·검색어 형광펜까지. 서버에 한컴 없이 HWPX 미리보기를 만들 수 있습니다.
|
|
79
|
+
* **📊 차트 생성 (v3.16)**: 마크다운의 ```chart 펜스(type/cat/계열 라인)가 한컴 네이티브 차트(OOXML chartSpace)로 생성됩니다 — 막대·선·원·도넛·영역·분산·방사형 등 20종, 계열/조각 색 지정 가능.
|
|
80
|
+
* **🔴 도장/서명 자동 날인 (v3.16)**: "(인)"·"서명 또는 인" 같은 앵커 문구를 찾아 도장 PNG를 글 앞 부유로 배치합니다. 표/페이지를 키우지 않아 날인 후 서식이 밀리지 않습니다 (`kordoc seal`).
|
|
67
81
|
* **✏️ 양식 자동 채우기**: 공문서 양식 템플릿(신청서, 보고서)에 값을 넣으면 자동으로 빈칸을 채웁니다. 원본 서식(글꼴, 크기, 정렬)을 100% 보존합니다.
|
|
68
82
|
* **🤖 AI 에이전트 연동 (MCP)**: `Claude`, `Cursor`와 같은 도구에서 직접 `kordoc`을 호출해 문서를 읽고 코딩할 수 있습니다.
|
|
69
83
|
|
|
70
84
|
---
|
|
71
85
|
|
|
86
|
+
## v3.16.0 변경사항
|
|
87
|
+
|
|
88
|
+
- **📊 차트 생성**: 마크다운 ```chart 펜스(type/cat/계열 라인)가 한컴 네이티브 차트(OOXML chartSpace)로 생성됩니다 — 막대·선·원·도넛·영역·분산·방사형 등 20종, 계열/조각 색 지정, 잘못된 펜스는 코드블록 폴백.
|
|
89
|
+
- **🔴 도장/서명 자동 날인**: `kordoc seal` — "(인)"·"서명 또는 인" 앵커를 찾아 도장 PNG를 글 앞 부유로 배치. 표/페이지를 키우지 않아 날인 후 서식이 밀리지 않습니다 (MCP `place_seal` 포함). 중첩표·글상자·탭/줄바꿈 문단은 위치가 근사이며 결과 `warnings` 로 고지됩니다 — 한컴에서 확인 후 `--dx`/`--dy`(dx_mm/dy_mm)로 미세조정하세요.
|
|
90
|
+
- **🔌 Claude Code 플러그인**: `/plugin marketplace add chrisryugj/kordoc` → `.hwp`/`.hwpx`/공문서 요청에 kordoc 스킬 자동 활성화.
|
|
91
|
+
|
|
72
92
|
## v3.15.0 변경사항
|
|
73
93
|
|
|
74
94
|
- **🖋️ reflow 렌더 (캐시 없는 파일도 조판)**: `markdownToHwpx` 산출물·AI 생성본·편집본처럼 조판 캐시(linesegarray)가 없어 렌더가 거부되던 HWPX를 `renderHwpxToSvg(buf, { reflow: true })` / `kordoc render --reflow`로 순수 TS 조판합니다. 검증된 줄나눔 엔진(실측 98% 일치) + 실측 세로 모델로 lineseg를 합성해 기존 렌더 파이프(정렬·표·이미지·형광펜·다페이지)를 재사용합니다. 단문단·표 셀·표 밀어내기·자동 페이지 분할. 한컴 저장본은 캐시 재생 그대로(무회귀).
|
|
@@ -3,10 +3,7 @@ import {
|
|
|
3
3
|
HwpxSession,
|
|
4
4
|
PRESET_ALIAS,
|
|
5
5
|
ValueCursor,
|
|
6
|
-
applySplices,
|
|
7
6
|
blocksToPdf,
|
|
8
|
-
buildParagraphSplices,
|
|
9
|
-
buildRangeSplices,
|
|
10
7
|
compare,
|
|
11
8
|
diffBlocks,
|
|
12
9
|
extractFormFields,
|
|
@@ -35,9 +32,11 @@ import {
|
|
|
35
32
|
patchHwpx,
|
|
36
33
|
patchHwpxBlocks,
|
|
37
34
|
renderHtml,
|
|
38
|
-
scanSectionXml,
|
|
39
35
|
validateHwpx
|
|
40
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-I6T3DKYK.js";
|
|
37
|
+
import {
|
|
38
|
+
blocksToMarkdown
|
|
39
|
+
} from "./chunk-F62GOZFB.js";
|
|
41
40
|
import {
|
|
42
41
|
detectFormat,
|
|
43
42
|
detectOle2Format,
|
|
@@ -47,6 +46,14 @@ import {
|
|
|
47
46
|
isPdfFile,
|
|
48
47
|
isZipFile
|
|
49
48
|
} from "./chunk-MEPHGCPQ.js";
|
|
49
|
+
import "./chunk-MOL7MDBG.js";
|
|
50
|
+
import {
|
|
51
|
+
applySplices,
|
|
52
|
+
buildParagraphSplices,
|
|
53
|
+
buildRangeSplices,
|
|
54
|
+
placeSealHwpx,
|
|
55
|
+
scanSectionXml
|
|
56
|
+
} from "./chunk-7WUTJXKP.js";
|
|
50
57
|
import {
|
|
51
58
|
SPACE_EM_FIXED,
|
|
52
59
|
SPACE_EM_FONT,
|
|
@@ -56,14 +63,11 @@ import {
|
|
|
56
63
|
renderHwpxToSvg,
|
|
57
64
|
simulateWrap,
|
|
58
65
|
simulateWrapKeepWord
|
|
59
|
-
} from "./chunk-
|
|
60
|
-
import
|
|
61
|
-
blocksToMarkdown
|
|
62
|
-
} from "./chunk-Q5ZPWQID.js";
|
|
63
|
-
import "./chunk-MOL7MDBG.js";
|
|
66
|
+
} from "./chunk-CDFCA37S.js";
|
|
67
|
+
import "./chunk-IY3NX4FT.js";
|
|
64
68
|
import {
|
|
65
69
|
VERSION
|
|
66
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-K4L563FA.js";
|
|
67
71
|
export {
|
|
68
72
|
HwpxSession,
|
|
69
73
|
PRESET_ALIAS,
|
|
@@ -113,6 +117,7 @@ export {
|
|
|
113
117
|
patchHwp,
|
|
114
118
|
patchHwpx,
|
|
115
119
|
patchHwpxBlocks,
|
|
120
|
+
placeSealHwpx,
|
|
116
121
|
renderHtml,
|
|
117
122
|
renderHwpxToSvg,
|
|
118
123
|
scanSectionXml,
|
|
@@ -120,4 +125,4 @@ export {
|
|
|
120
125
|
simulateWrapKeepWord,
|
|
121
126
|
validateHwpx
|
|
122
127
|
};
|
|
123
|
-
//# sourceMappingURL=-
|
|
128
|
+
//# sourceMappingURL=-YVONYEEN.js.map
|