kordoc 4.20.0 → 4.21.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/NOTICE +22 -0
- package/README.md +4 -1
- package/THIRD_PARTY/korean-report-hwpx.LICENSE +21 -0
- package/dist/{-TTRGLREH.js → -OZRZ6ZMD.js} +17 -11
- package/dist/{chunk-MXADBQ7E.js → chunk-3NZZKH5I.js} +2 -2
- package/dist/{chunk-JYV3XQYW.js → chunk-3W73FORT.js} +2 -2
- package/dist/{chunk-DPD2L5UK.js → chunk-5DDTO45D.js} +16 -4
- package/dist/chunk-5DDTO45D.js.map +1 -0
- package/dist/chunk-6IODHI3E.js +29 -0
- package/dist/chunk-6IODHI3E.js.map +1 -0
- package/dist/{chunk-RMDFN5ZF.cjs → chunk-7YQEYPXF.cjs} +3 -3
- package/dist/{chunk-RMDFN5ZF.cjs.map → chunk-7YQEYPXF.cjs.map} +1 -1
- package/dist/{chunk-4WOG2SLT.js → chunk-BV6TC5N3.js} +2 -2
- package/dist/{chunk-CKFKC22O.js → chunk-D2D3K6PK.js} +45 -9
- package/dist/{chunk-WLNEQGQC.js.map → chunk-D2D3K6PK.js.map} +1 -1
- package/dist/{chunk-WLNEQGQC.js → chunk-DUCUZI2U.js} +44 -8
- package/dist/{chunk-CKFKC22O.js.map → chunk-DUCUZI2U.js.map} +1 -1
- package/dist/{chunk-7H5GT7HM.js → chunk-EKOBLQOS.js} +3 -3
- package/dist/{chunk-OX5FA2MU.js → chunk-F5S7BOR6.js} +2 -2
- package/dist/{chunk-MNPPMJBN.js → chunk-FS2FXE5F.js} +2 -2
- package/dist/{chunk-KDCPBF4X.cjs → chunk-FVO7GNEK.cjs} +35 -23
- package/dist/chunk-FVO7GNEK.cjs.map +1 -0
- package/dist/{chunk-4DIMX2KU.js → chunk-J4SN4BCM.js} +17 -5
- package/dist/chunk-J4SN4BCM.js.map +1 -0
- package/dist/{chunk-WWOU6ZQ3.cjs → chunk-K7FX24I2.cjs} +3 -3
- package/dist/{chunk-WWOU6ZQ3.cjs.map → chunk-K7FX24I2.cjs.map} +1 -1
- package/dist/{chunk-CJFIHH2N.cjs → chunk-LW63FZMQ.cjs} +6 -6
- package/dist/{chunk-CJFIHH2N.cjs.map → chunk-LW63FZMQ.cjs.map} +1 -1
- package/dist/{chunk-NVBX2NKZ.js → chunk-LYTS6GNB.js} +2 -2
- package/dist/{chunk-WLWWODBQ.js → chunk-MTEABK52.js} +2 -2
- package/dist/{chunk-VVKMBLG2.js → chunk-O5NCN6ZS.js} +2 -2
- package/dist/{chunk-527NBMUE.js → chunk-OTHN3DU3.js} +11 -9
- package/dist/chunk-OTHN3DU3.js.map +1 -0
- package/dist/{chunk-TM7IOP4P.js → chunk-PKT3I2DP.js} +2 -2
- package/dist/{chunk-CS2VWXDS.js → chunk-RSOPXKRC.js} +2 -2
- package/dist/{chunk-URQM5TBD.js → chunk-RXX2GPV4.js} +2 -2
- package/dist/{chunk-K5GCIB2I.cjs → chunk-SVCXIEKS.cjs} +2 -2
- package/dist/{chunk-K5GCIB2I.cjs.map → chunk-SVCXIEKS.cjs.map} +1 -1
- package/dist/{chunk-CPZ2LLZA.js → chunk-TKYG2C3I.js} +2 -2
- package/dist/{chunk-2U475PJF.js → chunk-TN3KO2XJ.js} +2 -2
- package/dist/{chunk-X5YHJHWB.js → chunk-TNB7RDIH.js} +2 -2
- package/dist/{chunk-LQ4IDHET.js → chunk-UUWUGQT5.js} +216 -15
- package/dist/chunk-UUWUGQT5.js.map +1 -0
- package/dist/{chunk-AXQDWE42.cjs → chunk-VVZL2JYD.cjs} +54 -18
- package/dist/chunk-VVZL2JYD.cjs.map +1 -0
- package/dist/{chunk-GHAJHXYA.js → chunk-XIULHXJT.js} +2 -2
- package/dist/{chunk-QPJXYJIK.js → chunk-ZKHLC7ZG.js} +3 -2
- package/dist/chunk-ZKHLC7ZG.js.map +1 -0
- package/dist/chunks-O6FB73OX.js +10 -0
- package/dist/cli.js +77 -50
- package/dist/cli.js.map +1 -1
- package/dist/{formula-D6GGALWI.js → formula-2P5T7GU2.js} +3 -3
- package/dist/{formula-KWOAYEOG.js → formula-STBBUZL3.js} +4 -4
- package/dist/{formula-FE6LEZTT.cjs → formula-YNAYIUU7.cjs} +9 -9
- package/dist/{formula-FE6LEZTT.cjs.map → formula-YNAYIUU7.cjs.map} +1 -1
- package/dist/{image-ocr-XGGIYCZ2.cjs → image-ocr-D7KEGYCN.cjs} +15 -15
- package/dist/{image-ocr-XGGIYCZ2.cjs.map → image-ocr-D7KEGYCN.cjs.map} +1 -1
- package/dist/{image-ocr-YYTFOUSY.js → image-ocr-IQ27CCW6.js} +6 -6
- package/dist/{image-ocr-XDODV43Y.js → image-ocr-RYSLM2OK.js} +9 -9
- package/dist/index.cjs +737 -534
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +99 -3
- package/dist/index.d.ts +99 -3
- package/dist/index.js +216 -13
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +34 -27
- package/dist/mcp.js.map +1 -1
- package/dist/{model-bundle-WPFLIKYM.js → model-bundle-ZFXH6CUU.js} +5 -5
- package/dist/{models-WJ5QYELV.js → models-TRN5BSLA.js} +5 -5
- package/dist/parse-worker-v2-42ZZUQMA.js +285 -0
- package/dist/parse-worker-v2-42ZZUQMA.js.map +1 -0
- package/dist/{parser-QKLUIMHG.js → parser-KNJ6RK2C.js} +11 -11
- package/dist/{parser-6P5ZRWXG.cjs → parser-TRFPHIP6.cjs} +132 -132
- package/dist/{parser-6P5ZRWXG.cjs.map → parser-TRFPHIP6.cjs.map} +1 -1
- package/dist/{parser-LY67CB7A.js → parser-X6KXSE7R.js} +8 -8
- package/dist/pdf-ocr-2MKLAFDN.js +22 -0
- package/dist/pdf-ocr-EB5XZDIZ.cjs +19 -0
- package/dist/pdf-ocr-EB5XZDIZ.cjs.map +1 -0
- package/dist/pdf-ocr-M5IERUF3.js +18 -0
- package/dist/{profile-io-I4ORJOE4.js → profile-io-TDWZV5B2.js} +3 -3
- package/dist/{rasterize-MZU5LIA5.js → rasterize-UCZA2GNN.js} +3 -3
- package/dist/{redact-doc-NEUEBXFH.js → redact-doc-BOD7CI5F.js} +11 -11
- package/dist/{render-IL2DYXDP.js → render-FV6SM5FL.js} +7 -7
- package/dist/seal-H5CDZWYJ.js +10 -0
- package/dist/{setup-PGOCB7YG.js → setup-4DCDJD65.js} +3 -3
- package/dist/visual-E7LZ6QVO.js +20 -0
- package/dist/{watch-2F5AMHCW.js → watch-MECSPFWF.js} +12 -12
- package/package.json +1 -1
- package/dist/chunk-4DIMX2KU.js.map +0 -1
- package/dist/chunk-527NBMUE.js.map +0 -1
- package/dist/chunk-AXQDWE42.cjs.map +0 -1
- package/dist/chunk-DPD2L5UK.js.map +0 -1
- package/dist/chunk-KDCPBF4X.cjs.map +0 -1
- package/dist/chunk-LQ4IDHET.js.map +0 -1
- package/dist/chunk-QPJXYJIK.js.map +0 -1
- package/dist/chunks-3NIFJFRQ.js +0 -10
- package/dist/pdf-ocr-6L4EDRVO.js +0 -20
- package/dist/pdf-ocr-J7DHJJ3I.js +0 -16
- package/dist/pdf-ocr-MODN6GBT.cjs +0 -17
- package/dist/pdf-ocr-MODN6GBT.cjs.map +0 -1
- package/dist/seal-O5DKZGTR.js +0 -10
- package/dist/visual-PYV4ZMLH.js +0 -20
- /package/dist/{-TTRGLREH.js.map → -OZRZ6ZMD.js.map} +0 -0
- /package/dist/{chunk-MXADBQ7E.js.map → chunk-3NZZKH5I.js.map} +0 -0
- /package/dist/{chunk-JYV3XQYW.js.map → chunk-3W73FORT.js.map} +0 -0
- /package/dist/{chunk-4WOG2SLT.js.map → chunk-BV6TC5N3.js.map} +0 -0
- /package/dist/{chunk-7H5GT7HM.js.map → chunk-EKOBLQOS.js.map} +0 -0
- /package/dist/{chunk-OX5FA2MU.js.map → chunk-F5S7BOR6.js.map} +0 -0
- /package/dist/{chunk-MNPPMJBN.js.map → chunk-FS2FXE5F.js.map} +0 -0
- /package/dist/{chunk-NVBX2NKZ.js.map → chunk-LYTS6GNB.js.map} +0 -0
- /package/dist/{chunk-WLWWODBQ.js.map → chunk-MTEABK52.js.map} +0 -0
- /package/dist/{chunk-VVKMBLG2.js.map → chunk-O5NCN6ZS.js.map} +0 -0
- /package/dist/{chunk-TM7IOP4P.js.map → chunk-PKT3I2DP.js.map} +0 -0
- /package/dist/{chunk-CS2VWXDS.js.map → chunk-RSOPXKRC.js.map} +0 -0
- /package/dist/{chunk-URQM5TBD.js.map → chunk-RXX2GPV4.js.map} +0 -0
- /package/dist/{chunk-CPZ2LLZA.js.map → chunk-TKYG2C3I.js.map} +0 -0
- /package/dist/{chunk-2U475PJF.js.map → chunk-TN3KO2XJ.js.map} +0 -0
- /package/dist/{chunk-X5YHJHWB.js.map → chunk-TNB7RDIH.js.map} +0 -0
- /package/dist/{chunk-GHAJHXYA.js.map → chunk-XIULHXJT.js.map} +0 -0
- /package/dist/{chunks-3NIFJFRQ.js.map → chunks-O6FB73OX.js.map} +0 -0
- /package/dist/{formula-D6GGALWI.js.map → formula-2P5T7GU2.js.map} +0 -0
- /package/dist/{formula-KWOAYEOG.js.map → formula-STBBUZL3.js.map} +0 -0
- /package/dist/{image-ocr-YYTFOUSY.js.map → image-ocr-IQ27CCW6.js.map} +0 -0
- /package/dist/{image-ocr-XDODV43Y.js.map → image-ocr-RYSLM2OK.js.map} +0 -0
- /package/dist/{model-bundle-WPFLIKYM.js.map → model-bundle-ZFXH6CUU.js.map} +0 -0
- /package/dist/{models-WJ5QYELV.js.map → models-TRN5BSLA.js.map} +0 -0
- /package/dist/{parser-QKLUIMHG.js.map → parser-KNJ6RK2C.js.map} +0 -0
- /package/dist/{parser-LY67CB7A.js.map → parser-X6KXSE7R.js.map} +0 -0
- /package/dist/{pdf-ocr-6L4EDRVO.js.map → pdf-ocr-2MKLAFDN.js.map} +0 -0
- /package/dist/{pdf-ocr-J7DHJJ3I.js.map → pdf-ocr-M5IERUF3.js.map} +0 -0
- /package/dist/{profile-io-I4ORJOE4.js.map → profile-io-TDWZV5B2.js.map} +0 -0
- /package/dist/{rasterize-MZU5LIA5.js.map → rasterize-UCZA2GNN.js.map} +0 -0
- /package/dist/{redact-doc-NEUEBXFH.js.map → redact-doc-BOD7CI5F.js.map} +0 -0
- /package/dist/{render-IL2DYXDP.js.map → render-FV6SM5FL.js.map} +0 -0
- /package/dist/{seal-O5DKZGTR.js.map → seal-H5CDZWYJ.js.map} +0 -0
- /package/dist/{setup-PGOCB7YG.js.map → setup-4DCDJD65.js.map} +0 -0
- /package/dist/{visual-PYV4ZMLH.js.map → visual-E7LZ6QVO.js.map} +0 -0
- /package/dist/{watch-2F5AMHCW.js.map → watch-MECSPFWF.js.map} +0 -0
package/NOTICE
CHANGED
|
@@ -199,3 +199,25 @@ Modifications:
|
|
|
199
199
|
|
|
200
200
|
You may obtain a copy of the MIT License at:
|
|
201
201
|
https://opensource.org/licenses/MIT
|
|
202
|
+
|
|
203
|
+
================================================================================
|
|
204
|
+
|
|
205
|
+
korean-report-hwpx
|
|
206
|
+
https://github.com/UpstageAI/korean-report-hwpx
|
|
207
|
+
|
|
208
|
+
Copyright (c) 2026 Upstage (작성 Mia, 윤승미)
|
|
209
|
+
Licensed under the MIT License
|
|
210
|
+
|
|
211
|
+
Used in:
|
|
212
|
+
- src/hwpx/agency-styles.ts — 중앙행정기관별 서식 실측값(정책브리핑 보도자료 2,670건 집계: rules/·rules_report/·
|
|
213
|
+
rules_report/_참고머리.json)을 scripts/build-agency-styles.mjs 로 옮긴 데이터. 계층값 보정 규칙(engine/compose.py·report.py)도 같다
|
|
214
|
+
- src/hwpx/gen-docframe.ts — 보도자료 담당 표 6칸 꼴과 칸 폭 비율 (engine/compose.py contact)
|
|
215
|
+
|
|
216
|
+
Modifications:
|
|
217
|
+
- 원천 JSON 을 그대로 싣지 않고 kordoc 이 쓰는 값(단계 글꼴·크기·2단계 부호·표 머리·라벨 칸 색·본문 방식)만 뽑았다.
|
|
218
|
+
연한 라벨 칸 바탕의 글자색은 검정으로 정했다(원천 기본은 흰색). 생성 엔진은 kordoc 자체 구현
|
|
219
|
+
|
|
220
|
+
라이선스 전문: THIRD_PARTY/korean-report-hwpx.LICENSE
|
|
221
|
+
|
|
222
|
+
You may obtain a copy of the MIT License at:
|
|
223
|
+
https://opensource.org/licenses/MIT
|
package/README.md
CHANGED
|
@@ -111,10 +111,12 @@ await writeFile("보고서.hwpx", Buffer.from(hwpx))
|
|
|
111
111
|
|
|
112
112
|
## 최근 업데이트
|
|
113
113
|
|
|
114
|
-
최신 배포: **[4.
|
|
114
|
+
최신 배포: **[4.21.1](https://github.com/chrisryugj/kordoc/releases/tag/v4.21.1)** · 2026-10-08
|
|
115
115
|
|
|
116
116
|
| 버전 | 주요 변경 |
|
|
117
117
|
| --- | --- |
|
|
118
|
+
| 4.21.1 | 이미지 OCR 에서 같은 줄 조각이 갈려 순서가 뒤집히던 것과 테두리 없는 영수증 표의 품목 행이 섞이던 것 (#141) |
|
|
119
|
+
| 4.21.0 | 중앙부처 기관 서식 `--agency`(보도자료 2,670건·52개 기관 실측 단계 글꼴·크기·2단계 부호 ◦·❍·표 머리·기관 색), 보도자료 담당 표 사람별 행(`--press-people`), 폭표 없는 글꼴의 생성 폭 계산 보정 |
|
|
118
120
|
| 4.20.0 | 표기법 검수 7룰(기간 대시·요일·금액 한글·공공언어·맞춤법·2타)과 문서 직접 검수·수치 대조·단계별 서식 편차, 견본 HWPX 단계별 서식 학습(`levels`·`--levels-from`), `compare`·`patch --json`, 패치 무결성 검사, 붙여넣기 흔적 정리 |
|
|
119
121
|
| 4.19.2 | rhwp v0.8.7 파서 수정 반영 — HWP3 체크박스 □, HWP5 짝 없는 서로게이트 □, 손상 CFB 복구의 본문 경로 오인 수정, HWPX 압축 해제 상한을 엔트리 읽는 도중에 적용 |
|
|
120
122
|
| 4.19.1 | PDF 쪽별 마크다운(`pages`)에서 쪽 넘김 표를 쪽마다 다시 갈라 뒤 쪽 행·상자가 앞 쪽에 붙거나 쪽 항목이 빠지지 않게 (#136) |
|
|
@@ -133,6 +135,7 @@ await writeFile("보고서.hwpx", Buffer.from(hwpx))
|
|
|
133
135
|
## 문서·보안
|
|
134
136
|
|
|
135
137
|
- [상세 사용법](docs/usage.md): 전체 CLI·MCP 도구·API·지원 포맷
|
|
138
|
+
- [Java SDK](sdk/java/README.md) · [Python SDK](sdk/python/README.md): 상주 엔진 워커로 Java·Python 시스템에서 파싱 ([워커 프로토콜](docs/parse-worker-protocol.md))
|
|
136
139
|
- [공문서 생성 가이드](docs/gongmunseo-engine-spec.md) · [아키텍처](docs/architecture.md)
|
|
137
140
|
- [폐쇄망 설치](docs/offline-deployment.md): `KORDOC_OFFLINE=1`, MCP 접근 범위 `KORDOC_ROOT`
|
|
138
141
|
- [보안 정책](SECURITY.md) · [라이선스 MIT](LICENSE) · [오픈소스 고지](NOTICE)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Upstage
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
|
+
AGENCY_COMMON_NAME,
|
|
3
4
|
BUILTIN_TEMPLATES,
|
|
4
5
|
HwpxSession,
|
|
5
6
|
PRESET_ALIAS,
|
|
6
7
|
ValueCursor,
|
|
8
|
+
agencyNames,
|
|
9
|
+
agencyStyle,
|
|
7
10
|
chooseTableRepresentation,
|
|
8
11
|
classifyTable,
|
|
9
12
|
classifyTableTree,
|
|
@@ -51,17 +54,17 @@ import {
|
|
|
51
54
|
unknownFontWarnings,
|
|
52
55
|
usesGaejosikMunche,
|
|
53
56
|
validateHwpx
|
|
54
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-UUWUGQT5.js";
|
|
55
58
|
import {
|
|
56
59
|
blocksToPages
|
|
57
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-O5NCN6ZS.js";
|
|
58
61
|
import {
|
|
59
62
|
applySplices,
|
|
60
63
|
buildParagraphSplices,
|
|
61
64
|
buildRangeSplices,
|
|
62
65
|
placeSealHwpx,
|
|
63
66
|
scanSectionXml
|
|
64
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-EKOBLQOS.js";
|
|
65
68
|
import {
|
|
66
69
|
DEFAULT_REDACT_RULES,
|
|
67
70
|
redactMarkdown,
|
|
@@ -69,7 +72,7 @@ import {
|
|
|
69
72
|
} from "./chunk-3WSNLH4B.js";
|
|
70
73
|
import {
|
|
71
74
|
blocksToChunks
|
|
72
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-F5S7BOR6.js";
|
|
73
76
|
import {
|
|
74
77
|
SPACE_EM_FIXED,
|
|
75
78
|
SPACE_EM_FONT,
|
|
@@ -94,21 +97,22 @@ import {
|
|
|
94
97
|
renderSceneToHtml,
|
|
95
98
|
simulateWrap,
|
|
96
99
|
simulateWrapKeepWord
|
|
97
|
-
} from "./chunk-
|
|
100
|
+
} from "./chunk-OTHN3DU3.js";
|
|
98
101
|
import "./chunk-7FCNOKOR.js";
|
|
99
|
-
import "./chunk-
|
|
102
|
+
import "./chunk-XIULHXJT.js";
|
|
100
103
|
import "./chunk-VQFA55IC.js";
|
|
101
|
-
import "./chunk-
|
|
104
|
+
import "./chunk-PKT3I2DP.js";
|
|
102
105
|
import {
|
|
103
106
|
blocksToMarkdown,
|
|
104
107
|
flattenLayoutTables,
|
|
105
108
|
hasStructuredCellContent
|
|
106
|
-
} from "./chunk-
|
|
107
|
-
import "./chunk-
|
|
109
|
+
} from "./chunk-LYTS6GNB.js";
|
|
110
|
+
import "./chunk-RSOPXKRC.js";
|
|
108
111
|
import {
|
|
109
112
|
VERSION
|
|
110
|
-
} from "./chunk-
|
|
113
|
+
} from "./chunk-RXX2GPV4.js";
|
|
111
114
|
export {
|
|
115
|
+
AGENCY_COMMON_NAME,
|
|
112
116
|
BUILTIN_TEMPLATES,
|
|
113
117
|
DEFAULT_REDACT_RULES,
|
|
114
118
|
HwpxSession,
|
|
@@ -117,6 +121,8 @@ export {
|
|
|
117
121
|
SPACE_EM_FONT,
|
|
118
122
|
VERSION,
|
|
119
123
|
ValueCursor,
|
|
124
|
+
agencyNames,
|
|
125
|
+
agencyStyle,
|
|
120
126
|
applySplices,
|
|
121
127
|
blocksToChunks,
|
|
122
128
|
blocksToMarkdown,
|
|
@@ -198,4 +204,4 @@ export {
|
|
|
198
204
|
usesGaejosikMunche,
|
|
199
205
|
validateHwpx
|
|
200
206
|
};
|
|
201
|
-
//# sourceMappingURL=-
|
|
207
|
+
//# sourceMappingURL=-OZRZ6ZMD.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/utils.ts
|
|
2
|
-
var VERSION = true ? "4.
|
|
2
|
+
var VERSION = true ? "4.21.1" : "0.0.0-dev";
|
|
3
3
|
function toArrayBuffer(buf) {
|
|
4
4
|
if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {
|
|
5
5
|
return buf.buffer;
|
|
@@ -159,4 +159,4 @@ export {
|
|
|
159
159
|
classifyError,
|
|
160
160
|
partExtension
|
|
161
161
|
};
|
|
162
|
-
//# sourceMappingURL=chunk-
|
|
162
|
+
//# sourceMappingURL=chunk-3NZZKH5I.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
KordocError
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-RXX2GPV4.js";
|
|
5
5
|
|
|
6
6
|
// src/hwpx/profile-io.ts
|
|
7
7
|
import { z } from "zod";
|
|
@@ -89,4 +89,4 @@ export {
|
|
|
89
89
|
formatProfileSchema,
|
|
90
90
|
parseFormatProfileJson
|
|
91
91
|
};
|
|
92
|
-
//# sourceMappingURL=chunk-
|
|
92
|
+
//# sourceMappingURL=chunk-3W73FORT.js.map
|
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
HEADING_RATIO_H2,
|
|
6
6
|
HEADING_RATIO_H3,
|
|
7
7
|
tidyScriptTags
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-XIULHXJT.js";
|
|
9
9
|
import {
|
|
10
10
|
safeMax,
|
|
11
11
|
safeMin
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-RXX2GPV4.js";
|
|
13
13
|
|
|
14
14
|
// src/pdf/line-extract.ts
|
|
15
15
|
import { OPS } from "pdfjs-dist/legacy/build/pdf.mjs";
|
|
@@ -5283,7 +5283,7 @@ function mergeMultiLineRows(rows, columns) {
|
|
|
5283
5283
|
const curr = rows[i];
|
|
5284
5284
|
const yGap = Math.abs(prev.y - curr.y);
|
|
5285
5285
|
const matchedCols = countMatchedColumns(curr, columns);
|
|
5286
|
-
if (yGap < avgFontSize * 1.8 && curr.items.length <= 2 && (matchedCols < MIN_COLS || curr.items.length === 1)) {
|
|
5286
|
+
if (yGap < avgFontSize * 1.8 && curr.items.length <= 2 && (matchedCols < MIN_COLS || curr.items.length === 1) && !startsNewRecord(prev, curr, columns)) {
|
|
5287
5287
|
result[result.length - 1] = {
|
|
5288
5288
|
y: prev.y,
|
|
5289
5289
|
items: [...prev.items, ...curr.items]
|
|
@@ -5294,6 +5294,18 @@ function mergeMultiLineRows(rows, columns) {
|
|
|
5294
5294
|
}
|
|
5295
5295
|
return result;
|
|
5296
5296
|
}
|
|
5297
|
+
function startsNewRecord(prev, curr, columns) {
|
|
5298
|
+
const colOf = (x) => {
|
|
5299
|
+
let ci = -1;
|
|
5300
|
+
for (let c = 0; c < columns.length; c++) if (columns[c].x <= x + COL_CLUSTER_TOL) ci = c;
|
|
5301
|
+
return ci;
|
|
5302
|
+
};
|
|
5303
|
+
return curr.items.some((it) => {
|
|
5304
|
+
const ci = colOf(it.x);
|
|
5305
|
+
if (ci < 0 || ci + 1 >= columns.length || it.x + it.w <= columns[ci + 1].x + COL_CLUSTER_TOL) return false;
|
|
5306
|
+
return prev.items.some((p) => colOf(p.x) === ci);
|
|
5307
|
+
});
|
|
5308
|
+
}
|
|
5297
5309
|
function groupByBaseline(items) {
|
|
5298
5310
|
if (items.length === 0) return [];
|
|
5299
5311
|
const sorted = [...items].sort((a, b) => b.y - a.y || a.x - b.x);
|
|
@@ -8298,4 +8310,4 @@ export {
|
|
|
8298
8310
|
removeSideTabs,
|
|
8299
8311
|
extractPageBlocksWithLines
|
|
8300
8312
|
};
|
|
8301
|
-
//# sourceMappingURL=chunk-
|
|
8313
|
+
//# sourceMappingURL=chunk-5DDTO45D.js.map
|