kordoc 4.21.19 → 4.21.20
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/{-FLYHAUQ6.js → -QHQ2QKM7.js} +11 -11
- package/dist/{chunk-KLKV47XO.cjs → chunk-2FALZL3E.cjs} +13 -13
- package/dist/{chunk-KLKV47XO.cjs.map → chunk-2FALZL3E.cjs.map} +1 -1
- package/dist/{chunk-SM42XSI3.js → chunk-42XYVZ2B.js} +2 -2
- package/dist/{chunk-CLAIAXMX.js → chunk-6HIDMA5O.js} +2 -2
- package/dist/{chunk-OON4IJU2.js → chunk-75INFYVC.js} +2 -2
- package/dist/{chunk-Z2OOYQ4I.js → chunk-7ITWGPNB.js} +2 -2
- package/dist/{chunk-INZGI6PI.js → chunk-AINZICPE.js} +2 -2
- package/dist/{chunk-QWOZRYUA.js → chunk-BLKAJD2G.js} +450 -110
- package/dist/chunk-BLKAJD2G.js.map +1 -0
- package/dist/{chunk-JGGYLUGD.cjs → chunk-CKEO54YN.cjs} +3 -3
- package/dist/{chunk-JGGYLUGD.cjs.map → chunk-CKEO54YN.cjs.map} +1 -1
- package/dist/{chunk-3O4YC67B.js → chunk-DBFAQJCX.js} +3 -3
- package/dist/{chunk-F6N7CDB7.js → chunk-E5L6DUOE.js} +3 -3
- package/dist/{chunk-DQ2YGTRS.js → chunk-F5KWC7I3.js} +68 -41
- package/dist/chunk-F5KWC7I3.js.map +1 -0
- package/dist/{chunk-UDODNSDU.js → chunk-F5PISJEI.js} +2 -2
- package/dist/{chunk-TC6DQLYN.js → chunk-FU3SCGE7.js} +2 -2
- package/dist/{chunk-AQ5GIBBH.js → chunk-G6G25HUO.js} +2 -2
- package/dist/{chunk-VIFY6DJZ.js → chunk-I4HF4UCA.js} +4 -4
- package/dist/{chunk-YDIVY65W.js → chunk-JDVOYDIA.js} +2 -2
- package/dist/{chunk-3PCAJWGK.js → chunk-KBL24ZCP.js} +42 -3
- package/dist/{chunk-3PCAJWGK.js.map → chunk-KBL24ZCP.js.map} +1 -1
- package/dist/{chunk-DZVZVZAD.cjs → chunk-KS2SASZH.cjs} +6 -6
- package/dist/{chunk-DZVZVZAD.cjs.map → chunk-KS2SASZH.cjs.map} +1 -1
- package/dist/{chunk-RYRUQ73F.js → chunk-LO5A36FU.js} +2 -2
- package/dist/{chunk-AMXIYV73.js → chunk-LQSF4JSV.js} +2 -2
- package/dist/{chunk-Y5OSPKBU.js → chunk-LY4ITNAL.js} +67 -40
- package/dist/chunk-LY4ITNAL.js.map +1 -0
- package/dist/{chunk-3KW2Q655.cjs → chunk-M37GOXT5.cjs} +2 -2
- package/dist/{chunk-3KW2Q655.cjs.map → chunk-M37GOXT5.cjs.map} +1 -1
- package/dist/{chunk-EYLEVRHT.cjs → chunk-MOT7WOP5.cjs} +197 -170
- package/dist/chunk-MOT7WOP5.cjs.map +1 -0
- package/dist/{chunk-46PYORID.js → chunk-N47I6OS7.js} +6 -6
- package/dist/{chunk-GK4QLKNT.js → chunk-PALYDA3M.js} +2 -2
- package/dist/{chunk-4VM6BT4W.js → chunk-TYYKK5DX.js} +2 -2
- package/dist/{chunk-OWLDTF5Q.js → chunk-WINHSKFD.js} +2 -2
- package/dist/{chunk-2DNJW2HO.cjs → chunk-WWMHVDRG.cjs} +3 -3
- package/dist/{chunk-2DNJW2HO.cjs.map → chunk-WWMHVDRG.cjs.map} +1 -1
- package/dist/{chunk-X6WXU4LA.js → chunk-ZMGWKGSC.js} +2 -2
- package/dist/chunks-BJRBKGKZ.js +10 -0
- package/dist/cli.js +30 -30
- package/dist/{formula-EKXCURKO.cjs → formula-G5LTBMGC.cjs} +9 -9
- package/dist/{formula-EKXCURKO.cjs.map → formula-G5LTBMGC.cjs.map} +1 -1
- package/dist/{formula-Z5UPXBQM.js → formula-KHPAZKOK.js} +4 -4
- package/dist/{formula-2YYGN7UE.js → formula-XAPMN6HX.js} +3 -3
- package/dist/{image-ocr-TE76KKNV.cjs → image-ocr-MHPVAYOB.cjs} +15 -15
- package/dist/{image-ocr-TE76KKNV.cjs.map → image-ocr-MHPVAYOB.cjs.map} +1 -1
- package/dist/{image-ocr-IMLFZ2JC.js → image-ocr-N5LAIHRV.js} +9 -9
- package/dist/{image-ocr-23R7RVHP.js → image-ocr-RNPHQ4C2.js} +6 -6
- package/dist/index.cjs +1064 -687
- 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 +482 -105
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +22 -22
- package/dist/{model-bundle-GTSRH2DY.js → model-bundle-XP4AHFLT.js} +5 -5
- package/dist/{models-2J3NS7G2.js → models-AD2KAUNC.js} +5 -5
- package/dist/{parse-worker-v2-VO5UY3MP.js → parse-worker-v2-7UHOQ2TK.js} +12 -12
- package/dist/{parser-JVUZ7EEV.js → parser-2RN5WNPJ.js} +11 -11
- package/dist/{parser-FXGAKPUI.js → parser-5WGRQKPI.js} +8 -8
- package/dist/{parser-D5VMCDLG.cjs → parser-ZPCCXCVO.cjs} +134 -134
- package/dist/{parser-D5VMCDLG.cjs.map → parser-ZPCCXCVO.cjs.map} +1 -1
- package/dist/pdf-ocr-KHY3P4EP.js +18 -0
- package/dist/pdf-ocr-LFDH6DFD.js +22 -0
- package/dist/pdf-ocr-SFIWMJQL.cjs +19 -0
- package/dist/{pdf-ocr-YFNUYBYJ.cjs.map → pdf-ocr-SFIWMJQL.cjs.map} +1 -1
- package/dist/{profile-io-ULK73H2G.js → profile-io-UP7H2J6I.js} +3 -3
- package/dist/{rasterize-FG3NX3GA.js → rasterize-XBCDG4MD.js} +3 -3
- package/dist/{redact-doc-NMKTKG24.js → redact-doc-CJ6W6YNR.js} +11 -11
- package/dist/{render-GQUUGPOJ.js → render-K5UDHXRI.js} +7 -7
- package/dist/seal-YCK6TM5I.js +10 -0
- package/dist/{setup-PRBHD7JI.js → setup-S66RLBBM.js} +3 -3
- package/dist/visual-S5ZNFWFH.js +20 -0
- package/dist/{watch-LFSXNO2B.js → watch-PB7IOD73.js} +12 -12
- package/package.json +1 -1
- package/dist/chunk-DQ2YGTRS.js.map +0 -1
- package/dist/chunk-EYLEVRHT.cjs.map +0 -1
- package/dist/chunk-QWOZRYUA.js.map +0 -1
- package/dist/chunk-Y5OSPKBU.js.map +0 -1
- package/dist/chunks-J46DCTUC.js +0 -10
- package/dist/pdf-ocr-364WQ5TY.js +0 -18
- package/dist/pdf-ocr-4MZELYCR.js +0 -22
- package/dist/pdf-ocr-YFNUYBYJ.cjs +0 -19
- package/dist/seal-EVHTG5GH.js +0 -10
- package/dist/visual-TCIR6MOG.js +0 -20
- /package/dist/{-FLYHAUQ6.js.map → -QHQ2QKM7.js.map} +0 -0
- /package/dist/{chunk-SM42XSI3.js.map → chunk-42XYVZ2B.js.map} +0 -0
- /package/dist/{chunk-CLAIAXMX.js.map → chunk-6HIDMA5O.js.map} +0 -0
- /package/dist/{chunk-OON4IJU2.js.map → chunk-75INFYVC.js.map} +0 -0
- /package/dist/{chunk-Z2OOYQ4I.js.map → chunk-7ITWGPNB.js.map} +0 -0
- /package/dist/{chunk-INZGI6PI.js.map → chunk-AINZICPE.js.map} +0 -0
- /package/dist/{chunk-3O4YC67B.js.map → chunk-DBFAQJCX.js.map} +0 -0
- /package/dist/{chunk-F6N7CDB7.js.map → chunk-E5L6DUOE.js.map} +0 -0
- /package/dist/{chunk-UDODNSDU.js.map → chunk-F5PISJEI.js.map} +0 -0
- /package/dist/{chunk-TC6DQLYN.js.map → chunk-FU3SCGE7.js.map} +0 -0
- /package/dist/{chunk-AQ5GIBBH.js.map → chunk-G6G25HUO.js.map} +0 -0
- /package/dist/{chunk-VIFY6DJZ.js.map → chunk-I4HF4UCA.js.map} +0 -0
- /package/dist/{chunk-YDIVY65W.js.map → chunk-JDVOYDIA.js.map} +0 -0
- /package/dist/{chunk-RYRUQ73F.js.map → chunk-LO5A36FU.js.map} +0 -0
- /package/dist/{chunk-AMXIYV73.js.map → chunk-LQSF4JSV.js.map} +0 -0
- /package/dist/{chunk-46PYORID.js.map → chunk-N47I6OS7.js.map} +0 -0
- /package/dist/{chunk-GK4QLKNT.js.map → chunk-PALYDA3M.js.map} +0 -0
- /package/dist/{chunk-4VM6BT4W.js.map → chunk-TYYKK5DX.js.map} +0 -0
- /package/dist/{chunk-OWLDTF5Q.js.map → chunk-WINHSKFD.js.map} +0 -0
- /package/dist/{chunk-X6WXU4LA.js.map → chunk-ZMGWKGSC.js.map} +0 -0
- /package/dist/{chunks-J46DCTUC.js.map → chunks-BJRBKGKZ.js.map} +0 -0
- /package/dist/{formula-Z5UPXBQM.js.map → formula-KHPAZKOK.js.map} +0 -0
- /package/dist/{formula-2YYGN7UE.js.map → formula-XAPMN6HX.js.map} +0 -0
- /package/dist/{image-ocr-IMLFZ2JC.js.map → image-ocr-N5LAIHRV.js.map} +0 -0
- /package/dist/{image-ocr-23R7RVHP.js.map → image-ocr-RNPHQ4C2.js.map} +0 -0
- /package/dist/{model-bundle-GTSRH2DY.js.map → model-bundle-XP4AHFLT.js.map} +0 -0
- /package/dist/{models-2J3NS7G2.js.map → models-AD2KAUNC.js.map} +0 -0
- /package/dist/{parse-worker-v2-VO5UY3MP.js.map → parse-worker-v2-7UHOQ2TK.js.map} +0 -0
- /package/dist/{parser-JVUZ7EEV.js.map → parser-2RN5WNPJ.js.map} +0 -0
- /package/dist/{parser-FXGAKPUI.js.map → parser-5WGRQKPI.js.map} +0 -0
- /package/dist/{pdf-ocr-364WQ5TY.js.map → pdf-ocr-KHY3P4EP.js.map} +0 -0
- /package/dist/{pdf-ocr-4MZELYCR.js.map → pdf-ocr-LFDH6DFD.js.map} +0 -0
- /package/dist/{profile-io-ULK73H2G.js.map → profile-io-UP7H2J6I.js.map} +0 -0
- /package/dist/{rasterize-FG3NX3GA.js.map → rasterize-XBCDG4MD.js.map} +0 -0
- /package/dist/{redact-doc-NMKTKG24.js.map → redact-doc-CJ6W6YNR.js.map} +0 -0
- /package/dist/{render-GQUUGPOJ.js.map → render-K5UDHXRI.js.map} +0 -0
- /package/dist/{seal-EVHTG5GH.js.map → seal-YCK6TM5I.js.map} +0 -0
- /package/dist/{setup-PRBHD7JI.js.map → setup-S66RLBBM.js.map} +0 -0
- /package/dist/{visual-TCIR6MOG.js.map → visual-S5ZNFWFH.js.map} +0 -0
- /package/dist/{watch-LFSXNO2B.js.map → watch-PB7IOD73.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.20 검증](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.20 · 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.
|
|
109
|
+
| PDF 글 | 744쌍 | 글자 재현율 **99.85%** · 정확도 **99.64%** · 읽기 순서 **99.23%** · 어절 F1 **99.00%** |
|
|
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.20 배포 측정에서 기본값 종합 **0.963**, OCR 끔 **0.939**입니다. [옵션별 결과와 재현 방법](docs/benchmarks.md#pdf--markdown--opendataloader-bench)
|
|
117
117
|
|
|
118
118
|
## 최근 업데이트
|
|
119
119
|
|
|
120
|
-
최신 배포: **[4.21.
|
|
120
|
+
최신 배포: **[4.21.20](https://github.com/chrisryugj/kordoc/releases/tag/v4.21.20)** · 2026-10-11
|
|
121
121
|
|
|
122
122
|
| 버전 | 주요 변경 |
|
|
123
123
|
| --- | --- |
|
|
124
|
+
| 4.21.20 | PDF 괘선 없는 표 칸의 어절 가운데 꺾임을 붙여 씀("남⏎편이") · 채우기·패치 서식 보존(바뀐 문단만 줄 배치 캐시 삭제·강조 표지·균등 띄어쓰기·라벨 칸 방향) (PDF 어절 F1 98.987 → 98.998%) |
|
|
124
125
|
| 4.21.19 | PDF 위아래로 쌓인 표와 사이 글줄을 한 표로 묶던 괘선 격자 버리기 — 지역 머리·각주가 제 표와 떨어지던 것 (PDF 읽기 순서 99.16 → 99.23%) |
|
|
125
126
|
| 4.21.18 | 쪽 넘김 문단 잇기도 줄 끝 공백 글리프를 어절 경계로 — "지원⏎활동이"·"계정⏎정보를" 을 띄워 씀 (PDF 어절 F1 98.986 → 98.987%, 5문서 상승) |
|
|
126
127
|
| 4.21.17 | PDF 공백 없는 꽉 찬 줄 끝 + 영문 괄호 — "공적개발원조⏎(ODA)"·"하네스⏎(safety …)" 를 붙여 씀 (PDF 어절 F1 98.98 → 98.99%) |
|
|
@@ -54,17 +54,17 @@ import {
|
|
|
54
54
|
unknownFontWarnings,
|
|
55
55
|
usesGaejosikMunche,
|
|
56
56
|
validateHwpx
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-BLKAJD2G.js";
|
|
58
58
|
import {
|
|
59
59
|
blocksToPages
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-FU3SCGE7.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-KBL24ZCP.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-G6G25HUO.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-N47I6OS7.js";
|
|
101
101
|
import "./chunk-7FCNOKOR.js";
|
|
102
|
-
import "./chunk-
|
|
102
|
+
import "./chunk-ZMGWKGSC.js";
|
|
103
103
|
import "./chunk-VQFA55IC.js";
|
|
104
|
-
import "./chunk-
|
|
104
|
+
import "./chunk-PALYDA3M.js";
|
|
105
105
|
import {
|
|
106
106
|
blocksToMarkdown,
|
|
107
107
|
flattenLayoutTables,
|
|
108
108
|
hasStructuredCellContent
|
|
109
|
-
} from "./chunk-
|
|
110
|
-
import "./chunk-
|
|
109
|
+
} from "./chunk-LO5A36FU.js";
|
|
110
|
+
import "./chunk-LQSF4JSV.js";
|
|
111
111
|
import {
|
|
112
112
|
VERSION
|
|
113
|
-
} from "./chunk-
|
|
113
|
+
} from "./chunk-7ITWGPNB.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=-QHQ2QKM7.js.map
|
|
@@ -10,10 +10,10 @@ var _chunkTK3FDAEEcjs = require('./chunk-TK3FDAEE.cjs');
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkMOT7WOP5cjs = require('./chunk-MOT7WOP5.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _chunkM37GOXT5cjs = require('./chunk-M37GOXT5.cjs');
|
|
17
17
|
|
|
18
18
|
// src/ocr/ruling-lines.ts
|
|
19
19
|
var INK_LUMA_MAX = 205;
|
|
@@ -1415,7 +1415,7 @@ var OcrEngine = class _OcrEngine {
|
|
|
1415
1415
|
]);
|
|
1416
1416
|
const sharpAny = sharpModRaw;
|
|
1417
1417
|
const sharpMod = typeof sharpAny === "function" ? sharpAny : _nullishCoalesce(sharpAny.default, () => ( sharpAny));
|
|
1418
|
-
const dir =
|
|
1418
|
+
const dir = _chunkMOT7WOP5cjs.getOcrModelsDir.call(void 0, );
|
|
1419
1419
|
const sessionOpts = {
|
|
1420
1420
|
graphOptimizationLevel: "all",
|
|
1421
1421
|
executionProviders: ["cpu"],
|
|
@@ -1423,11 +1423,11 @@ var OcrEngine = class _OcrEngine {
|
|
|
1423
1423
|
// paddle2onnx 변환 잔여물 W 로그 폭주 억제
|
|
1424
1424
|
};
|
|
1425
1425
|
const [det, rec, dictYml] = await Promise.all([
|
|
1426
|
-
ortMod.InferenceSession.create(_path.join.call(void 0, dir,
|
|
1427
|
-
ortMod.InferenceSession.create(_path.join.call(void 0, dir,
|
|
1428
|
-
_promises.readFile.call(void 0, _path.join.call(void 0, dir,
|
|
1426
|
+
ortMod.InferenceSession.create(_path.join.call(void 0, dir, _chunkMOT7WOP5cjs.OCR_DET_MODEL.filename), sessionOpts),
|
|
1427
|
+
ortMod.InferenceSession.create(_path.join.call(void 0, dir, _chunkMOT7WOP5cjs.OCR_REC_MODEL.filename), sessionOpts),
|
|
1428
|
+
_promises.readFile.call(void 0, _path.join.call(void 0, dir, _chunkMOT7WOP5cjs.OCR_REC_DICT.filename), "utf-8")
|
|
1429
1429
|
]);
|
|
1430
|
-
const dict =
|
|
1430
|
+
const dict = _chunkMOT7WOP5cjs.parseCharacterDict.call(void 0, dictYml);
|
|
1431
1431
|
if (dict.length === 0) throw new Error("OCR \uC0AC\uC804 \uD30C\uC2F1 \uC2E4\uD328 \u2014 \uBAA8\uB378 \uCE90\uC2DC\uB97C \uC0AD\uC81C \uD6C4 \uC7AC\uB2E4\uC6B4\uB85C\uB4DC\uD558\uC138\uC694");
|
|
1432
1432
|
return new _OcrEngine({ det, rec, dict, ort: ortMod, sharp: sharpMod });
|
|
1433
1433
|
}
|
|
@@ -1755,7 +1755,7 @@ async function tryImport(name, loader) {
|
|
|
1755
1755
|
return await loader();
|
|
1756
1756
|
} catch (e) {
|
|
1757
1757
|
throw new Error(
|
|
1758
|
-
`\uB0B4\uC7A5 OCR \uC744 \uC0AC\uC6A9\uD558\uB824\uBA74 optional dependency '${name}' \uC774 \uD544\uC694\uD569\uB2C8\uB2E4. \`npm install ${name}\` \uD6C4 \uB2E4\uC2DC \uC2E4\uD589\uD558\uC138\uC694.${
|
|
1758
|
+
`\uB0B4\uC7A5 OCR \uC744 \uC0AC\uC6A9\uD558\uB824\uBA74 optional dependency '${name}' \uC774 \uD544\uC694\uD569\uB2C8\uB2E4. \`npm install ${name}\` \uD6C4 \uB2E4\uC2DC \uC2E4\uD589\uD558\uC138\uC694.${_chunkM37GOXT5cjs.OPTIONAL_DEP_INSTALL_HINT} \uC6D0\uC778: ${e.message}`
|
|
1759
1759
|
);
|
|
1760
1760
|
}
|
|
1761
1761
|
}
|
|
@@ -1869,7 +1869,7 @@ async function runPdfOcr(buffer, targets, mode, warnings, onProgress, detectTabl
|
|
|
1869
1869
|
() => Promise.resolve().then(() => _interopRequireWildcard(require("@hyzyla/pdfium")))
|
|
1870
1870
|
);
|
|
1871
1871
|
if (mode === "builtin") {
|
|
1872
|
-
await
|
|
1872
|
+
await _chunkMOT7WOP5cjs.ensureOcrModels.call(void 0, (p) => {
|
|
1873
1873
|
if (p.phase === "download" && p.downloaded === 0) {
|
|
1874
1874
|
process.stderr.write(`[kordoc-ocr] ${p.spec.name} \uB2E4\uC6B4\uB85C\uB4DC \uC911 (~${p.spec.sizeMb}MB)...
|
|
1875
1875
|
`);
|
|
@@ -1950,7 +1950,7 @@ async function ocrOnePage(page, pageNo, mode, engine, warnings, detectTables, ve
|
|
|
1950
1950
|
const x1 = r.x1 * scale - 2, x2 = r.x2 * scale + 2, y1 = (pdfH - r.y2) * scale - 2, y2 = (pdfH - r.y1) * scale + 2;
|
|
1951
1951
|
const columnRules = _nullishCoalesce(_optionalChain([ruling, 'optionalAccess', _21 => _21.verticals, 'access', _22 => _22.filter, 'call', _23 => _23((s) => Math.min(s.x1, s.x2) >= x1 && Math.max(s.x1, s.x2) <= x2 && Math.min(s.y1, s.y2) >= y1 && Math.max(s.y1, s.y2) <= y2), 'access', _24 => _24.length]), () => ( 0));
|
|
1952
1952
|
if (columnRules < 2) {
|
|
1953
|
-
for (const b of blocks) if (b.type === "table")
|
|
1953
|
+
for (const b of blocks) if (b.type === "table") _chunkMOT7WOP5cjs.UNRULED_REGION_TABLES.add(b);
|
|
1954
1954
|
}
|
|
1955
1955
|
return blocks;
|
|
1956
1956
|
});
|
|
@@ -2083,14 +2083,14 @@ function ocrItemsToBlocks(items, pageNumber, pdfW, pdfH, scale, extraLines, dete
|
|
|
2083
2083
|
...xs[i].space ? { hasSpaceBefore: true } : {}
|
|
2084
2084
|
};
|
|
2085
2085
|
});
|
|
2086
|
-
return
|
|
2086
|
+
return _chunkMOT7WOP5cjs.extractPageBlocksWithLines.call(void 0, norm, pageNumber, opList, pdfW, pdfH, extraLines, detectTables);
|
|
2087
2087
|
}
|
|
2088
2088
|
async function tryImport2(name, loader) {
|
|
2089
2089
|
try {
|
|
2090
2090
|
return await loader();
|
|
2091
2091
|
} catch (e) {
|
|
2092
2092
|
throw new Error(
|
|
2093
|
-
`OCR \uC744 \uC0AC\uC6A9\uD558\uB824\uBA74 optional dependency '${name}' \uC774 \uD544\uC694\uD569\uB2C8\uB2E4. \`npm install ${name}\` \uD6C4 \uB2E4\uC2DC \uC2E4\uD589\uD558\uC138\uC694.${
|
|
2093
|
+
`OCR \uC744 \uC0AC\uC6A9\uD558\uB824\uBA74 optional dependency '${name}' \uC774 \uD544\uC694\uD569\uB2C8\uB2E4. \`npm install ${name}\` \uD6C4 \uB2E4\uC2DC \uC2E4\uD589\uD558\uC138\uC694.${_chunkM37GOXT5cjs.OPTIONAL_DEP_INSTALL_HINT} \uC6D0\uC778: ${e.message}`
|
|
2094
2094
|
);
|
|
2095
2095
|
}
|
|
2096
2096
|
}
|
|
@@ -2130,4 +2130,4 @@ function bgraToRgba(bgra) {
|
|
|
2130
2130
|
|
|
2131
2131
|
|
|
2132
2132
|
exports.getOcrEngine = getOcrEngine; exports.detectRulingLines = detectRulingLines; exports.rulingToPdfLines = rulingToPdfLines; exports.deskewPage = deskewPage; exports.MAX_OCR_PIXELS = MAX_OCR_PIXELS; exports.runPdfOcr = runPdfOcr; exports.groupOcrLines = groupOcrLines; exports.ocrItemsToBlocks = ocrItemsToBlocks;
|
|
2133
|
-
//# sourceMappingURL=chunk-
|
|
2133
|
+
//# sourceMappingURL=chunk-2FALZL3E.cjs.map
|