kordoc 3.8.2 → 3.8.3
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 +7 -0
- package/dist/{-FEHSMPVO.js → -F5IXBLQQ.js} +3 -3
- package/dist/{chunk-553VTUVP.js → chunk-7J73IGMK.js} +2 -2
- package/dist/{chunk-DP37KF2X.js → chunk-B27QMVL7.js} +39 -4
- package/dist/chunk-B27QMVL7.js.map +1 -0
- package/dist/{chunk-JHZUFBUV.js → chunk-KIWKBRCJ.js} +2 -2
- package/dist/{chunk-YBPNKFJW.cjs → chunk-XL6O3VAY.cjs} +2 -2
- package/dist/{chunk-YBPNKFJW.cjs.map → chunk-XL6O3VAY.cjs.map} +1 -1
- package/dist/cli.js +4 -4
- package/dist/index.cjs +251 -216
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +38 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +3 -3
- package/dist/{parser-KNQDRLZQ.js → parser-6GP535ZB.js} +153 -7
- package/dist/parser-6GP535ZB.js.map +1 -0
- package/dist/{parser-NR2TYGO3.js → parser-TM3AS25T.js} +153 -7
- package/dist/parser-TM3AS25T.js.map +1 -0
- package/dist/{parser-NS4ZPD7B.cjs → parser-WWKYMRGJ.cjs} +177 -31
- package/dist/parser-WWKYMRGJ.cjs.map +1 -0
- package/dist/{watch-XCWADLPU.js → watch-HETTZ7BO.js} +3 -3
- package/package.json +2 -1
- package/dist/chunk-DP37KF2X.js.map +0 -1
- package/dist/parser-KNQDRLZQ.js.map +0 -1
- package/dist/parser-NR2TYGO3.js.map +0 -1
- package/dist/parser-NS4ZPD7B.cjs.map +0 -1
- /package/dist/{-FEHSMPVO.js.map → -F5IXBLQQ.js.map} +0 -0
- /package/dist/{chunk-553VTUVP.js.map → chunk-7J73IGMK.js.map} +0 -0
- /package/dist/{chunk-JHZUFBUV.js.map → chunk-KIWKBRCJ.js.map} +0 -0
- /package/dist/{watch-XCWADLPU.js.map → watch-HETTZ7BO.js.map} +0 -0
package/README.md
CHANGED
|
@@ -68,6 +68,13 @@ Windows 도 자동으로 `cmd /c npx` 래핑. 수동 JSON 편집 불필요. 재
|
|
|
68
68
|
|
|
69
69
|
---
|
|
70
70
|
|
|
71
|
+
## v3.8.3 변경사항
|
|
72
|
+
|
|
73
|
+
- **📰 2단 조판 문서(속기록류) 읽기 복원**: 2단 본문이 2열 표로 흡수돼 좌우 단의 문장이 뒤섞이던 버그 수정 — 단을 분리해 올바른 순서로 읽습니다.
|
|
74
|
+
- **🛡️ 손상 PDF 처리 시간 폭주 가드**: 좌표가 오염된 비정상 PDF에서 파싱이 144초까지 걸리던 것을 2초대로 차단합니다 (정상 문서 출력 무변화).
|
|
75
|
+
- **📗 한셀(HCell)로 저장한 XLSX 복구**: "시트가 없습니다"로 실패하던 한셀 저장 파일이 정상 파싱됩니다.
|
|
76
|
+
- **📋 HML 문서의 표 소실 수정**: 문단에 앵커된 표가 통째로 빠지고 중첩표 내용이 사라지던 버그 수정 — 표 텍스트 회수율 0.23 → 0.99.
|
|
77
|
+
|
|
71
78
|
## v3.8.2 변경사항
|
|
72
79
|
|
|
73
80
|
- **📐 변환(축소/플립) 깔린 PDF의 괘선 표 복구**: 성과계획서류처럼 콘텐츠에 변환 행렬이 깔린 문서에서 표 감지가 통째로 실패하던 버그 수정 — 2줄 머리글 셀도 rowspan 병합으로 정상 복원됩니다.
|
|
@@ -41,7 +41,7 @@ import {
|
|
|
41
41
|
scanSectionXml,
|
|
42
42
|
simulateWrap,
|
|
43
43
|
simulateWrapKeepWord
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-B27QMVL7.js";
|
|
45
45
|
import {
|
|
46
46
|
detectFormat,
|
|
47
47
|
detectOle2Format,
|
|
@@ -54,7 +54,7 @@ import {
|
|
|
54
54
|
import {
|
|
55
55
|
VERSION,
|
|
56
56
|
blocksToMarkdown
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-KIWKBRCJ.js";
|
|
58
58
|
import "./chunk-MOL7MDBG.js";
|
|
59
59
|
export {
|
|
60
60
|
HwpxSession,
|
|
@@ -108,4 +108,4 @@ export {
|
|
|
108
108
|
simulateWrap,
|
|
109
109
|
simulateWrapKeepWord
|
|
110
110
|
};
|
|
111
|
-
//# sourceMappingURL=-
|
|
111
|
+
//# sourceMappingURL=-F5IXBLQQ.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/utils.ts
|
|
2
|
-
var VERSION = true ? "3.8.
|
|
2
|
+
var VERSION = true ? "3.8.3" : "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;
|
|
@@ -641,4 +641,4 @@ export {
|
|
|
641
641
|
HEADING_RATIO_H2,
|
|
642
642
|
HEADING_RATIO_H3
|
|
643
643
|
};
|
|
644
|
-
//# sourceMappingURL=chunk-
|
|
644
|
+
//# sourceMappingURL=chunk-7J73IGMK.js.map
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
sanitizeHref,
|
|
26
26
|
stripDtd,
|
|
27
27
|
toArrayBuffer
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-KIWKBRCJ.js";
|
|
29
29
|
import {
|
|
30
30
|
parsePageRange
|
|
31
31
|
} from "./chunk-MOL7MDBG.js";
|
|
@@ -16581,6 +16581,9 @@ function getElements(parent, tagName) {
|
|
|
16581
16581
|
const nodes = parent.getElementsByTagName(tagName);
|
|
16582
16582
|
const result = [];
|
|
16583
16583
|
for (let i = 0; i < nodes.length; i++) result.push(nodes[i]);
|
|
16584
|
+
if (result.length > 0) return result;
|
|
16585
|
+
const nsNodes = parent.getElementsByTagNameNS?.("*", tagName);
|
|
16586
|
+
if (nsNodes) for (let i = 0; i < nsNodes.length; i++) result.push(nsNodes[i]);
|
|
16584
16587
|
return result;
|
|
16585
16588
|
}
|
|
16586
16589
|
function getTextContent(el) {
|
|
@@ -18404,6 +18407,7 @@ function walkContent(node, blocks, paraShapeMap, sectionNum, warnings, inHeaderF
|
|
|
18404
18407
|
if (tag === "P") {
|
|
18405
18408
|
if (!inHeaderFooter) {
|
|
18406
18409
|
parseParagraph3(el, blocks, paraShapeMap, sectionNum);
|
|
18410
|
+
walkTablesInP(el, blocks, paraShapeMap, sectionNum, warnings);
|
|
18407
18411
|
}
|
|
18408
18412
|
continue;
|
|
18409
18413
|
}
|
|
@@ -18420,6 +18424,21 @@ function walkContent(node, blocks, paraShapeMap, sectionNum, warnings, inHeaderF
|
|
|
18420
18424
|
walkContent(el, blocks, paraShapeMap, sectionNum, warnings, inHeaderFooter, depth + 1);
|
|
18421
18425
|
}
|
|
18422
18426
|
}
|
|
18427
|
+
function walkTablesInP(node, blocks, paraShapeMap, sectionNum, warnings, depth = 0) {
|
|
18428
|
+
if (depth > MAX_XML_DEPTH2) return;
|
|
18429
|
+
const children = node.childNodes;
|
|
18430
|
+
for (let i = 0; i < children.length; i++) {
|
|
18431
|
+
const el = children[i];
|
|
18432
|
+
if (el.nodeType !== 1) continue;
|
|
18433
|
+
const tag = localName(el);
|
|
18434
|
+
if (tag === "TABLE") {
|
|
18435
|
+
parseTable2(el, blocks, paraShapeMap, sectionNum, warnings);
|
|
18436
|
+
continue;
|
|
18437
|
+
}
|
|
18438
|
+
if (tag === "FOOTNOTE" || tag === "ENDNOTE" || tag === "HEADER" || tag === "FOOTER") continue;
|
|
18439
|
+
walkTablesInP(el, blocks, paraShapeMap, sectionNum, warnings, depth + 1);
|
|
18440
|
+
}
|
|
18441
|
+
}
|
|
18423
18442
|
function parseParagraph3(el, blocks, paraShapeMap, sectionNum) {
|
|
18424
18443
|
const paraShapeId = el.getAttribute("ParaShape") ?? "";
|
|
18425
18444
|
const shapeInfo = paraShapeMap.get(paraShapeId);
|
|
@@ -18515,13 +18534,29 @@ function collectCellText(node, parts, depth) {
|
|
|
18515
18534
|
if (tag === "P") {
|
|
18516
18535
|
const t = extractParagraphText(el);
|
|
18517
18536
|
if (t) parts.push(t);
|
|
18537
|
+
collectNestedTableText(el, parts, depth + 1);
|
|
18518
18538
|
} else if (tag === "TABLE") {
|
|
18519
|
-
|
|
18539
|
+
collectCellText(el, parts, depth + 1);
|
|
18520
18540
|
} else {
|
|
18521
18541
|
collectCellText(el, parts, depth + 1);
|
|
18522
18542
|
}
|
|
18523
18543
|
}
|
|
18524
18544
|
}
|
|
18545
|
+
function collectNestedTableText(node, parts, depth) {
|
|
18546
|
+
if (depth > 20) return;
|
|
18547
|
+
const children = node.childNodes;
|
|
18548
|
+
for (let i = 0; i < children.length; i++) {
|
|
18549
|
+
const el = children[i];
|
|
18550
|
+
if (el.nodeType !== 1) continue;
|
|
18551
|
+
const tag = localName(el);
|
|
18552
|
+
if (tag === "TABLE") {
|
|
18553
|
+
collectCellText(el, parts, depth + 1);
|
|
18554
|
+
continue;
|
|
18555
|
+
}
|
|
18556
|
+
if (tag === "FOOTNOTE" || tag === "ENDNOTE" || tag === "HEADER" || tag === "FOOTER") continue;
|
|
18557
|
+
collectNestedTableText(el, parts, depth + 1);
|
|
18558
|
+
}
|
|
18559
|
+
}
|
|
18525
18560
|
function localName(el) {
|
|
18526
18561
|
return (el.tagName || el.localName || "").replace(/^[^:]+:/, "");
|
|
18527
18562
|
}
|
|
@@ -24297,7 +24332,7 @@ async function parseHwp(buffer, options) {
|
|
|
24297
24332
|
async function parsePdf(buffer, options) {
|
|
24298
24333
|
let parsePdfDocument;
|
|
24299
24334
|
try {
|
|
24300
|
-
const mod = await import("./parser-
|
|
24335
|
+
const mod = await import("./parser-6GP535ZB.js");
|
|
24301
24336
|
parsePdfDocument = mod.parsePdfDocument;
|
|
24302
24337
|
} catch {
|
|
24303
24338
|
return {
|
|
@@ -24432,4 +24467,4 @@ export {
|
|
|
24432
24467
|
parseHwpml,
|
|
24433
24468
|
fillForm
|
|
24434
24469
|
};
|
|
24435
|
-
//# sourceMappingURL=chunk-
|
|
24470
|
+
//# sourceMappingURL=chunk-B27QMVL7.js.map
|