kordoc 4.21.16 → 4.21.17
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 +6 -5
- package/dist/{-UXYZMTS3.js → -GS6LEDZ6.js} +11 -11
- package/dist/{chunk-BDAZLHIX.js → chunk-3PYAUHWY.js} +2 -2
- package/dist/{chunk-3QH3YMYN.js → chunk-6F6L63RG.js} +10 -10
- package/dist/{chunk-RAZWJ3U7.js → chunk-7ASI3XKM.js} +3 -3
- package/dist/{chunk-LVIKAUU4.js → chunk-7NXHIM2I.js} +2 -2
- package/dist/{chunk-P5QIWYVM.js → chunk-AJJLT6QJ.js} +2 -2
- package/dist/{chunk-BH3YWFQ2.js → chunk-BTMFVKL7.js} +2 -2
- package/dist/{chunk-TQY3IMGY.js → chunk-FMUBLLIZ.js} +6 -6
- package/dist/{chunk-XWBPXHKP.js → chunk-FWQHYJZ2.js} +2 -2
- package/dist/{chunk-RMJJKX2G.js → chunk-GTSEPXAH.js} +4 -4
- package/dist/{chunk-KZ7BA2OM.cjs → chunk-I43ZKTUM.cjs} +28 -25
- package/dist/chunk-I43ZKTUM.cjs.map +1 -0
- package/dist/{chunk-DOMPCV2Y.js → chunk-I7TWFW4X.js} +9 -6
- package/dist/chunk-I7TWFW4X.js.map +1 -0
- package/dist/{chunk-IWVUM6HF.js → chunk-J2FMAYNJ.js} +2 -2
- package/dist/{chunk-MV5HIQHU.cjs → chunk-L3U6MKGV.cjs} +3 -3
- package/dist/{chunk-MV5HIQHU.cjs.map → chunk-L3U6MKGV.cjs.map} +1 -1
- package/dist/{chunk-HU57WCBC.js → chunk-L3VCBSFW.js} +2 -2
- package/dist/{chunk-23MZM3TB.js → chunk-ORNPI5YF.js} +2 -2
- package/dist/{chunk-U7NXCGTB.js → chunk-OZW5RYGF.js} +2 -2
- package/dist/{chunk-OWWX5UTD.js → chunk-PEQ5K2JO.js} +2 -2
- package/dist/{chunk-SRE2WOSL.js → chunk-Q4GXF444.js} +2 -2
- package/dist/{chunk-FCMPZH3C.js → chunk-QLL7VG6L.js} +2 -2
- package/dist/{chunk-SEC3LWGT.cjs → chunk-QMQCFVTC.cjs} +3 -3
- package/dist/{chunk-SEC3LWGT.cjs.map → chunk-QMQCFVTC.cjs.map} +1 -1
- package/dist/{chunk-VPTFJTYT.js → chunk-S27YQEPA.js} +10 -7
- package/dist/chunk-S27YQEPA.js.map +1 -0
- package/dist/{chunk-EOFOH42T.js → chunk-TUSREHO3.js} +2 -2
- package/dist/{chunk-6NKVRRRA.js → chunk-TZU7PXV2.js} +2 -2
- package/dist/{chunk-N5RIWVIC.js → chunk-UEI7A4N5.js} +2 -2
- package/dist/{chunk-XUXC3BZ6.js → chunk-VOMOC7YF.js} +3 -3
- package/dist/{chunk-ZKWQZOIL.cjs → chunk-VVFNVMFM.cjs} +6 -6
- package/dist/{chunk-ZKWQZOIL.cjs.map → chunk-VVFNVMFM.cjs.map} +1 -1
- package/dist/{chunk-STTG6A4U.js → chunk-XBQ554QP.js} +3 -3
- package/dist/{chunk-LUU44ZTY.cjs → chunk-Y4TO3GBF.cjs} +2 -2
- package/dist/{chunk-LUU44ZTY.cjs.map → chunk-Y4TO3GBF.cjs.map} +1 -1
- package/dist/{chunk-WKVTKR3B.cjs → chunk-Z3OHMNYF.cjs} +13 -13
- package/dist/{chunk-WKVTKR3B.cjs.map → chunk-Z3OHMNYF.cjs.map} +1 -1
- package/dist/chunks-RRV5535L.js +10 -0
- package/dist/cli.js +30 -30
- package/dist/{formula-VC5F4S7C.cjs → formula-BCCH3T3Y.cjs} +9 -9
- package/dist/{formula-VC5F4S7C.cjs.map → formula-BCCH3T3Y.cjs.map} +1 -1
- package/dist/{formula-I7EOO6S2.js → formula-CJ5DGNGC.js} +3 -3
- package/dist/{formula-H5LADM66.js → formula-JZXPEDK3.js} +4 -4
- package/dist/{image-ocr-2DT5BU34.js → image-ocr-2POAP5GL.js} +6 -6
- package/dist/{image-ocr-VC3T6KFN.cjs → image-ocr-5TZMNEGR.cjs} +15 -15
- package/dist/{image-ocr-VC3T6KFN.cjs.map → image-ocr-5TZMNEGR.cjs.map} +1 -1
- package/dist/{image-ocr-UDTUNF63.js → image-ocr-HLEL6TED.js} +9 -9
- package/dist/index.cjs +276 -276
- package/dist/index.js +5 -5
- package/dist/mcp.js +22 -22
- package/dist/{model-bundle-Z37CFFMW.js → model-bundle-7Z5HLNGX.js} +5 -5
- package/dist/{models-GS4DRBDG.js → models-IGPCMPQQ.js} +5 -5
- package/dist/{parse-worker-v2-WH3CMHIN.js → parse-worker-v2-TS2JTIS2.js} +12 -12
- package/dist/{parser-DFVRE7YF.cjs → parser-KANGHQU4.cjs} +143 -138
- package/dist/parser-KANGHQU4.cjs.map +1 -0
- package/dist/{parser-SMPMTT77.js → parser-VHZ2PZXG.js} +17 -12
- package/dist/parser-VHZ2PZXG.js.map +1 -0
- package/dist/{parser-IKWLVTWU.js → parser-WR6UBRI4.js} +20 -15
- package/dist/parser-WR6UBRI4.js.map +1 -0
- package/dist/pdf-ocr-BLT45T3Z.js +22 -0
- package/dist/pdf-ocr-DKYP5EKK.js +18 -0
- package/dist/pdf-ocr-SCLTCB2B.cjs +19 -0
- package/dist/{pdf-ocr-QJ6TWDGK.cjs.map → pdf-ocr-SCLTCB2B.cjs.map} +1 -1
- package/dist/{profile-io-TVR55F6Z.js → profile-io-KHEXVGDJ.js} +3 -3
- package/dist/{rasterize-ZTYN7LUB.js → rasterize-KHGMOS2F.js} +3 -3
- package/dist/{redact-doc-6RFML2CI.js → redact-doc-DYWNTB2J.js} +11 -11
- package/dist/{render-YEB6SN2W.js → render-JNMZ5ULA.js} +7 -7
- package/dist/seal-FDHX37MP.js +10 -0
- package/dist/{setup-MBNEN7OK.js → setup-OQZS6I7X.js} +3 -3
- package/dist/visual-VZTQMICM.js +20 -0
- package/dist/{watch-GAZ3L6JO.js → watch-DPNIOMTV.js} +12 -12
- package/package.json +1 -1
- package/dist/chunk-DOMPCV2Y.js.map +0 -1
- package/dist/chunk-KZ7BA2OM.cjs.map +0 -1
- package/dist/chunk-VPTFJTYT.js.map +0 -1
- package/dist/chunks-UPIVB4EW.js +0 -10
- package/dist/parser-DFVRE7YF.cjs.map +0 -1
- package/dist/parser-IKWLVTWU.js.map +0 -1
- package/dist/parser-SMPMTT77.js.map +0 -1
- package/dist/pdf-ocr-HMSF3BEC.js +0 -22
- package/dist/pdf-ocr-QJ6TWDGK.cjs +0 -19
- package/dist/pdf-ocr-VSDGQ5HT.js +0 -18
- package/dist/seal-35ET5BXB.js +0 -10
- package/dist/visual-GBJCSTDI.js +0 -20
- /package/dist/{-UXYZMTS3.js.map → -GS6LEDZ6.js.map} +0 -0
- /package/dist/{chunk-BDAZLHIX.js.map → chunk-3PYAUHWY.js.map} +0 -0
- /package/dist/{chunk-3QH3YMYN.js.map → chunk-6F6L63RG.js.map} +0 -0
- /package/dist/{chunk-RAZWJ3U7.js.map → chunk-7ASI3XKM.js.map} +0 -0
- /package/dist/{chunk-LVIKAUU4.js.map → chunk-7NXHIM2I.js.map} +0 -0
- /package/dist/{chunk-P5QIWYVM.js.map → chunk-AJJLT6QJ.js.map} +0 -0
- /package/dist/{chunk-BH3YWFQ2.js.map → chunk-BTMFVKL7.js.map} +0 -0
- /package/dist/{chunk-TQY3IMGY.js.map → chunk-FMUBLLIZ.js.map} +0 -0
- /package/dist/{chunk-XWBPXHKP.js.map → chunk-FWQHYJZ2.js.map} +0 -0
- /package/dist/{chunk-RMJJKX2G.js.map → chunk-GTSEPXAH.js.map} +0 -0
- /package/dist/{chunk-IWVUM6HF.js.map → chunk-J2FMAYNJ.js.map} +0 -0
- /package/dist/{chunk-HU57WCBC.js.map → chunk-L3VCBSFW.js.map} +0 -0
- /package/dist/{chunk-23MZM3TB.js.map → chunk-ORNPI5YF.js.map} +0 -0
- /package/dist/{chunk-U7NXCGTB.js.map → chunk-OZW5RYGF.js.map} +0 -0
- /package/dist/{chunk-OWWX5UTD.js.map → chunk-PEQ5K2JO.js.map} +0 -0
- /package/dist/{chunk-SRE2WOSL.js.map → chunk-Q4GXF444.js.map} +0 -0
- /package/dist/{chunk-FCMPZH3C.js.map → chunk-QLL7VG6L.js.map} +0 -0
- /package/dist/{chunk-EOFOH42T.js.map → chunk-TUSREHO3.js.map} +0 -0
- /package/dist/{chunk-6NKVRRRA.js.map → chunk-TZU7PXV2.js.map} +0 -0
- /package/dist/{chunk-N5RIWVIC.js.map → chunk-UEI7A4N5.js.map} +0 -0
- /package/dist/{chunk-XUXC3BZ6.js.map → chunk-VOMOC7YF.js.map} +0 -0
- /package/dist/{chunk-STTG6A4U.js.map → chunk-XBQ554QP.js.map} +0 -0
- /package/dist/{chunks-UPIVB4EW.js.map → chunks-RRV5535L.js.map} +0 -0
- /package/dist/{formula-I7EOO6S2.js.map → formula-CJ5DGNGC.js.map} +0 -0
- /package/dist/{formula-H5LADM66.js.map → formula-JZXPEDK3.js.map} +0 -0
- /package/dist/{image-ocr-2DT5BU34.js.map → image-ocr-2POAP5GL.js.map} +0 -0
- /package/dist/{image-ocr-UDTUNF63.js.map → image-ocr-HLEL6TED.js.map} +0 -0
- /package/dist/{model-bundle-Z37CFFMW.js.map → model-bundle-7Z5HLNGX.js.map} +0 -0
- /package/dist/{models-GS4DRBDG.js.map → models-IGPCMPQQ.js.map} +0 -0
- /package/dist/{parse-worker-v2-WH3CMHIN.js.map → parse-worker-v2-TS2JTIS2.js.map} +0 -0
- /package/dist/{pdf-ocr-HMSF3BEC.js.map → pdf-ocr-BLT45T3Z.js.map} +0 -0
- /package/dist/{pdf-ocr-VSDGQ5HT.js.map → pdf-ocr-DKYP5EKK.js.map} +0 -0
- /package/dist/{profile-io-TVR55F6Z.js.map → profile-io-KHEXVGDJ.js.map} +0 -0
- /package/dist/{rasterize-ZTYN7LUB.js.map → rasterize-KHGMOS2F.js.map} +0 -0
- /package/dist/{redact-doc-6RFML2CI.js.map → redact-doc-DYWNTB2J.js.map} +0 -0
- /package/dist/{render-YEB6SN2W.js.map → render-JNMZ5ULA.js.map} +0 -0
- /package/dist/{seal-35ET5BXB.js.map → seal-FDHX37MP.js.map} +0 -0
- /package/dist/{setup-MBNEN7OK.js.map → setup-OQZS6I7X.js.map} +0 -0
- /package/dist/{visual-GBJCSTDI.js.map → visual-VZTQMICM.js.map} +0 -0
- /package/dist/{watch-GAZ3L6JO.js.map → watch-DPNIOMTV.js.map} +0 -0
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ HWP 3.x·5.x, HWPX, HWPML, PDF, XLS·XLSX, DOCX, PPTX, PNG·JPG·WebP를 Markdow
|
|
|
12
12
|
[English](README-EN.md) · [상세 사용법](docs/usage.md) · [벤치마크](docs/benchmarks.md) · [변경 이력](CHANGELOG.md)
|
|
13
13
|
|
|
14
14
|
- 📊 **PDF 공개 벤치 종합 0.963** — opendataloader-bench 200문서. 공개 12개 파서 비교 1위(2026-09-29 기록). [측정 조건](docs/benchmarks.md)
|
|
15
|
-
- 🇰🇷 **한국 공문서 표 구조 100%** — 원본 HWPX 2,424문서의 보이는 표 **10,342개 전부 구조 일치**. [4.21.
|
|
15
|
+
- 🇰🇷 **한국 공문서 표 구조 100%** — 원본 HWPX 2,424문서의 보이는 표 **10,342개 전부 구조 일치**. [4.21.17 검증](docs/benchmarks.md)
|
|
16
16
|
|
|
17
17
|
쓸모 있었다면 GitHub ⭐ 하나 눌러주세요. 다른 사람이 이 도구를 찾는 데 도움이 됩니다.
|
|
18
18
|
|
|
@@ -100,27 +100,28 @@ await writeFile("보고서.hwpx", Buffer.from(hwpx))
|
|
|
100
100
|
|
|
101
101
|
## 검증 결과
|
|
102
102
|
|
|
103
|
-
**4.21.
|
|
103
|
+
**4.21.17 · 2026-10-11 배포 검증**. 고정 코퍼스와 참조 기준으로 측정한 결과입니다.
|
|
104
104
|
|
|
105
105
|
| 대상 | 규모 | 결과 |
|
|
106
106
|
| --- | --- | --- |
|
|
107
107
|
| HWPX | 2,424문서 · 10,342표 | 표 구조 일치 **10,342/10,342 · 100%** |
|
|
108
108
|
| HWP 5.x ↔ HWPX | 1,130쌍 · 4,315표 | 짝 문서의 표 구조 일치 **100%** |
|
|
109
|
-
| PDF 글 | 744쌍 | 글자 재현율 **99.84%** · 정확도 **99.64%** · 읽기 순서 **99.16%** · 어절 F1 **98.
|
|
109
|
+
| PDF 글 | 744쌍 | 글자 재현율 **99.84%** · 정확도 **99.64%** · 읽기 순서 **99.16%** · 어절 F1 **98.99%** |
|
|
110
110
|
| PDF 표 | 708쌍 · 2,331표 | 표 탐지 **99.83%** · 구조 일치 **97.98%** · 칸 F1 **0.991** |
|
|
111
111
|
| PDF 전체 | 1,911문서 중 1,729건 채점 | 글 커버리지 **99.80%** |
|
|
112
112
|
| OCR | 53문서 · 102쪽 | CER **0.0412** · 글자 재현율 **99.02%** |
|
|
113
113
|
|
|
114
114
|
표 구조 점수와 셀 내용·화면 재현은 별도 지표입니다. 채점 범위·제외 기준·전 벤치 문서별 비교는 [벤치마크 상세](docs/benchmarks.md)에 있습니다.
|
|
115
115
|
|
|
116
|
-
외부 PDF 벤치 **opendataloader-bench 200문서**는 4.21.
|
|
116
|
+
외부 PDF 벤치 **opendataloader-bench 200문서**는 4.21.17 배포 측정에서 기본값 종합 **0.963**, OCR 끔 **0.939**입니다. [옵션별 결과와 재현 방법](docs/benchmarks.md#pdf--markdown--opendataloader-bench)
|
|
117
117
|
|
|
118
118
|
## 최근 업데이트
|
|
119
119
|
|
|
120
|
-
최신 배포: **[4.21.
|
|
120
|
+
최신 배포: **[4.21.17](https://github.com/chrisryugj/kordoc/releases/tag/v4.21.17)** · 2026-10-11
|
|
121
121
|
|
|
122
122
|
| 버전 | 주요 변경 |
|
|
123
123
|
| --- | --- |
|
|
124
|
+
| 4.21.17 | PDF 공백 없는 꽉 찬 줄 끝 + 영문 괄호 — "공적개발원조⏎(ODA)"·"하네스⏎(safety …)" 를 붙여 씀 (PDF 어절 F1 98.98 → 98.99%) |
|
|
124
125
|
| 4.21.16 | PDF 표 쪽 넘김 갈린 행의 수량 이어짐 — 머리 칸 "30%" / 다음 쪽 "미만" 을 한 칸으로; 공문서 autoFit.safety(다른 조판기용 한 줄 판정 여유) (법령 별표 PDF 표 97.40 → 97.69%) |
|
|
125
126
|
| 4.21.15 | PDF 줄 끝 공백 글리프로 어절 경계 꺾임 가르기 — 원문이 띄운 줄 꺾임("이루어⏎진다면")을 붙이던 것 (PDF 어절 F1 98.89 → 98.98%) |
|
|
126
127
|
| 4.21.14 | 한컴 PDF 유니코드 없는 기호 되살리기 — 자동 글머리표·괄호(U+F000)를 글꼴 윤곽 모양으로 "▸"·"□"·"《》"·"↓" 등으로; 텍스트층 커버리지 채점 기준 변경 (PDF 어절 F1 98.87 → 98.89%·글 재현율 99.83 → 99.84%) |
|
|
@@ -54,17 +54,17 @@ import {
|
|
|
54
54
|
unknownFontWarnings,
|
|
55
55
|
usesGaejosikMunche,
|
|
56
56
|
validateHwpx
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-6F6L63RG.js";
|
|
58
58
|
import {
|
|
59
59
|
blocksToPages
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-L3VCBSFW.js";
|
|
61
61
|
import {
|
|
62
62
|
applySplices,
|
|
63
63
|
buildParagraphSplices,
|
|
64
64
|
buildRangeSplices,
|
|
65
65
|
placeSealHwpx,
|
|
66
66
|
scanSectionXml
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-7ASI3XKM.js";
|
|
68
68
|
import {
|
|
69
69
|
DEFAULT_REDACT_RULES,
|
|
70
70
|
redactMarkdown,
|
|
@@ -72,7 +72,7 @@ import {
|
|
|
72
72
|
} from "./chunk-3WSNLH4B.js";
|
|
73
73
|
import {
|
|
74
74
|
blocksToChunks
|
|
75
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-FWQHYJZ2.js";
|
|
76
76
|
import {
|
|
77
77
|
SPACE_EM_FIXED,
|
|
78
78
|
SPACE_EM_FONT,
|
|
@@ -97,20 +97,20 @@ import {
|
|
|
97
97
|
renderSceneToHtml,
|
|
98
98
|
simulateWrap,
|
|
99
99
|
simulateWrapKeepWord
|
|
100
|
-
} from "./chunk-
|
|
100
|
+
} from "./chunk-FMUBLLIZ.js";
|
|
101
101
|
import "./chunk-7FCNOKOR.js";
|
|
102
|
-
import "./chunk-
|
|
102
|
+
import "./chunk-TZU7PXV2.js";
|
|
103
103
|
import "./chunk-VQFA55IC.js";
|
|
104
|
-
import "./chunk-
|
|
104
|
+
import "./chunk-Q4GXF444.js";
|
|
105
105
|
import {
|
|
106
106
|
blocksToMarkdown,
|
|
107
107
|
flattenLayoutTables,
|
|
108
108
|
hasStructuredCellContent
|
|
109
|
-
} from "./chunk-
|
|
110
|
-
import "./chunk-
|
|
109
|
+
} from "./chunk-QLL7VG6L.js";
|
|
110
|
+
import "./chunk-TUSREHO3.js";
|
|
111
111
|
import {
|
|
112
112
|
VERSION
|
|
113
|
-
} from "./chunk-
|
|
113
|
+
} from "./chunk-PEQ5K2JO.js";
|
|
114
114
|
export {
|
|
115
115
|
AGENCY_COMMON_NAME,
|
|
116
116
|
BUILTIN_TEMPLATES,
|
|
@@ -204,4 +204,4 @@ export {
|
|
|
204
204
|
usesGaejosikMunche,
|
|
205
205
|
validateHwpx
|
|
206
206
|
};
|
|
207
|
-
//# sourceMappingURL=-
|
|
207
|
+
//# sourceMappingURL=-GS6LEDZ6.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
ensureModelsIn,
|
|
4
4
|
getModelStatusIn,
|
|
5
5
|
getModelsDir
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-J2FMAYNJ.js";
|
|
7
7
|
|
|
8
8
|
// src/ocr/models.ts
|
|
9
9
|
import { join } from "path";
|
|
@@ -93,4 +93,4 @@ export {
|
|
|
93
93
|
parseCharacterDict,
|
|
94
94
|
ocrModelPath
|
|
95
95
|
};
|
|
96
|
-
//# sourceMappingURL=chunk-
|
|
96
|
+
//# sourceMappingURL=chunk-3PYAUHWY.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
blocksToPages
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-L3VCBSFW.js";
|
|
5
5
|
import {
|
|
6
6
|
allLinesegRemovalSplices,
|
|
7
7
|
applySplices,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
patchZipEntries,
|
|
17
17
|
readZipEntries,
|
|
18
18
|
scanSectionXml
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-7ASI3XKM.js";
|
|
20
20
|
import {
|
|
21
21
|
CONVERT_MAP,
|
|
22
22
|
FLAG_COMPRESSED,
|
|
@@ -67,7 +67,7 @@ import {
|
|
|
67
67
|
romanNumeral,
|
|
68
68
|
simulateWrap,
|
|
69
69
|
takeTocLeaders
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-FMUBLLIZ.js";
|
|
71
71
|
import {
|
|
72
72
|
inlineImagesIntoMarkdown
|
|
73
73
|
} from "./chunk-7FCNOKOR.js";
|
|
@@ -82,7 +82,7 @@ import {
|
|
|
82
82
|
tidyScriptTags,
|
|
83
83
|
unframeLayoutTables,
|
|
84
84
|
wrapScript
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-TZU7PXV2.js";
|
|
86
86
|
import {
|
|
87
87
|
parsePageRange
|
|
88
88
|
} from "./chunk-VQFA55IC.js";
|
|
@@ -102,7 +102,7 @@ import {
|
|
|
102
102
|
localName,
|
|
103
103
|
rawTextContent,
|
|
104
104
|
readZipEntry
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-Q4GXF444.js";
|
|
106
106
|
import {
|
|
107
107
|
MAX_COLS,
|
|
108
108
|
MAX_ROWS,
|
|
@@ -117,7 +117,7 @@ import {
|
|
|
117
117
|
hasStructuredCellContent,
|
|
118
118
|
mapPuaText,
|
|
119
119
|
noteSuffix
|
|
120
|
-
} from "./chunk-
|
|
120
|
+
} from "./chunk-QLL7VG6L.js";
|
|
121
121
|
import {
|
|
122
122
|
KordocError,
|
|
123
123
|
classifyError,
|
|
@@ -133,7 +133,7 @@ import {
|
|
|
133
133
|
toArrayBuffer,
|
|
134
134
|
unescapeHtml,
|
|
135
135
|
unzipLimitBytes
|
|
136
|
-
} from "./chunk-
|
|
136
|
+
} from "./chunk-PEQ5K2JO.js";
|
|
137
137
|
|
|
138
138
|
// src/table/visual.ts
|
|
139
139
|
import { readFile as readFile2 } from "fs/promises";
|
|
@@ -30759,7 +30759,7 @@ function scriptsOff(r, off) {
|
|
|
30759
30759
|
}
|
|
30760
30760
|
async function parseImage(buffer, options) {
|
|
30761
30761
|
try {
|
|
30762
|
-
const { parseImageDocument } = await import("./image-ocr-
|
|
30762
|
+
const { parseImageDocument } = await import("./image-ocr-HLEL6TED.js");
|
|
30763
30763
|
const { blocks, warnings } = await parseImageDocument(buffer, options);
|
|
30764
30764
|
stripScriptTags({ blocks });
|
|
30765
30765
|
return {
|
|
@@ -30819,7 +30819,7 @@ async function parseHwp(buffer, options) {
|
|
|
30819
30819
|
async function parsePdf(buffer, options) {
|
|
30820
30820
|
let parsePdfDocument;
|
|
30821
30821
|
try {
|
|
30822
|
-
const mod = await import("./parser-
|
|
30822
|
+
const mod = await import("./parser-WR6UBRI4.js");
|
|
30823
30823
|
parsePdfDocument = mod.parsePdfDocument;
|
|
30824
30824
|
} catch {
|
|
30825
30825
|
return {
|
|
@@ -31049,4 +31049,4 @@ export {
|
|
|
31049
31049
|
parseHwpml,
|
|
31050
31050
|
fillForm
|
|
31051
31051
|
};
|
|
31052
|
-
//# sourceMappingURL=chunk-
|
|
31052
|
+
//# sourceMappingURL=chunk-6F6L63RG.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
parseRenderStyles
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Q4GXF444.js";
|
|
5
5
|
import {
|
|
6
6
|
KordocError,
|
|
7
7
|
precheckZipSize
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-PEQ5K2JO.js";
|
|
9
9
|
|
|
10
10
|
// src/form/seal.ts
|
|
11
11
|
import JSZip from "jszip";
|
|
@@ -1076,4 +1076,4 @@ export {
|
|
|
1076
1076
|
patchZipEntries,
|
|
1077
1077
|
placeSealHwpx
|
|
1078
1078
|
};
|
|
1079
|
-
//# sourceMappingURL=chunk-
|
|
1079
|
+
//# sourceMappingURL=chunk-7ASI3XKM.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
blocksToMarkdown
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ORNPI5YF.js";
|
|
4
4
|
|
|
5
5
|
// src/page-markdown.ts
|
|
6
6
|
function blocksToPages(blocks, render = blocksToMarkdown) {
|
|
@@ -167,4 +167,4 @@ export {
|
|
|
167
167
|
inlineImagesIntoMarkdown,
|
|
168
168
|
blocksToPages
|
|
169
169
|
};
|
|
170
|
-
//# sourceMappingURL=chunk-
|
|
170
|
+
//# sourceMappingURL=chunk-7NXHIM2I.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/utils.ts
|
|
2
|
-
var VERSION = true ? "4.21.
|
|
2
|
+
var VERSION = true ? "4.21.17" : "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-AJJLT6QJ.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
KordocError
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-PEQ5K2JO.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-BTMFVKL7.js.map
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
HEADING_RATIO_H3,
|
|
10
10
|
tidyScriptTags,
|
|
11
11
|
unframeLayoutTables
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-TZU7PXV2.js";
|
|
13
13
|
import {
|
|
14
14
|
parsePageRange
|
|
15
15
|
} from "./chunk-VQFA55IC.js";
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
findChildByLocalName,
|
|
23
23
|
hwpFaceToCssStack,
|
|
24
24
|
parseRenderStyles
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-Q4GXF444.js";
|
|
26
26
|
import {
|
|
27
27
|
MAX_COLS,
|
|
28
28
|
MAX_ROWS,
|
|
@@ -33,18 +33,18 @@ import {
|
|
|
33
33
|
flattenLayoutTables,
|
|
34
34
|
mapPuaText,
|
|
35
35
|
markNonLayoutTable
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-QLL7VG6L.js";
|
|
37
37
|
import {
|
|
38
38
|
loadSharp,
|
|
39
39
|
rasterizePageSvg
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-TUSREHO3.js";
|
|
41
41
|
import {
|
|
42
42
|
KordocError,
|
|
43
43
|
escapeHtml,
|
|
44
44
|
precheckZipSize,
|
|
45
45
|
sanitizeHref,
|
|
46
46
|
toArrayBuffer
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-PEQ5K2JO.js";
|
|
48
48
|
|
|
49
49
|
// src/render/svg-render.ts
|
|
50
50
|
import JSZip from "jszip";
|
|
@@ -7804,4 +7804,4 @@ export {
|
|
|
7804
7804
|
cropRect,
|
|
7805
7805
|
extractRenderedRegions
|
|
7806
7806
|
};
|
|
7807
|
-
//# sourceMappingURL=chunk-
|
|
7807
|
+
//# sourceMappingURL=chunk-FMUBLLIZ.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
assignTableIds,
|
|
4
4
|
blocksToMarkdown
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-QLL7VG6L.js";
|
|
6
6
|
|
|
7
7
|
// src/chunks.ts
|
|
8
8
|
var LIST_MARKER_RE = /^(?:[□■◇◆○◎●◦ㅇ•▪▸▶※-]|\d{1,3}[.)]|[가나다라마바사아자차카타파하][.)]|\([가나다라마바사아자차카타파하0-9]{1,3}\)|[①-⑳㉮-㉻㈎-㈛])\s/;
|
|
@@ -82,4 +82,4 @@ function blocksToChunks(blocks, options) {
|
|
|
82
82
|
export {
|
|
83
83
|
blocksToChunks
|
|
84
84
|
};
|
|
85
|
-
//# sourceMappingURL=chunk-
|
|
85
|
+
//# sourceMappingURL=chunk-FWQHYJZ2.js.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
UNRULED_REGION_TABLES,
|
|
7
7
|
extractPageBlocksWithLines
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-I7TWFW4X.js";
|
|
9
9
|
import {
|
|
10
10
|
OCR_DET_MODEL,
|
|
11
11
|
OCR_REC_DICT,
|
|
@@ -13,10 +13,10 @@ import {
|
|
|
13
13
|
ensureOcrModels,
|
|
14
14
|
getOcrModelsDir,
|
|
15
15
|
parseCharacterDict
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-3PYAUHWY.js";
|
|
17
17
|
import {
|
|
18
18
|
OPTIONAL_DEP_INSTALL_HINT
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-PEQ5K2JO.js";
|
|
20
20
|
|
|
21
21
|
// src/ocr/ruling-lines.ts
|
|
22
22
|
var INK_LUMA_MAX = 205;
|
|
@@ -2133,4 +2133,4 @@ export {
|
|
|
2133
2133
|
groupOcrLines,
|
|
2134
2134
|
ocrItemsToBlocks
|
|
2135
2135
|
};
|
|
2136
|
-
//# sourceMappingURL=chunk-
|
|
2136
|
+
//# sourceMappingURL=chunk-GTSEPXAH.js.map
|
|
@@ -4,15 +4,15 @@
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkVVFNVMFMcjs = require('./chunk-VVFNVMFM.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkL3U6MKGVcjs = require('./chunk-L3U6MKGV.cjs');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunkY4TO3GBFcjs = require('./chunk-Y4TO3GBF.cjs');
|
|
16
16
|
|
|
17
17
|
// src/ocr/models.ts
|
|
18
18
|
var _path = require('path');
|
|
@@ -40,10 +40,10 @@ var OCR_REC_DICT = {
|
|
|
40
40
|
};
|
|
41
41
|
var ALL_OCR_MODELS = [OCR_DET_MODEL, OCR_REC_MODEL, OCR_REC_DICT];
|
|
42
42
|
function getOcrModelsDir() {
|
|
43
|
-
return
|
|
43
|
+
return _chunkL3U6MKGVcjs.getModelsDir.call(void 0, "ppocr");
|
|
44
44
|
}
|
|
45
45
|
async function ensureOcrModels(onProgress) {
|
|
46
|
-
return
|
|
46
|
+
return _chunkL3U6MKGVcjs.ensureModelsIn.call(void 0, getOcrModelsDir(), ALL_OCR_MODELS, onProgress);
|
|
47
47
|
}
|
|
48
48
|
async function ocrModelsCached() {
|
|
49
49
|
const dir = getOcrModelsDir();
|
|
@@ -2123,7 +2123,7 @@ function tagScripts(text, lines) {
|
|
|
2123
2123
|
const [s, e, kind] = marks[m];
|
|
2124
2124
|
out = out.slice(0, s) + `<${kind}>` + out.slice(s, e) + `</${kind}>` + out.slice(e);
|
|
2125
2125
|
}
|
|
2126
|
-
return
|
|
2126
|
+
return _chunkVVFNVMFMcjs.tidyScriptTags.call(void 0, out);
|
|
2127
2127
|
}
|
|
2128
2128
|
|
|
2129
2129
|
// src/pdf/line-wrap.ts
|
|
@@ -3010,7 +3010,7 @@ function normalizeItems(rawItems) {
|
|
|
3010
3010
|
fontName: i.fontName || "",
|
|
3011
3011
|
isHidden,
|
|
3012
3012
|
seq: seq + k / 1e3,
|
|
3013
|
-
...spaceAfter && k === split.length - 1 ? { spaceAfter } : {}
|
|
3013
|
+
...spaceAfter !== void 0 && k === split.length - 1 ? { spaceAfter } : {}
|
|
3014
3014
|
});
|
|
3015
3015
|
});
|
|
3016
3016
|
} else {
|
|
@@ -3027,7 +3027,7 @@ function normalizeItems(rawItems) {
|
|
|
3027
3027
|
fontName: i.fontName || "",
|
|
3028
3028
|
isHidden,
|
|
3029
3029
|
seq,
|
|
3030
|
-
...spaceAfter ? { spaceAfter } : {},
|
|
3030
|
+
...spaceAfter !== void 0 ? { spaceAfter } : {},
|
|
3031
3031
|
...rotated ? { rotated: Math.max(1, w), ...i.transform[1] < 0 ? { rotatedDown: true } : {} } : {}
|
|
3032
3032
|
});
|
|
3033
3033
|
}
|
|
@@ -5086,8 +5086,11 @@ function pushLineParagraphs(out, yLines, pageNum, lex) {
|
|
|
5086
5086
|
joins[i] = wrapJoiner(geo[i].text, geo[i + 1].text, lex);
|
|
5087
5087
|
}
|
|
5088
5088
|
}
|
|
5089
|
+
const blockRight = Math.max(...geo.map((g) => g.right));
|
|
5089
5090
|
for (let i = 0; i + 1 < lines.length; i++) {
|
|
5090
|
-
|
|
5091
|
+
const last = lines[i].items.reduce((a, b) => b.x + b.w > a.x + a.w ? b : a);
|
|
5092
|
+
if (joins[i] === "" && last.spaceAfter) joins[i] = " ";
|
|
5093
|
+
else if (joins[i] === " " && last.spaceAfter === false && blockRight - geo[i].right < 0.2 * geo[i].fontSize && /[가-힣]$/.test(geo[i].text.replace(/<\/?u>|~~/g, "").trimEnd()) && /^\((?:[A-Za-z/]|[’'‘])/.test(geo[i + 1].text.replace(/<\/?u>|~~/g, "").trimStart())) joins[i] = "";
|
|
5091
5094
|
}
|
|
5092
5095
|
for (const i of tocRecordBoundaries(lines.map((line) => line.items))) joins[i] = "\n";
|
|
5093
5096
|
for (let i = 0; i + 1 < geo.length; i++) {
|
|
@@ -5142,9 +5145,9 @@ function detectHeadings(blocks, medianFontSize) {
|
|
|
5142
5145
|
if (/^\d+$/.test(text) && !isChapterNumber(block, blocks[bi + 1], medianFontSize)) continue;
|
|
5143
5146
|
const ratio = block.style.fontSize / medianFontSize;
|
|
5144
5147
|
let level = 0;
|
|
5145
|
-
if (ratio >=
|
|
5146
|
-
else if (ratio >=
|
|
5147
|
-
else if (ratio >=
|
|
5148
|
+
if (ratio >= _chunkVVFNVMFMcjs.HEADING_RATIO_H1) level = 1;
|
|
5149
|
+
else if (ratio >= _chunkVVFNVMFMcjs.HEADING_RATIO_H2) level = 2;
|
|
5150
|
+
else if (ratio >= _chunkVVFNVMFMcjs.HEADING_RATIO_H3) level = 3;
|
|
5148
5151
|
if (level > 0) {
|
|
5149
5152
|
block.type = "heading";
|
|
5150
5153
|
block.level = level;
|
|
@@ -5157,7 +5160,7 @@ function isChapterNumber(block, next, medianFontSize) {
|
|
|
5157
5160
|
const nextSize = _nullishCoalesce(_optionalChain([next, 'optionalAccess', _143 => _143.style, 'optionalAccess', _144 => _144.fontSize]), () => ( 0));
|
|
5158
5161
|
const text = _nullishCoalesce(_optionalChain([next, 'optionalAccess', _145 => _145.text, 'optionalAccess', _146 => _146.trim, 'call', _147 => _147()]), () => ( ""));
|
|
5159
5162
|
const a = block.bbox, b = _optionalChain([next, 'optionalAccess', _148 => _148.bbox]);
|
|
5160
|
-
return /^\d{1,2}$/.test(_nullishCoalesce(_optionalChain([block, 'access', _149 => _149.text, 'optionalAccess', _150 => _150.trim, 'call', _151 => _151()]), () => ( ""))) && size >= medianFontSize * 2.5 && !!next && (next.type === "paragraph" || next.type === "heading") && next.pageNumber === block.pageNumber && nextSize >= medianFontSize *
|
|
5163
|
+
return /^\d{1,2}$/.test(_nullishCoalesce(_optionalChain([block, 'access', _149 => _149.text, 'optionalAccess', _150 => _150.trim, 'call', _151 => _151()]), () => ( ""))) && size >= medianFontSize * 2.5 && !!next && (next.type === "paragraph" || next.type === "heading") && next.pageNumber === block.pageNumber && nextSize >= medianFontSize * _chunkVVFNVMFMcjs.HEADING_RATIO_H1 && text.length > 0 && text.length <= 80 && !/^[\d\s.]+$/.test(text) && !!a && !!b && a.y > b.y && a.y - (b.y + b.height) <= size * 2;
|
|
5161
5164
|
}
|
|
5162
5165
|
function mergeStackedHeadingLines(blocks, medianFontSize) {
|
|
5163
5166
|
for (let i = 0; i < blocks.length - 1; ) {
|
|
@@ -6530,16 +6533,16 @@ function isProseSpread(items) {
|
|
|
6530
6533
|
for (let i = 1; i < sorted.length; i++) {
|
|
6531
6534
|
gaps.push(sorted[i].x - (sorted[i - 1].x + sorted[i - 1].w));
|
|
6532
6535
|
}
|
|
6533
|
-
const maxGap =
|
|
6536
|
+
const maxGap = _chunkY4TO3GBFcjs.safeMax.call(void 0, gaps);
|
|
6534
6537
|
const avgLen = items.reduce((s, i) => s + i.text.length, 0) / items.length;
|
|
6535
6538
|
if (items.length >= 4 && maxGap < 40 && avgLen < 5) return true;
|
|
6536
|
-
const minGap =
|
|
6539
|
+
const minGap = _chunkY4TO3GBFcjs.safeMin.call(void 0, gaps);
|
|
6537
6540
|
return minGap > 0 && maxGap - minGap <= Math.max(2, maxGap * 0.15) && items.filter((i) => /^\P{L}*\p{Ll}/u.test(i.text)).length * 2 >= items.length;
|
|
6538
6541
|
}
|
|
6539
6542
|
function detectColumns(yLines) {
|
|
6540
6543
|
const allItems = yLines.flat();
|
|
6541
6544
|
if (allItems.length === 0) return null;
|
|
6542
|
-
const pageWidth =
|
|
6545
|
+
const pageWidth = _chunkY4TO3GBFcjs.safeMax.call(void 0, allItems.map((i) => i.x + i.w)) - _chunkY4TO3GBFcjs.safeMin.call(void 0, allItems.map((i) => i.x));
|
|
6543
6546
|
if (pageWidth < 100) return null;
|
|
6544
6547
|
let bigoLineIdx = -1;
|
|
6545
6548
|
for (let i = 0; i < yLines.length; i++) {
|
|
@@ -7083,12 +7086,12 @@ function recordClipCellEdges(grids, horizontals, verticals, nonRules) {
|
|
|
7083
7086
|
}
|
|
7084
7087
|
function takeClipCellEdges(from, to) {
|
|
7085
7088
|
const e = CLIP_CELL_EDGES.get(from);
|
|
7086
|
-
if (e)
|
|
7089
|
+
if (e) _chunkVVFNVMFMcjs.CELL_EDGES.set(to, e);
|
|
7087
7090
|
}
|
|
7088
7091
|
function joinCellEdges(a, b) {
|
|
7089
|
-
const u =
|
|
7092
|
+
const u = _chunkVVFNVMFMcjs.CELL_EDGES.get(a), d = _chunkVVFNVMFMcjs.CELL_EDGES.get(b);
|
|
7090
7093
|
if (!u || !d) return;
|
|
7091
|
-
|
|
7094
|
+
_chunkVVFNVMFMcjs.CELL_EDGES.set(a, { t: u.t, b: d.b, l: u.l || d.l, r: u.r || d.r });
|
|
7092
7095
|
}
|
|
7093
7096
|
|
|
7094
7097
|
// src/pdf/table-unit-row.ts
|
|
@@ -7104,7 +7107,7 @@ function rebuildUnitLine(items, grid) {
|
|
|
7104
7107
|
function prependUnitRow(cells, cols, line, usedItems) {
|
|
7105
7108
|
const text = cleanCellText(line.map((item) => item.text).join(""));
|
|
7106
7109
|
cells.unshift(Array.from({ length: cols }, (_, c) => ({ text: c === 0 ? text : "", colSpan: c === 0 ? cols : 1, rowSpan: 1 })));
|
|
7107
|
-
for (const cell of cells[0])
|
|
7110
|
+
for (const cell of cells[0]) _chunkVVFNVMFMcjs.CELL_EDGES.set(cell, NO_EDGES);
|
|
7108
7111
|
for (const item of line) usedItems.add(item);
|
|
7109
7112
|
}
|
|
7110
7113
|
function attachUnitRow(items, grid, cells, cols, usedItems) {
|
|
@@ -7634,7 +7637,7 @@ function recordFrameTitle(table, source, pageNum) {
|
|
|
7634
7637
|
const [label, spacer, title] = cells;
|
|
7635
7638
|
if (!/^(?:붙임|별첨|첨부|부록)\s*\d{1,3}$/.test(label.text.trim()) || spacer.text.trim() || !title.text.trim()) return;
|
|
7636
7639
|
if (cells.some((c) => {
|
|
7637
|
-
const e =
|
|
7640
|
+
const e = _chunkVVFNVMFMcjs.CELL_EDGES.get(c);
|
|
7638
7641
|
return !e || e.t || e.b || e.l || e.r;
|
|
7639
7642
|
})) return;
|
|
7640
7643
|
const xs = TABLE_COLXS.get(table), style = dominantStyle(source), fs = _nullishCoalesce(_optionalChain([style, 'optionalAccess', _344 => _344.fontSize]), () => ( 0));
|
|
@@ -8293,7 +8296,7 @@ function extractBlocksWithGrids(items, pageNum, pageWidth, pageHeight, grids, ho
|
|
|
8293
8296
|
groupSizes.push(1);
|
|
8294
8297
|
}
|
|
8295
8298
|
const allY = remaining.map((i) => i.y);
|
|
8296
|
-
const pageH =
|
|
8299
|
+
const pageH = _chunkY4TO3GBFcjs.safeMax.call(void 0, allY) - _chunkY4TO3GBFcjs.safeMin.call(void 0, allY);
|
|
8297
8300
|
const gapThreshold = Math.max(15, pageH * 0.03);
|
|
8298
8301
|
const sides = frameColumnTextBands(remaining, spanning, gx);
|
|
8299
8302
|
const textBlocks = [];
|
|
@@ -8309,7 +8312,7 @@ function extractBlocksWithGrids(items, pageNum, pageWidth, pageHeight, grids, ho
|
|
|
8309
8312
|
finalTextBlocks.push(...detectListBlocks(textBlocks));
|
|
8310
8313
|
} else {
|
|
8311
8314
|
const allY = remaining.map((i) => i.y);
|
|
8312
|
-
const pageH =
|
|
8315
|
+
const pageH = _chunkY4TO3GBFcjs.safeMax.call(void 0, allY) - _chunkY4TO3GBFcjs.safeMin.call(void 0, allY);
|
|
8313
8316
|
const gapThreshold = Math.max(15, pageH * 0.03);
|
|
8314
8317
|
const groups = xyCutOrder(remaining, gapThreshold);
|
|
8315
8318
|
const textBlocks = [];
|
|
@@ -8637,7 +8640,7 @@ function extractPageBlocksFallback(items, pageNum, fullPage = false, detectTable
|
|
|
8637
8640
|
blocks.push(...columnTextToBlocks(tableText, pageNum, bbox, dominantStyle(items)));
|
|
8638
8641
|
} else {
|
|
8639
8642
|
const allY = items.map((i) => i.y);
|
|
8640
|
-
const pageHeight =
|
|
8643
|
+
const pageHeight = _chunkY4TO3GBFcjs.safeMax.call(void 0, allY) - _chunkY4TO3GBFcjs.safeMin.call(void 0, allY);
|
|
8641
8644
|
const gapThreshold = Math.max(15, pageHeight * 0.03);
|
|
8642
8645
|
const orderedGroups = proseCutX !== null ? splitTwoColumnProse(items, proseCutX) : xyCutOrder(items, gapThreshold, 0, void 0, minGap);
|
|
8643
8646
|
for (const group of orderedGroups) {
|
|
@@ -8848,4 +8851,4 @@ function rowParagraphs(block) {
|
|
|
8848
8851
|
|
|
8849
8852
|
|
|
8850
8853
|
exports.OCR_DET_MODEL = OCR_DET_MODEL; exports.OCR_REC_MODEL = OCR_REC_MODEL; exports.OCR_REC_DICT = OCR_REC_DICT; exports.getOcrModelsDir = getOcrModelsDir; exports.ensureOcrModels = ensureOcrModels; exports.ocrModelsCached = ocrModelsCached; exports.parseCharacterDict = parseCharacterDict; exports.extractLines = extractLines; exports.extractImageRegions = extractImageRegions; exports.filterHiddenText = filterHiddenText; exports.collapseEvenSpacing = collapseEvenSpacing; exports.computeBBox = computeBBox; exports.dominantStyle = dominantStyle; exports.normalizeItems = normalizeItems; exports.groupByY = groupByY; exports.mergeLineSimple = mergeLineSimple; exports.WrapLexicon = WrapLexicon; exports.startsNewItem = startsNewItem; exports.wrapJoiner = wrapJoiner; exports.joinPageBreakWraps = joinPageBreakWraps; exports.splitPageBreakWraps = splitPageBreakWraps; exports.latinSoftWrap = latinSoftWrap; exports.TOC_BLOCKS = TOC_BLOCKS; exports.computeMedianFontSizeFromFreq = computeMedianFontSizeFromFreq; exports.detectHeadings = detectHeadings; exports.mergeStackedHeadingLines = mergeStackedHeadingLines; exports.detectTypographyHeadings = detectTypographyHeadings; exports.detectDocumentStyleHeadings = detectDocumentStyleHeadings; exports.detectSiblingStyleHeadings = detectSiblingStyleHeadings; exports.detectRepeatedPageLabels = detectRepeatedPageLabels; exports.detectPageLeadHeadings = detectPageLeadHeadings; exports.refineDocumentStyleHeadings = refineDocumentStyleHeadings; exports.detectMarkerHeadings = detectMarkerHeadings; exports.detectTableCaptions = detectTableCaptions; exports.detectKoreanListBlocks = detectKoreanListBlocks; exports.removeHeaderFooterBlocks = removeHeaderFooterBlocks; exports.CLIP_TABLES = CLIP_TABLES; exports.FRAME_TITLE_BLOCKS = FRAME_TITLE_BLOCKS; exports.TABLE_COLXS = TABLE_COLXS; exports.TABLE_ROWYS = TABLE_ROWYS; exports.TABLE_TAIL = TABLE_TAIL; exports.PART_COLXS = PART_COLXS; exports.EMPTY_PARTS = EMPTY_PARTS; exports.IMAGE_CELLS = IMAGE_CELLS; exports.FILLER_CELLS = FILLER_CELLS; exports.CONT_PARTS = CONT_PARTS; exports.CELL_LINES = CELL_LINES; exports.ROW_RULES = ROW_RULES; exports.trimTrailingEmptyTableCols = trimTrailingEmptyTableCols; exports.NO_EDGES = NO_EDGES; exports.joinCellEdges = joinCellEdges; exports.restoreImageBullets = restoreImageBullets; exports.detectRightArrowRegions = detectRightArrowRegions; exports.removeSideTabs = removeSideTabs; exports.extractPageBlocksWithLines = extractPageBlocksWithLines; exports.UNRULED_REGION_TABLES = UNRULED_REGION_TABLES; exports.mergeOcrImageRegions = mergeOcrImageRegions;
|
|
8851
|
-
//# sourceMappingURL=chunk-
|
|
8854
|
+
//# sourceMappingURL=chunk-I43ZKTUM.cjs.map
|