kordoc 4.2.1 → 4.2.2
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 +5 -0
- package/dist/{-BSO3CDQQ.js → -NFHVGTVM.js} +9 -9
- package/dist/{chunk-Z6LPEWIX.js → chunk-2L7MIKOM.js} +3 -3
- package/dist/chunk-2L7MIKOM.js.map +1 -0
- package/dist/{chunk-35U3MVA2.cjs → chunk-DLFZAU4X.cjs} +3 -3
- package/dist/{chunk-35U3MVA2.cjs.map → chunk-DLFZAU4X.cjs.map} +1 -1
- package/dist/{chunk-QSB2RTX5.js → chunk-DSL6EVFJ.js} +6 -4
- package/dist/chunk-DSL6EVFJ.js.map +1 -0
- package/dist/{chunk-R22KDUKW.cjs → chunk-EFF2JPPA.cjs} +9 -9
- package/dist/{chunk-R22KDUKW.cjs.map → chunk-EFF2JPPA.cjs.map} +1 -1
- package/dist/{chunk-BHILWIE6.js → chunk-FHYLLKIP.js} +3 -3
- package/dist/chunk-FHYLLKIP.js.map +1 -0
- package/dist/{chunk-PLTG6ZRF.js → chunk-GHMVNMUN.js} +3 -3
- package/dist/{chunk-HTCKGSSW.js → chunk-GUYIXVV7.js} +3 -3
- package/dist/chunk-GUYIXVV7.js.map +1 -0
- package/dist/{chunk-7IMNZ2BL.js → chunk-IXHBRMDB.js} +6 -4
- package/dist/chunk-IXHBRMDB.js.map +1 -0
- package/dist/{chunk-RBUBZ2TA.cjs → chunk-KKZATKQW.cjs} +3 -3
- package/dist/chunk-KKZATKQW.cjs.map +1 -0
- package/dist/{chunk-QOC7S5VE.js → chunk-L5B7PQOP.js} +2 -2
- package/dist/{chunk-WJSGYVFD.js → chunk-LUJN3VFB.js} +3 -3
- package/dist/{chunk-KRAYUNFM.js → chunk-MOOVF6CT.js} +2 -2
- package/dist/{chunk-BKBYTPSL.js → chunk-MYD3QLBL.js} +2 -2
- package/dist/{chunk-L5JWKIOT.js → chunk-OLDIDBJ2.js} +3 -3
- package/dist/{chunk-F5ECB53I.js → chunk-T4AWY45Q.js} +2 -2
- package/dist/{chunk-WWYAYZ5U.js → chunk-TXYQJXOV.js} +48 -14
- package/dist/chunk-TXYQJXOV.js.map +1 -0
- package/dist/{chunk-LSXXGUWA.cjs → chunk-WMU2KJHF.cjs} +8 -6
- package/dist/chunk-WMU2KJHF.cjs.map +1 -0
- package/dist/{chunk-EZHWPKCH.js → chunk-X77U36TV.js} +2 -2
- package/dist/{chunk-54WVWWT4.js → chunk-ZF7QL4IY.js} +1 -1
- package/dist/chunk-ZF7QL4IY.js.map +1 -0
- package/dist/chunks-N4CWHTJI.js +10 -0
- package/dist/cli.js +17 -17
- package/dist/{image-ocr-N5Z32R4U.cjs → image-ocr-3AFBDDJI.cjs} +9 -9
- package/dist/{image-ocr-N5Z32R4U.cjs.map → image-ocr-3AFBDDJI.cjs.map} +1 -1
- package/dist/{image-ocr-SLUEM3FA.js → image-ocr-S4REURLR.js} +5 -5
- package/dist/{image-ocr-DALT7PFQ.js → image-ocr-TGHAMIQL.js} +4 -4
- package/dist/index.cjs +446 -412
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +44 -10
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +15 -15
- package/dist/{parser-F5KY3YSD.js → parser-C3APVZGT.js} +6 -6
- package/dist/{parser-33TK5SMH.js → parser-KMC4YOZH.js} +5 -5
- package/dist/{parser-R4CXIXRN.cjs → parser-MRM6WICO.cjs} +24 -24
- package/dist/{parser-R4CXIXRN.cjs.map → parser-MRM6WICO.cjs.map} +1 -1
- package/dist/pdf-ocr-5BRMIJAT.cjs +13 -0
- package/dist/{pdf-ocr-WGWZDHMV.cjs.map → pdf-ocr-5BRMIJAT.cjs.map} +1 -1
- package/dist/pdf-ocr-UDTEQEWA.js +12 -0
- package/dist/{pdf-ocr-BXQZKU3N.js → pdf-ocr-UURMV6FD.js} +5 -5
- package/dist/{profile-io-CBYHKLFU.js → profile-io-RLQ62KS5.js} +3 -3
- package/dist/{rasterize-AWMM2CSW.js → rasterize-LBABF2WI.js} +2 -2
- package/dist/render-CYXQEHS7.js +10 -0
- package/dist/seal-SV6PFFYU.js +10 -0
- package/dist/{watch-HKXCISVO.js → watch-XEUEGOXW.js} +9 -9
- package/package.json +1 -1
- package/dist/chunk-54WVWWT4.js.map +0 -1
- package/dist/chunk-7IMNZ2BL.js.map +0 -1
- package/dist/chunk-BHILWIE6.js.map +0 -1
- package/dist/chunk-HTCKGSSW.js.map +0 -1
- package/dist/chunk-LSXXGUWA.cjs.map +0 -1
- package/dist/chunk-QSB2RTX5.js.map +0 -1
- package/dist/chunk-RBUBZ2TA.cjs.map +0 -1
- package/dist/chunk-WWYAYZ5U.js.map +0 -1
- package/dist/chunk-Z6LPEWIX.js.map +0 -1
- package/dist/chunks-LRFS5NJE.js +0 -10
- package/dist/pdf-ocr-34F5AQKK.js +0 -12
- package/dist/pdf-ocr-WGWZDHMV.cjs +0 -13
- package/dist/render-Y3IE2FIK.js +0 -10
- package/dist/seal-7RXFCRMT.js +0 -10
- /package/dist/{-BSO3CDQQ.js.map → -NFHVGTVM.js.map} +0 -0
- /package/dist/{chunk-PLTG6ZRF.js.map → chunk-GHMVNMUN.js.map} +0 -0
- /package/dist/{chunk-QOC7S5VE.js.map → chunk-L5B7PQOP.js.map} +0 -0
- /package/dist/{chunk-WJSGYVFD.js.map → chunk-LUJN3VFB.js.map} +0 -0
- /package/dist/{chunk-KRAYUNFM.js.map → chunk-MOOVF6CT.js.map} +0 -0
- /package/dist/{chunk-BKBYTPSL.js.map → chunk-MYD3QLBL.js.map} +0 -0
- /package/dist/{chunk-L5JWKIOT.js.map → chunk-OLDIDBJ2.js.map} +0 -0
- /package/dist/{chunk-F5ECB53I.js.map → chunk-T4AWY45Q.js.map} +0 -0
- /package/dist/{chunk-EZHWPKCH.js.map → chunk-X77U36TV.js.map} +0 -0
- /package/dist/{chunks-LRFS5NJE.js.map → chunks-N4CWHTJI.js.map} +0 -0
- /package/dist/{image-ocr-SLUEM3FA.js.map → image-ocr-S4REURLR.js.map} +0 -0
- /package/dist/{image-ocr-DALT7PFQ.js.map → image-ocr-TGHAMIQL.js.map} +0 -0
- /package/dist/{parser-F5KY3YSD.js.map → parser-C3APVZGT.js.map} +0 -0
- /package/dist/{parser-33TK5SMH.js.map → parser-KMC4YOZH.js.map} +0 -0
- /package/dist/{pdf-ocr-34F5AQKK.js.map → pdf-ocr-UDTEQEWA.js.map} +0 -0
- /package/dist/{pdf-ocr-BXQZKU3N.js.map → pdf-ocr-UURMV6FD.js.map} +0 -0
- /package/dist/{profile-io-CBYHKLFU.js.map → profile-io-RLQ62KS5.js.map} +0 -0
- /package/dist/{rasterize-AWMM2CSW.js.map → rasterize-LBABF2WI.js.map} +0 -0
- /package/dist/{render-Y3IE2FIK.js.map → render-CYXQEHS7.js.map} +0 -0
- /package/dist/{seal-7RXFCRMT.js.map → seal-SV6PFFYU.js.map} +0 -0
- /package/dist/{watch-HKXCISVO.js.map → watch-XEUEGOXW.js.map} +0 -0
package/dist/index.d.cts
CHANGED
|
@@ -15,6 +15,7 @@ interface IRSpan {
|
|
|
15
15
|
text: string;
|
|
16
16
|
bold?: boolean;
|
|
17
17
|
italic?: boolean;
|
|
18
|
+
strike?: boolean;
|
|
18
19
|
code?: boolean;
|
|
19
20
|
}
|
|
20
21
|
interface IRBlock {
|
|
@@ -78,6 +79,8 @@ interface BoundingBox {
|
|
|
78
79
|
interface InlineStyle {
|
|
79
80
|
bold?: boolean;
|
|
80
81
|
italic?: boolean;
|
|
82
|
+
/** 취소선 — 법령 개정문 등의 삭제 표시. 판정은 취소선 모양 whitelist (비트만 믿으면 오탐) */
|
|
83
|
+
strike?: boolean;
|
|
81
84
|
fontSize?: number;
|
|
82
85
|
fontName?: string;
|
|
83
86
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ interface IRSpan {
|
|
|
15
15
|
text: string;
|
|
16
16
|
bold?: boolean;
|
|
17
17
|
italic?: boolean;
|
|
18
|
+
strike?: boolean;
|
|
18
19
|
code?: boolean;
|
|
19
20
|
}
|
|
20
21
|
interface IRBlock {
|
|
@@ -78,6 +79,8 @@ interface BoundingBox {
|
|
|
78
79
|
interface InlineStyle {
|
|
79
80
|
bold?: boolean;
|
|
80
81
|
italic?: boolean;
|
|
82
|
+
/** 취소선 — 법령 개정문 등의 삭제 표시. 판정은 취소선 모양 whitelist (비트만 믿으면 오탐) */
|
|
83
|
+
strike?: boolean;
|
|
81
84
|
fontSize?: number;
|
|
82
85
|
fontName?: string;
|
|
83
86
|
}
|
package/dist/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
flattenLayoutTables,
|
|
9
9
|
inlineImagesIntoMarkdown,
|
|
10
10
|
mapPuaText
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-IXHBRMDB.js";
|
|
12
12
|
import {
|
|
13
13
|
parsePageRange
|
|
14
14
|
} from "./chunk-GE43BE46.js";
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
sanitizeHref,
|
|
28
28
|
stripDtd,
|
|
29
29
|
toArrayBuffer
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-GUYIXVV7.js";
|
|
31
31
|
|
|
32
32
|
// src/index.ts
|
|
33
33
|
import { readFile } from "fs/promises";
|
|
@@ -408,7 +408,7 @@ function comResultToParseResult(pages, pageCount, warnings) {
|
|
|
408
408
|
|
|
409
409
|
// src/hwpx/parser-shared.ts
|
|
410
410
|
import { DOMParser } from "@xmldom/xmldom";
|
|
411
|
-
var MAX_DECOMPRESS_SIZE =
|
|
411
|
+
var MAX_DECOMPRESS_SIZE = 256 * 1024 * 1024;
|
|
412
412
|
var MAX_ZIP_ENTRIES = 500;
|
|
413
413
|
var ZipBombError = class extends KordocError {
|
|
414
414
|
constructor(message) {
|
|
@@ -465,6 +465,26 @@ function extractTextFromNode(node, depth = 0) {
|
|
|
465
465
|
}
|
|
466
466
|
|
|
467
467
|
// src/hwpx/styles.ts
|
|
468
|
+
function isRealStrikeShape(shape) {
|
|
469
|
+
switch (shape) {
|
|
470
|
+
case "SOLID":
|
|
471
|
+
case "DASH":
|
|
472
|
+
case "DOT":
|
|
473
|
+
case "DASH_DOT":
|
|
474
|
+
case "DASH_DOT_DOT":
|
|
475
|
+
case "LONG_DASH":
|
|
476
|
+
case "CIRCLE":
|
|
477
|
+
case "DOUBLE_SLIM":
|
|
478
|
+
case "SLIM_THICK":
|
|
479
|
+
case "THICK_SLIM":
|
|
480
|
+
case "SLIM_THICK_SLIM":
|
|
481
|
+
case "WAVE":
|
|
482
|
+
case "DOUBLE_WAVE":
|
|
483
|
+
return true;
|
|
484
|
+
default:
|
|
485
|
+
return false;
|
|
486
|
+
}
|
|
487
|
+
}
|
|
468
488
|
async function extractHwpxStyles(zip, decompressed) {
|
|
469
489
|
const result = {
|
|
470
490
|
charProperties: /* @__PURE__ */ new Map(),
|
|
@@ -529,6 +549,10 @@ function parseCharProperties(doc, map) {
|
|
|
529
549
|
const localTag = (k.tagName || "").replace(/^[^:]+:/, "");
|
|
530
550
|
if (localTag === "bold") prop.bold = true;
|
|
531
551
|
else if (localTag === "italic") prop.italic = true;
|
|
552
|
+
else if (localTag === "strikeout") {
|
|
553
|
+
const shape = k.getAttribute("shape") || "";
|
|
554
|
+
if (isRealStrikeShape(shape)) prop.strike = true;
|
|
555
|
+
}
|
|
532
556
|
}
|
|
533
557
|
const fontFaces = el.getElementsByTagName("*");
|
|
534
558
|
for (let j = 0; j < fontFaces.length; j++) {
|
|
@@ -2743,21 +2767,22 @@ function extractRunSpans(para2, ctx, mode, requireMixed) {
|
|
|
2743
2767
|
else {
|
|
2744
2768
|
if (cp?.bold) span.bold = true;
|
|
2745
2769
|
if (cp?.italic) span.italic = true;
|
|
2770
|
+
if (cp?.strike) span.strike = true;
|
|
2746
2771
|
}
|
|
2747
|
-
if (span.bold || span.italic || span.code) styled = true;
|
|
2772
|
+
if (span.bold || span.italic || span.strike || span.code) styled = true;
|
|
2748
2773
|
spans.push(span);
|
|
2749
2774
|
}
|
|
2750
2775
|
if (!styled || spans.length === 0) return null;
|
|
2751
2776
|
const merged = [];
|
|
2752
2777
|
for (const s of spans) {
|
|
2753
2778
|
const last = merged[merged.length - 1];
|
|
2754
|
-
if (last && !!last.bold === !!s.bold && !!last.italic === !!s.italic && !!last.code === !!s.code) {
|
|
2779
|
+
if (last && !!last.bold === !!s.bold && !!last.italic === !!s.italic && !!last.strike === !!s.strike && !!last.code === !!s.code) {
|
|
2755
2780
|
last.text += s.text;
|
|
2756
2781
|
} else {
|
|
2757
2782
|
merged.push(s);
|
|
2758
2783
|
}
|
|
2759
2784
|
}
|
|
2760
|
-
if (requireMixed && !merged.some((s) => !(s.bold || s.italic || s.code))) return null;
|
|
2785
|
+
if (requireMixed && !merged.some((s) => s.strike) && !merged.some((s) => !(s.bold || s.italic || s.code))) return null;
|
|
2761
2786
|
return merged;
|
|
2762
2787
|
}
|
|
2763
2788
|
function gongmunDepthFromIndent(para2, left, ctx) {
|
|
@@ -5149,7 +5174,10 @@ function parseParagraph(records, start, end, ctx) {
|
|
|
5149
5174
|
if (headingLevel > 0) block.level = headingLevel;
|
|
5150
5175
|
if (ctx.docInfo && charShapeIds.length > 0) {
|
|
5151
5176
|
const style = resolveCharStyle(charShapeIds, ctx.docInfo);
|
|
5152
|
-
if (style)
|
|
5177
|
+
if (style) {
|
|
5178
|
+
block.style = style;
|
|
5179
|
+
if (style.strike) block.text = headMarker ? `${headMarker} ~~${trimmed}~~` : `~~${trimmed}~~`;
|
|
5180
|
+
}
|
|
5153
5181
|
}
|
|
5154
5182
|
if (footnotes.length > 0) block.footnoteText = footnotes.join("; ");
|
|
5155
5183
|
blocks.push(block);
|
|
@@ -5540,7 +5568,13 @@ function resolveCharStyle(charShapeIds, docInfo) {
|
|
|
5540
5568
|
if (cs.fontSize > 0) style.fontSize = cs.fontSize / 10;
|
|
5541
5569
|
if (cs.attrFlags & 1) style.italic = true;
|
|
5542
5570
|
if (cs.attrFlags & 2) style.bold = true;
|
|
5543
|
-
|
|
5571
|
+
if (hasRealStrike(cs.attrFlags)) style.strike = true;
|
|
5572
|
+
return style.fontSize || style.bold || style.italic || style.strike ? style : void 0;
|
|
5573
|
+
}
|
|
5574
|
+
function hasRealStrike(attrFlags) {
|
|
5575
|
+
const strikeBits = attrFlags >> 18 & 7;
|
|
5576
|
+
const shapeId = attrFlags >> 26 & 15;
|
|
5577
|
+
return strikeBits !== 0 && shapeId <= 12;
|
|
5544
5578
|
}
|
|
5545
5579
|
|
|
5546
5580
|
// src/hwp3/parser.ts
|
|
@@ -30463,7 +30497,7 @@ async function parse(input, options) {
|
|
|
30463
30497
|
}
|
|
30464
30498
|
async function parseImage(buffer, options) {
|
|
30465
30499
|
try {
|
|
30466
|
-
const { parseImageDocument } = await import("./image-ocr-
|
|
30500
|
+
const { parseImageDocument } = await import("./image-ocr-TGHAMIQL.js");
|
|
30467
30501
|
const { blocks, warnings } = await parseImageDocument(buffer, options);
|
|
30468
30502
|
return {
|
|
30469
30503
|
success: true,
|
|
@@ -30521,7 +30555,7 @@ async function parseHwp(buffer, options) {
|
|
|
30521
30555
|
async function parsePdf(buffer, options) {
|
|
30522
30556
|
let parsePdfDocument;
|
|
30523
30557
|
try {
|
|
30524
|
-
const mod = await import("./parser-
|
|
30558
|
+
const mod = await import("./parser-KMC4YOZH.js");
|
|
30525
30559
|
parsePdfDocument = mod.parsePdfDocument;
|
|
30526
30560
|
} catch {
|
|
30527
30561
|
return {
|