kordoc 4.24.0 → 4.24.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 +26 -54
- package/dist/{-VEOO4BOM.js → -SRNEV7LS.js} +11 -11
- package/dist/{chunk-P35SCAJN.js → chunk-3HN65YAL.js} +2 -2
- package/dist/{chunk-H5PDQ66I.js → chunk-4745MFQU.js} +3 -3
- package/dist/{chunk-ENCAYXDI.js → chunk-4XC4O7FJ.js} +4 -4
- package/dist/{chunk-EN3PK6OT.js → chunk-7NTMM6PO.js} +2 -2
- package/dist/{chunk-GEY6ZMXH.js → chunk-C6ZVB547.js} +43 -23
- package/dist/{chunk-GEY6ZMXH.js.map → chunk-C6ZVB547.js.map} +1 -1
- package/dist/{chunk-CKCJU42Y.js → chunk-DHMBPMKC.js} +74 -30
- package/dist/chunk-DHMBPMKC.js.map +1 -0
- package/dist/{chunk-ZGNHJCDR.js → chunk-E6VBLBOO.js} +2 -2
- package/dist/{chunk-O2SLKE4L.js → chunk-E7B5CXYI.js} +2 -2
- package/dist/{chunk-DKWEZWCF.cjs → chunk-HLTPMSYW.cjs} +3 -3
- package/dist/{chunk-DKWEZWCF.cjs.map → chunk-HLTPMSYW.cjs.map} +1 -1
- package/dist/{chunk-DZT3CHNZ.cjs → chunk-IGG63DFK.cjs} +3 -3
- package/dist/{chunk-DZT3CHNZ.cjs.map → chunk-IGG63DFK.cjs.map} +1 -1
- package/dist/{chunk-IHNIPVPJ.cjs → chunk-JFUUFJZW.cjs} +6 -6
- package/dist/{chunk-IHNIPVPJ.cjs.map → chunk-JFUUFJZW.cjs.map} +1 -1
- package/dist/{chunk-PX6X4YOR.js → chunk-JMOAMKAR.js} +4 -4
- package/dist/{chunk-P6FNIU5P.js → chunk-KUC5I5MB.js} +2 -2
- package/dist/{chunk-Z5G6QNVH.js → chunk-LMEF7FN5.js} +2 -2
- package/dist/{chunk-OJISMR2Z.js → chunk-M46PB75E.js} +2 -2
- package/dist/{chunk-G4HWEM6Q.js → chunk-MHNJOJQV.js} +4 -4
- package/dist/{chunk-Z62PHCSU.js → chunk-NJ5RUDCW.js} +3 -3
- package/dist/{chunk-DM5YPONO.js → chunk-NMFFIUI6.js} +2 -2
- package/dist/{chunk-HOXHBG4C.cjs → chunk-PNSALBXH.cjs} +2 -2
- package/dist/{chunk-HOXHBG4C.cjs.map → chunk-PNSALBXH.cjs.map} +1 -1
- package/dist/{chunk-FHFPQ6MX.cjs → chunk-PNX5FYHC.cjs} +24 -24
- package/dist/{chunk-FHFPQ6MX.cjs.map → chunk-PNX5FYHC.cjs.map} +1 -1
- package/dist/{chunk-IZYYKE5F.js → chunk-R2GIGE5H.js} +2 -2
- package/dist/{chunk-55DOBEGD.js → chunk-RIRPLFPN.js} +2 -2
- package/dist/{chunk-3M2BIQLZ.js → chunk-TDMBTG7U.js} +2 -2
- package/dist/{chunk-6YDPTTIY.js → chunk-TW3V6FSH.js} +2 -2
- package/dist/{chunk-OHDGEGDJ.cjs → chunk-UNICY546.cjs} +23 -23
- package/dist/{chunk-OHDGEGDJ.cjs.map → chunk-UNICY546.cjs.map} +1 -1
- package/dist/{chunk-SRUBDR3Z.js → chunk-VPSF5LEM.js} +3 -3
- package/dist/{chunk-4VPN5MHS.js → chunk-W24TJJNN.js} +2 -2
- package/dist/{chunk-DBPDAG7N.js → chunk-WDSTW3BD.js} +2 -2
- package/dist/{chunk-XLY5ZJRP.js → chunk-WJAFE3Z6.js} +2 -2
- package/dist/chunks-AL4P5TO5.js +10 -0
- package/dist/cli.js +41 -30
- package/dist/cli.js.map +1 -1
- package/dist/{formula-4GRNVWIQ.js → formula-DSB574H7.js} +4 -4
- package/dist/{formula-R3OWFGCZ.cjs → formula-HK2MNZ3Q.cjs} +9 -9
- package/dist/{formula-R3OWFGCZ.cjs.map → formula-HK2MNZ3Q.cjs.map} +1 -1
- package/dist/{formula-6Y467S4R.js → formula-U2LZ67KI.js} +3 -3
- package/dist/{image-ocr-CGJJCD4E.js → image-ocr-3QB2HLSI.js} +9 -9
- package/dist/{image-ocr-ZLL66KNO.js → image-ocr-J54Q3YWP.js} +6 -6
- package/dist/{image-ocr-EBKG45KF.cjs → image-ocr-QNIMVE5A.cjs} +17 -17
- package/dist/{image-ocr-EBKG45KF.cjs.map → image-ocr-QNIMVE5A.cjs.map} +1 -1
- package/dist/index.cjs +683 -619
- 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 +106 -42
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +36 -33
- package/dist/mcp.js.map +1 -1
- package/dist/{model-bundle-RD4KSNTB.js → model-bundle-CGWU4ALC.js} +5 -5
- package/dist/{models-OLGCZBXI.js → models-A3TF3BDV.js} +5 -5
- package/dist/{parse-worker-v2-YZY2GQY5.js → parse-worker-v2-MNUD4WAR.js} +20 -13
- package/dist/parse-worker-v2-MNUD4WAR.js.map +1 -0
- package/dist/{parser-IHCFHLHN.js → parser-C3ARF26I.js} +12 -12
- package/dist/{parser-J22QBXPP.js → parser-OBGWEWSU.js} +9 -9
- package/dist/{parser-DX4I3GT7.cjs → parser-RPAHN3OR.cjs} +157 -157
- package/dist/{parser-DX4I3GT7.cjs.map → parser-RPAHN3OR.cjs.map} +1 -1
- package/dist/{pdf-ocr-TYIH23RP.js → pdf-ocr-ENLVEEYL.js} +9 -9
- package/dist/pdf-ocr-GA5QJFNK.cjs +31 -0
- package/dist/{pdf-ocr-WU7SZHWM.cjs.map → pdf-ocr-GA5QJFNK.cjs.map} +1 -1
- package/dist/{pdf-ocr-H2247ZZH.js → pdf-ocr-K53REDNY.js} +6 -6
- package/dist/{profile-io-GH3TYTNJ.js → profile-io-ZGFEO7CB.js} +3 -3
- package/dist/{rasterize-7TFTVFMB.js → rasterize-QMC2SAUT.js} +3 -3
- package/dist/{redact-doc-DSSQOO3A.js → redact-doc-JH6RZZBE.js} +11 -11
- package/dist/{render-NKXZQINI.js → render-ZGKQLKPJ.js} +7 -7
- package/dist/seal-KMGYTJAV.js +10 -0
- package/dist/{setup-JVLMX2TH.js → setup-LAQGCYQ2.js} +3 -3
- package/dist/visual-4OYJFGXL.js +21 -0
- package/dist/{watch-5RZVHAKI.js → watch-7YPB4TKC.js} +12 -12
- package/package.json +1 -1
- package/dist/chunk-CKCJU42Y.js.map +0 -1
- package/dist/chunks-LV5EJBZ4.js +0 -10
- package/dist/parse-worker-v2-YZY2GQY5.js.map +0 -1
- package/dist/pdf-ocr-WU7SZHWM.cjs +0 -31
- package/dist/seal-JIVSSI3Z.js +0 -10
- package/dist/visual-BKVZN6HP.js +0 -21
- /package/dist/{-VEOO4BOM.js.map → -SRNEV7LS.js.map} +0 -0
- /package/dist/{chunk-P35SCAJN.js.map → chunk-3HN65YAL.js.map} +0 -0
- /package/dist/{chunk-H5PDQ66I.js.map → chunk-4745MFQU.js.map} +0 -0
- /package/dist/{chunk-ENCAYXDI.js.map → chunk-4XC4O7FJ.js.map} +0 -0
- /package/dist/{chunk-EN3PK6OT.js.map → chunk-7NTMM6PO.js.map} +0 -0
- /package/dist/{chunk-ZGNHJCDR.js.map → chunk-E6VBLBOO.js.map} +0 -0
- /package/dist/{chunk-O2SLKE4L.js.map → chunk-E7B5CXYI.js.map} +0 -0
- /package/dist/{chunk-PX6X4YOR.js.map → chunk-JMOAMKAR.js.map} +0 -0
- /package/dist/{chunk-P6FNIU5P.js.map → chunk-KUC5I5MB.js.map} +0 -0
- /package/dist/{chunk-Z5G6QNVH.js.map → chunk-LMEF7FN5.js.map} +0 -0
- /package/dist/{chunk-OJISMR2Z.js.map → chunk-M46PB75E.js.map} +0 -0
- /package/dist/{chunk-G4HWEM6Q.js.map → chunk-MHNJOJQV.js.map} +0 -0
- /package/dist/{chunk-Z62PHCSU.js.map → chunk-NJ5RUDCW.js.map} +0 -0
- /package/dist/{chunk-DM5YPONO.js.map → chunk-NMFFIUI6.js.map} +0 -0
- /package/dist/{chunk-IZYYKE5F.js.map → chunk-R2GIGE5H.js.map} +0 -0
- /package/dist/{chunk-55DOBEGD.js.map → chunk-RIRPLFPN.js.map} +0 -0
- /package/dist/{chunk-3M2BIQLZ.js.map → chunk-TDMBTG7U.js.map} +0 -0
- /package/dist/{chunk-6YDPTTIY.js.map → chunk-TW3V6FSH.js.map} +0 -0
- /package/dist/{chunk-SRUBDR3Z.js.map → chunk-VPSF5LEM.js.map} +0 -0
- /package/dist/{chunk-4VPN5MHS.js.map → chunk-W24TJJNN.js.map} +0 -0
- /package/dist/{chunk-DBPDAG7N.js.map → chunk-WDSTW3BD.js.map} +0 -0
- /package/dist/{chunk-XLY5ZJRP.js.map → chunk-WJAFE3Z6.js.map} +0 -0
- /package/dist/{chunks-LV5EJBZ4.js.map → chunks-AL4P5TO5.js.map} +0 -0
- /package/dist/{formula-4GRNVWIQ.js.map → formula-DSB574H7.js.map} +0 -0
- /package/dist/{formula-6Y467S4R.js.map → formula-U2LZ67KI.js.map} +0 -0
- /package/dist/{image-ocr-CGJJCD4E.js.map → image-ocr-3QB2HLSI.js.map} +0 -0
- /package/dist/{image-ocr-ZLL66KNO.js.map → image-ocr-J54Q3YWP.js.map} +0 -0
- /package/dist/{model-bundle-RD4KSNTB.js.map → model-bundle-CGWU4ALC.js.map} +0 -0
- /package/dist/{models-OLGCZBXI.js.map → models-A3TF3BDV.js.map} +0 -0
- /package/dist/{parser-IHCFHLHN.js.map → parser-C3ARF26I.js.map} +0 -0
- /package/dist/{parser-J22QBXPP.js.map → parser-OBGWEWSU.js.map} +0 -0
- /package/dist/{pdf-ocr-H2247ZZH.js.map → pdf-ocr-ENLVEEYL.js.map} +0 -0
- /package/dist/{pdf-ocr-TYIH23RP.js.map → pdf-ocr-K53REDNY.js.map} +0 -0
- /package/dist/{profile-io-GH3TYTNJ.js.map → profile-io-ZGFEO7CB.js.map} +0 -0
- /package/dist/{rasterize-7TFTVFMB.js.map → rasterize-QMC2SAUT.js.map} +0 -0
- /package/dist/{redact-doc-DSSQOO3A.js.map → redact-doc-JH6RZZBE.js.map} +0 -0
- /package/dist/{render-NKXZQINI.js.map → render-ZGKQLKPJ.js.map} +0 -0
- /package/dist/{seal-JIVSSI3Z.js.map → seal-KMGYTJAV.js.map} +0 -0
- /package/dist/{setup-JVLMX2TH.js.map → setup-LAQGCYQ2.js.map} +0 -0
- /package/dist/{visual-BKVZN6HP.js.map → visual-4OYJFGXL.js.map} +0 -0
- /package/dist/{watch-5RZVHAKI.js.map → watch-7YPB4TKC.js.map} +0 -0
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
HEADING_RATIO_H2,
|
|
6
6
|
HEADING_RATIO_H3,
|
|
7
7
|
tidyScriptTags
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-KUC5I5MB.js";
|
|
9
9
|
import {
|
|
10
10
|
safeMax,
|
|
11
11
|
safeMin
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-LMEF7FN5.js";
|
|
13
13
|
|
|
14
14
|
// src/pdf/line-extract.ts
|
|
15
15
|
import { OPS } from "pdfjs-dist/legacy/build/pdf.mjs";
|
|
@@ -8977,4 +8977,4 @@ export {
|
|
|
8977
8977
|
UNRULED_REGION_TABLES,
|
|
8978
8978
|
mergeOcrImageRegions
|
|
8979
8979
|
};
|
|
8980
|
-
//# sourceMappingURL=chunk-
|
|
8980
|
+
//# sourceMappingURL=chunk-VPSF5LEM.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
assertNetworkAllowed
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-TDMBTG7U.js";
|
|
5
5
|
|
|
6
6
|
// src/pdf/formula/models.ts
|
|
7
7
|
import { createHash as createHash2 } from "crypto";
|
|
@@ -296,4 +296,4 @@ export {
|
|
|
296
296
|
ensureFormulaModels,
|
|
297
297
|
ensureSingleModel
|
|
298
298
|
};
|
|
299
|
-
//# sourceMappingURL=chunk-
|
|
299
|
+
//# sourceMappingURL=chunk-W24TJJNN.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
escapeHtml,
|
|
4
4
|
sanitizeHref
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-LMEF7FN5.js";
|
|
6
6
|
|
|
7
7
|
// src/shared/symbol-fonts.ts
|
|
8
8
|
var WINGDINGS = [
|
|
@@ -1179,4 +1179,4 @@ export {
|
|
|
1179
1179
|
visibleText,
|
|
1180
1180
|
escapeHtmlCellText
|
|
1181
1181
|
};
|
|
1182
|
-
//# sourceMappingURL=chunk-
|
|
1182
|
+
//# sourceMappingURL=chunk-WDSTW3BD.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/utils.ts
|
|
2
|
-
var VERSION = true ? "4.24.
|
|
2
|
+
var VERSION = true ? "4.24.2" : "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;
|
|
@@ -161,4 +161,4 @@ export {
|
|
|
161
161
|
classifyError,
|
|
162
162
|
partExtension
|
|
163
163
|
};
|
|
164
|
-
//# sourceMappingURL=chunk-
|
|
164
|
+
//# sourceMappingURL=chunk-WJAFE3Z6.js.map
|
package/dist/cli.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
parseFormatProfileJson
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-M46PB75E.js";
|
|
5
5
|
import {
|
|
6
6
|
parseWorkerFile
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-4745MFQU.js";
|
|
8
8
|
import {
|
|
9
9
|
BODY_FONTS,
|
|
10
10
|
BULLET2_CHARS,
|
|
@@ -44,31 +44,31 @@ import {
|
|
|
44
44
|
unknownFontWarnings,
|
|
45
45
|
usesGaejosikMunche,
|
|
46
46
|
usesLogicStructure
|
|
47
|
-
} from "./chunk-
|
|
48
|
-
import "./chunk-
|
|
47
|
+
} from "./chunk-C6ZVB547.js";
|
|
48
|
+
import "./chunk-NMFFIUI6.js";
|
|
49
49
|
import {
|
|
50
50
|
detectFormat,
|
|
51
51
|
detectImageMime,
|
|
52
52
|
detectZipFormat
|
|
53
|
-
} from "./chunk-
|
|
54
|
-
import "./chunk-
|
|
55
|
-
import "./chunk-
|
|
53
|
+
} from "./chunk-DHMBPMKC.js";
|
|
54
|
+
import "./chunk-E6VBLBOO.js";
|
|
55
|
+
import "./chunk-7NTMM6PO.js";
|
|
56
56
|
import "./chunk-VKVDMH7X.js";
|
|
57
57
|
import "./chunk-VQFA55IC.js";
|
|
58
58
|
import "./chunk-BYMPPVT3.js";
|
|
59
|
-
import "./chunk-
|
|
59
|
+
import "./chunk-KUC5I5MB.js";
|
|
60
60
|
import {
|
|
61
61
|
blocksToMarkdown
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-WDSTW3BD.js";
|
|
63
63
|
import {
|
|
64
64
|
extractFormFields,
|
|
65
65
|
fillPlan,
|
|
66
66
|
fillWithUniqueGuard
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-NJ5RUDCW.js";
|
|
68
68
|
import {
|
|
69
69
|
createXmlParser,
|
|
70
70
|
readZipEntry
|
|
71
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-RIRPLFPN.js";
|
|
72
72
|
import {
|
|
73
73
|
KordocError,
|
|
74
74
|
VERSION,
|
|
@@ -78,7 +78,7 @@ import {
|
|
|
78
78
|
sanitizeError,
|
|
79
79
|
stripDtd,
|
|
80
80
|
toArrayBuffer
|
|
81
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-LMEF7FN5.js";
|
|
82
82
|
import "./chunk-3WSNLH4B.js";
|
|
83
83
|
|
|
84
84
|
// src/cli.ts
|
|
@@ -222,7 +222,7 @@ async function convertFiles(files, opts, writeOutput = (text) => {
|
|
|
222
222
|
`);
|
|
223
223
|
}
|
|
224
224
|
} else if (opts.format === "chunks") {
|
|
225
|
-
const { blocksToChunks } = await import("./chunks-
|
|
225
|
+
const { blocksToChunks } = await import("./chunks-AL4P5TO5.js");
|
|
226
226
|
const chunks = blocksToChunks(result.blocks, { tableFormat: parseOptions.tableFormat }).map((c) => {
|
|
227
227
|
let text = c.text;
|
|
228
228
|
if (opts.plain) text = toPlainMarkdown(text);
|
|
@@ -390,7 +390,7 @@ function registerDocCommands(program2) {
|
|
|
390
390
|
if (command.getOptionValueSource("format") === "default" && program2.getOptionValueSource("format") === "cli") {
|
|
391
391
|
opts.format = rootOpts.format;
|
|
392
392
|
}
|
|
393
|
-
const { watchDirectory } = await import("./watch-
|
|
393
|
+
const { watchDirectory } = await import("./watch-7YPB4TKC.js");
|
|
394
394
|
await watchDirectory({
|
|
395
395
|
dir,
|
|
396
396
|
outDir: opts.outDir,
|
|
@@ -625,7 +625,7 @@ function registerDocCommands(program2) {
|
|
|
625
625
|
});
|
|
626
626
|
program2.command("seal <file>").description('\uB3C4\uC7A5/\uC11C\uBA85 \uC774\uBBF8\uC9C0\uB97C \uC575\uCEE4 \uBB38\uAD6C \uC704\uC5D0 \uBD80\uC720 \uBC30\uCE58 (\uD45C/\uD398\uC774\uC9C0 \uBD88\uD655\uC7A5) \u2014 kordoc seal \uC2E0\uCCAD\uC11C.hwpx --image \uB3C4\uC7A5.png --anchor "(\uC778)" -o \uACB0\uACFC.hwpx').requiredOption("--image <path>", "\uB3C4\uC7A5/\uC11C\uBA85 \uC774\uBBF8\uC9C0 (\uD22C\uBA85 \uBC30\uACBD PNG \uAD8C\uC7A5)").option("--anchor <text>", "\uC575\uCEE4 \uBB38\uAD6C", "(\uC778)").option("-n, --occurrence <num>", "\uAC19\uC740 \uC575\uCEE4\uAC00 \uC5EC\uB7FF\uC77C \uB54C 0-based \uC120\uD0DD", "0").option("--size-mm <num>", "\uB3C4\uC7A5 \uD55C \uBCC0 \uD06C\uAE30 mm (\uAE30\uBCF8: \uC904\uB192\uC774\xD71.6, 7~18 \uD074\uB7A8\uD504)").option("--mode <mode>", "overlap(\uBB38\uAD6C \uC704 \uACB9\uCE68) | right(\uC624\uB978\uCABD \uC606) | auto", "auto").option("--dx <mm>", "x \uBBF8\uC138\uC870\uC815 mm", "0").option("--dy <mm>", "y \uBBF8\uC138\uC870\uC815 mm", "0").option("-o, --output <path>", "\uCD9C\uB825 \uACBD\uB85C (\uAE30\uBCF8: <\uC785\uB825>.sealed.hwpx)").option("--silent", "\uC9C4\uD589 \uBA54\uC2DC\uC9C0 \uC228\uAE30\uAE30").action(async (file, opts) => {
|
|
627
627
|
try {
|
|
628
|
-
const { placeSealHwpx, detectFormat: detectFormat2 } = await import("./-
|
|
628
|
+
const { placeSealHwpx, detectFormat: detectFormat2 } = await import("./-SRNEV7LS.js");
|
|
629
629
|
const rootOpts = program2.opts();
|
|
630
630
|
const output = opts.output ?? rootOpts.output;
|
|
631
631
|
const silent = opts.silent ?? rootOpts.silent;
|
|
@@ -703,7 +703,7 @@ function registerDocCommands(program2) {
|
|
|
703
703
|
});
|
|
704
704
|
program2.command("patch <original> <edited>").description("\uC11C\uC2DD \uBCF4\uC874 \uB77C\uC6B4\uB4DC\uD2B8\uB9BD \uD328\uCE58 \u2014 \uD3B8\uC9D1\uB41C \uB9C8\uD06C\uB2E4\uC6B4\uC744 \uC6D0\uBCF8 HWPX/HWP\uC5D0 in-place \uBC18\uC601 (kordoc patch \uC6D0\uBCF8.hwpx \uD3B8\uC9D1.md -o \uCD9C\uB825.hwpx). \uACAC\uBCF8 \uC11C\uC2DD \uADF8\uB300\uB85C \uC0C8 \uBB38\uC11C \uC4F0\uAE30(\uC11C\uC2DD \uBCA0\uB07C\uAE30)\uB3C4 \uC774 \uACBD\uB85C: \uACAC\uBCF8\uC744 --keep-layout-tables \uB85C \uC77D\uC5B4 \uB0B4\uC6A9\uB9CC \uC0C8\uB85C \uC4F4 \uB4A4 patch \u2014 HWPX \uB294 \uBB38\uB2E8 \uCD94\uAC00\xB7\uC0AD\uC81C\uB97C \uAC19\uC740 \uD56D\uBAA9 \uBD80\uD638 \uACAC\uBCF8 \uBB38\uB2E8 \uC11C\uC2DD\uC73C\uB85C \uBC18\uC601. \uBBF8\uC801\uC6A9(skip) \uD3B8\uC9D1\uC774 \uC788\uC73C\uBA74 exit 2").option("-o, --output <path>", "\uCD9C\uB825 \uACBD\uB85C (\uAE30\uBCF8: <\uC6D0\uBCF8>.patched.hwpx|.hwp)").option("--no-verify", "\uD328\uCE58 \uD6C4 \uC7AC\uD30C\uC2F1 \uC790\uB3D9 \uAC80\uC99D \uC0DD\uB7B5").option("--no-structure", "\uBB38\uB2E8 \uCD94\uAC00\xB7\uC0AD\uC81C\uB97C \uBC18\uC601\uD558\uC9C0 \uC54A\uACE0 \uAC74\uB108\uB700 (HWPX \u2014 \uAE00 \uC218\uC815\uB9CC, \uBB38\uC11C \uACE8\uACA9 \uACE0\uC815)").option("--keep-lineseg", "\uAE00\uC774 \uBC14\uB010 \uBB38\uB2E8\uC758 \uC904 \uB098\uB214 \uC815\uBCF4\uB97C \uC9C0\uC6B0\uC9C0 \uC54A\uACE0 \uC6D0\uBCF8 \uC904 \uC704\uCE58\uB97C \uB0A8\uAE40 (HWP 5.x \u2014 \uAE30\uBCF8\uC740 \uC9C0\uC6CC\uC11C \uD55C\uCEF4\uC774 \uB2E4\uC2DC \uC9EC)").option("--json", "\uACB0\uACFC(\uC801\uC6A9 \uC218\xB7\uAC74\uB108\uB6F4 \uD3B8\uC9D1\xB7\uAC80\uC99D \uC794\uCC28)\uB97C JSON \uC73C\uB85C stdout \uCD9C\uB825 \u2014 --silent \uC640 \uD568\uAED8 \uC368\uB3C4 \uB098\uC628\uB2E4").option("--silent", "\uC9C4\uD589 \uBA54\uC2DC\uC9C0 \uC228\uAE30\uAE30").action(async (original, edited, opts) => {
|
|
705
705
|
try {
|
|
706
|
-
const { patchHwpx, patchHwp, detectFormat: detectFormat2 } = await import("./-
|
|
706
|
+
const { patchHwpx, patchHwp, detectFormat: detectFormat2 } = await import("./-SRNEV7LS.js");
|
|
707
707
|
const rootOpts = program2.opts();
|
|
708
708
|
const output = opts.output ?? rootOpts.output;
|
|
709
709
|
const silent = opts.silent ?? rootOpts.silent;
|
|
@@ -757,7 +757,7 @@ function registerDocCommands(program2) {
|
|
|
757
757
|
});
|
|
758
758
|
program2.command("compare <a> <b>").description("\uB450 \uBB38\uC11C \uBE44\uAD50 \u2014 \uCD94\uAC00\xB7\uC0AD\uC81C\xB7\uBCC0\uACBD \uBE14\uB85D (HWP\u2194HWPX \uB4F1 \uD615\uC2DD\uC774 \uB2EC\uB77C\uB3C4 \uB428, \uC2E0\uAD6C\uB300\uC870\uD45C\uC6A9). \uCC28\uC774\uAC00 \uC788\uC73C\uBA74 exit 1").option("--json", "\uBE44\uAD50 \uACB0\uACFC(stats\xB7diffs)\uB97C JSON \uC73C\uB85C stdout \uCD9C\uB825").action(async (a, b, opts) => {
|
|
759
759
|
try {
|
|
760
|
-
const { compare } = await import("./-
|
|
760
|
+
const { compare } = await import("./-SRNEV7LS.js");
|
|
761
761
|
const read = (p) => {
|
|
762
762
|
const buf = readFileSync2(resolve3(p));
|
|
763
763
|
return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
|
|
@@ -788,7 +788,7 @@ function registerDocCommands(program2) {
|
|
|
788
788
|
});
|
|
789
789
|
program2.command("validate <file>").description("HWPX \uAD6C\uC870 \uAC80\uC99D \u2014 ZIP\xB7mimetype\xB7\uD544\uC218 \uD30C\uC77C\xB7XML \uC6F0\uD3FC\uB4DC\xB7secCnt\xB7manifest \uCC38\uC870 (\uD55C\uCEF4\uB3C5\uC2A4 \uAC70\uBD80 \uC694\uC778 \uC0AC\uC804 \uCC28\uB2E8)").option("--json", "\uACB0\uACFC\uB97C JSON\uC73C\uB85C stdout\uC5D0 \uCD9C\uB825").action(async (file, opts) => {
|
|
790
790
|
try {
|
|
791
|
-
const { validateHwpx } = await import("./-
|
|
791
|
+
const { validateHwpx } = await import("./-SRNEV7LS.js");
|
|
792
792
|
const buf = new Uint8Array(readFileSync2(resolve3(file)));
|
|
793
793
|
const result = await validateHwpx(buf);
|
|
794
794
|
if (opts.json) {
|
|
@@ -1048,6 +1048,17 @@ function registerGenerateCommands(program2) {
|
|
|
1048
1048
|
if (!silent) for (const w of warnings) process.stderr.write(`[kordoc] \u26A0 ${w}
|
|
1049
1049
|
`);
|
|
1050
1050
|
const outPath2 = resolve4(output ?? (markdown === "-" ? `${baseName}.hwpx` : markdown.replace(/\.(md|markdown|txt)$/i, "") + ".hwpx"));
|
|
1051
|
+
let sameAsTemplate = outPath2 === tplPath;
|
|
1052
|
+
try {
|
|
1053
|
+
const a = statSync4(outPath2), b = statSync4(tplPath);
|
|
1054
|
+
sameAsTemplate ||= a.ino === b.ino && a.dev === b.dev;
|
|
1055
|
+
} catch {
|
|
1056
|
+
}
|
|
1057
|
+
if (sameAsTemplate) {
|
|
1058
|
+
process.stderr.write(`[kordoc] \uCD9C\uB825 \uACBD\uB85C\uAC00 \uACAC\uBCF8\uACFC \uAC19\uC2B5\uB2C8\uB2E4. \uACAC\uBCF8\uC744 \uB36E\uC5B4\uC4F0\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -o \uB85C \uB2E4\uB978 \uACBD\uB85C\uB97C \uC9C0\uC815\uD558\uC138\uC694
|
|
1059
|
+
`);
|
|
1060
|
+
process.exit(1);
|
|
1061
|
+
}
|
|
1051
1062
|
mkdirSync3(dirname2(outPath2), { recursive: true });
|
|
1052
1063
|
writeFileSync3(outPath2, Buffer.from(buf2));
|
|
1053
1064
|
if (!silent) process.stderr.write(`[kordoc] HWPX \uC0DD\uC131 (\uACAC\uBCF8:${basename5(tplPath)}) \u2192 ${outPath2}
|
|
@@ -1307,7 +1318,7 @@ function registerGenerateCommands(program2) {
|
|
|
1307
1318
|
let irBlocks;
|
|
1308
1319
|
if (kind === "unknown") text = raw.toString("utf-8");
|
|
1309
1320
|
else {
|
|
1310
|
-
const { parse: parse2 } = await import("./-
|
|
1321
|
+
const { parse: parse2 } = await import("./-SRNEV7LS.js");
|
|
1311
1322
|
const parsed = await parse2(ab, file === "-" ? void 0 : { filePath: resolve4(file) });
|
|
1312
1323
|
if (!parsed.success) {
|
|
1313
1324
|
process.stderr.write(`[kordoc] \uC624\uB958: ${kind} \uBB38\uC11C\uB97C \uC77D\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4 \u2014 ${parsed.error}
|
|
@@ -1422,7 +1433,7 @@ function registerGenerateCommands(program2) {
|
|
|
1422
1433
|
});
|
|
1423
1434
|
program2.command("redact <files...>").description("\uAC1C\uC778\uC815\uBCF4 \uC11C\uC2DD \uBCF4\uC874 \uB9C8\uC2A4\uD0B9 \u2014 \uC8FC\uBBFC\xB7\uC678\uAD6D\uC778\uB4F1\uB85D\uBC88\uD638\xB7\uC804\uD654\xB7\uC774\uBA54\uC77C\xB7\uCE74\uB4DC\xB7\uACC4\uC88C\xB7\uC0AC\uC5C5\uC790\uB4F1\uB85D\uBC88\uD638\xB7\uC5EC\uAD8C\xB7\uC6B4\uC804\uBA74\uD5C8(--rules \uB85C \uC778\uBA85\xB7\uC8FC\uC18C opt-in)\uB97C \uD0D0\uC9C0\uD574 HWPX/HWP\uB294 \uC6D0\uBCF8 \uC11C\uC2DD \uADF8\uB300\uB85C \uAC19\uC740 \uAE38\uC774\uB85C \uAC00\uB9B0 \uD30C\uC77C(\uBCF8\uBB38\xB7\uD45C\xB7\uBA38\uB9AC\uB9D0/\uAF2C\uB9AC\uB9D0\xB7\uAC01\uC8FC\xB7\uAE00\uC0C1\uC790\xB7\uBBF8\uB9AC\uBCF4\uAE30\xB7\uBA54\uD0C0\uB370\uC774\uD130 \uD3EC\uD568), \uADF8 \uC678 \uD3EC\uB9F7(PDF \uB4F1)\uC740 \uC6D0\uBCF8\uC744 \uAC74\uB4DC\uB9AC\uC9C0 \uC54A\uACE0 \uB9C8\uC2A4\uD0B9\uB41C \uB9C8\uD06C\uB2E4\uC6B4\uB9CC \uCD9C\uB825. \uC790\uB3D9 \uAC80\uCD9C \uBCF4\uC870 \uB3C4\uAD6C\uC774\uBBC0\uB85C \uACB0\uACFC\uB294 \uBC18\uB4DC\uC2DC \uC0AC\uB78C\uC774 \uCD5C\uC885 \uD655\uC778\uD558\uC138\uC694 (\uC774\uBBF8\uC9C0 \uC18D \uAE00\uC790\uB294 \uD0D0\uC9C0 \uBD88\uAC00)").option("--rules <csv>", "\uC801\uC6A9 \uB8F0 (\uAE30\uBCF8: rrn,phone,email,card,account,brn,passport,driver \u2014 crn(\uBC95\uC778\uB4F1\uB85D\uBC88\uD638),ip,name(\uC778\uBA85),address(\uC8FC\uC18C)\uB294 opt-in)").option("--mask-char <ch>", "\uB9C8\uC2A4\uD06C \uBB38\uC790 1\uAE00\uC790 (\uAE30\uBCF8: \u25CF)").option("-o, --output <path>", "\uCD9C\uB825 \uACBD\uB85C (\uB2E8\uC77C \uD30C\uC77C \uC2DC)").option("-d, --out-dir <dir>", "\uCD9C\uB825 \uB514\uB809\uD1A0\uB9AC (\uB2E4\uC911 \uD30C\uC77C \uC2DC)").option("--dry-run", "\uD0D0\uC9C0 \uB9AC\uD3EC\uD2B8\uB9CC \uCD9C\uB825, \uD30C\uC77C \uBBF8\uC0DD\uC131").option("--json", "\uB9AC\uD3EC\uD2B8\uB97C JSON\uC73C\uB85C stdout \uCD9C\uB825").option("--silent", "\uC9C4\uD589 \uBA54\uC2DC\uC9C0 \uC228\uAE30\uAE30").action(async (files, opts) => {
|
|
1424
1435
|
const { ALL_REDACT_RULES, DEFAULT_REDACT_RULES, redactText } = await import("./redact-NV2QCDGE.js");
|
|
1425
|
-
const { redactDocument } = await import("./redact-doc-
|
|
1436
|
+
const { redactDocument } = await import("./redact-doc-JH6RZZBE.js");
|
|
1426
1437
|
const rootOpts = program2.opts();
|
|
1427
1438
|
const output = opts.output ?? rootOpts.output;
|
|
1428
1439
|
const outDir = opts.outDir ?? rootOpts.outDir;
|
|
@@ -1584,7 +1595,7 @@ function registerRenderCommands(program2) {
|
|
|
1584
1595
|
const absPath = resolve5(file);
|
|
1585
1596
|
const stem = file.replace(/\.hwpx?$/i, "");
|
|
1586
1597
|
if (fmt === "svg" && !outDir && !pages && !/\.hwp$/i.test(absPath)) {
|
|
1587
|
-
const { renderHwpxToSvg } = await import("./render-
|
|
1598
|
+
const { renderHwpxToSvg } = await import("./render-ZGKQLKPJ.js");
|
|
1588
1599
|
const buffer = readFileSync4(absPath);
|
|
1589
1600
|
const result = await renderHwpxToSvg(toArrayBuffer(buffer), { highlights, reflow: opts.reflow, reflowMode: opts.reflowMode });
|
|
1590
1601
|
const outPath = resolve5(output ?? stem + ".svg");
|
|
@@ -1598,7 +1609,7 @@ function registerRenderCommands(program2) {
|
|
|
1598
1609
|
}
|
|
1599
1610
|
return;
|
|
1600
1611
|
}
|
|
1601
|
-
const { renderDocument } = await import("./render-
|
|
1612
|
+
const { renderDocument } = await import("./render-ZGKQLKPJ.js");
|
|
1602
1613
|
const { scene, assets } = await renderDocument(absPath, {
|
|
1603
1614
|
format: fmt,
|
|
1604
1615
|
pages,
|
|
@@ -1648,7 +1659,7 @@ function registerRenderCommands(program2) {
|
|
|
1648
1659
|
if (!outDir) throw new KordocError("--out-dir \uC774 \uD544\uC694\uD569\uB2C8\uB2E4 (crop \uC740 \uD30C\uC77C \uC5EC\uB7EC \uAC1C\uB97C \uB0C5\uB2C8\uB2E4)");
|
|
1649
1660
|
const types = String(opts.target).split(",").map((t) => t.trim()).filter(Boolean);
|
|
1650
1661
|
for (const t of types) if (!["table", "image", "paragraph", "shape"].includes(t)) throw new KordocError(`--target \uC720\uD615 \uC624\uB958: ${t}`);
|
|
1651
|
-
const { extractRenderedRegions } = await import("./render-
|
|
1662
|
+
const { extractRenderedRegions } = await import("./render-ZGKQLKPJ.js");
|
|
1652
1663
|
const regions = await extractRenderedRegions(resolve5(file), {
|
|
1653
1664
|
types,
|
|
1654
1665
|
format: fmt,
|
|
@@ -1686,7 +1697,7 @@ function registerRenderCommands(program2) {
|
|
|
1686
1697
|
if (policy !== "none" && !outDir) throw new KordocError("--visual \uC740 crop \uD30C\uC77C\uC744 \uB0B4\uBBC0\uB85C --out-dir \uC774 \uD544\uC694\uD569\uB2C8\uB2E4");
|
|
1687
1698
|
const cropFmt = String(opts.cropFormat);
|
|
1688
1699
|
if (!["png", "jpeg"].includes(cropFmt)) throw new KordocError(`--crop-format \uC740 png|jpeg: ${cropFmt}`);
|
|
1689
|
-
const { extractTables } = await import("./visual-
|
|
1700
|
+
const { extractTables } = await import("./visual-4OYJFGXL.js");
|
|
1690
1701
|
const tables = await extractTables(resolve5(file), { policy, format: cropFmt, paddingPt: Number(opts.padding) || 0 });
|
|
1691
1702
|
const dir = outDir ? resolve5(outDir) : void 0;
|
|
1692
1703
|
if (dir) mkdirSync4(dir, { recursive: true });
|
|
@@ -1730,7 +1741,7 @@ function registerRenderCommands(program2) {
|
|
|
1730
1741
|
});
|
|
1731
1742
|
program2.command("render-worker").description("persistent \uB80C\uB354 \uC6CC\uCEE4 \u2014 stdin NDJSON \uC694\uCCAD \u2192 \uC870\uD310 SVG \uD30C\uC77C \uCD9C\uB825 (\uD504\uB85C\uC138\uC2A4 \uC720\uC9C0, \uCF5C\uB4DC\uC2A4\uD0C0\uD2B8 \uC81C\uAC70)").action(async () => {
|
|
1732
1743
|
const { createInterface } = await import("readline");
|
|
1733
|
-
const { renderHwpxToSvg } = await import("./render-
|
|
1744
|
+
const { renderHwpxToSvg } = await import("./render-ZGKQLKPJ.js");
|
|
1734
1745
|
const rl = createInterface({ input: process.stdin });
|
|
1735
1746
|
const write = (o) => void process.stdout.write(JSON.stringify(o) + "\n");
|
|
1736
1747
|
write({ ready: true, version: VERSION });
|
|
@@ -1779,12 +1790,12 @@ function registerSystemCommands(program2) {
|
|
|
1779
1790
|
await startMcpServer();
|
|
1780
1791
|
});
|
|
1781
1792
|
program2.command("setup").description("\uB300\uD654\uD615 \uC124\uCE58 \uB9C8\uBC95\uC0AC \u2014 AI \uD074\uB77C\uC774\uC5B8\uD2B8 \uC790\uB3D9 \uB4F1\uB85D (Mac/Win/Linux)").action(async () => {
|
|
1782
|
-
const { runSetup } = await import("./setup-
|
|
1793
|
+
const { runSetup } = await import("./setup-LAQGCYQ2.js");
|
|
1783
1794
|
await runSetup();
|
|
1784
1795
|
});
|
|
1785
1796
|
program2.command("check-formula-models").description("PDF \uC218\uC2DD OCR \uBAA8\uB378(MFD + MFR + tokenizer, ~155MB) \uC0C1\uD0DC \uD655\uC778 \u2014 \uC5C6\uAC70\uB098 SHA \uBD88\uC77C\uCE58\uBA74 \uB2E4\uC6B4\uB85C\uB4DC").option("--status-only", "\uC0C1\uD0DC\uB9CC JSON \uC73C\uB85C \uCD9C\uB825 (\uB2E4\uC6B4\uB85C\uB4DC \uC548 \uD568)").action(async (opts) => {
|
|
1786
1797
|
try {
|
|
1787
|
-
const { getFormulaModelStatus, ensureFormulaModels, getFormulaModelsDir } = await import("./formula-
|
|
1798
|
+
const { getFormulaModelStatus, ensureFormulaModels, getFormulaModelsDir } = await import("./formula-DSB574H7.js");
|
|
1788
1799
|
const dir = getFormulaModelsDir();
|
|
1789
1800
|
if (opts.statusOnly) {
|
|
1790
1801
|
const status = await getFormulaModelStatus();
|
|
@@ -1838,7 +1849,7 @@ function registerSystemCommands(program2) {
|
|
|
1838
1849
|
});
|
|
1839
1850
|
program2.command("check-ocr-models").description("\uD14D\uC2A4\uD2B8 OCR \uBAA8\uB378(PP-OCRv5 korean det+rec, ~18MB) \uC0C1\uD0DC \uD655\uC778 \u2014 \uC5C6\uAC70\uB098 SHA \uBD88\uC77C\uCE58\uBA74 \uB2E4\uC6B4\uB85C\uB4DC").option("--status-only", "\uC0C1\uD0DC\uB9CC JSON \uC73C\uB85C \uCD9C\uB825 (\uB2E4\uC6B4\uB85C\uB4DC \uC548 \uD568)").action(async (opts) => {
|
|
1840
1851
|
try {
|
|
1841
|
-
const { getOcrModelStatus, ensureOcrModels, getOcrModelsDir } = await import("./models-
|
|
1852
|
+
const { getOcrModelStatus, ensureOcrModels, getOcrModelsDir } = await import("./models-A3TF3BDV.js");
|
|
1842
1853
|
const dir = getOcrModelsDir();
|
|
1843
1854
|
if (opts.statusOnly) {
|
|
1844
1855
|
const status = await getOcrModelStatus();
|
|
@@ -1892,7 +1903,7 @@ function registerSystemCommands(program2) {
|
|
|
1892
1903
|
});
|
|
1893
1904
|
program2.command("models").description("OCR/\uC218\uC2DD \uBAA8\uB378 \uC624\uD504\uB77C\uC778 \uC0AC\uC774\uB4DC\uB85C\uB4DC \u2014 \uD3D0\uC1C4\uB9DD \uBC18\uC785\uC6A9 \uB0B4\uBCF4\uB0B4\uAE30/\uAC00\uC838\uC624\uAE30 (SHA-256 \uAC80\uC99D)").option("--status", "\uCE90\uC2DC\uC5D0 \uC124\uCE58\uB41C \uBAA8\uB378 \uC0C1\uD0DC\uB97C JSON \uC73C\uB85C \uCD9C\uB825").option("--export <dir>", "\uB85C\uCEEC \uCE90\uC2DC \u2192 \uBC88\uB4E4 \uB514\uB809\uD1A0\uB9AC\uB85C \uB0B4\uBCF4\uB0B4\uAE30 (\uC628\uB77C\uC778 PC\uC5D0\uC11C \uC2E4\uD589)").option("--import <dir>", "\uBC88\uB4E4 \uB514\uB809\uD1A0\uB9AC \u2192 \uB85C\uCEEC \uCE90\uC2DC\uB85C \uC124\uCE58 (\uB0B4\uBD80\uB9DD PC\uC5D0\uC11C \uC2E4\uD589)").action(async (opts) => {
|
|
1894
1905
|
try {
|
|
1895
|
-
const { exportModels, importModels, modelCacheStatus } = await import("./model-bundle-
|
|
1906
|
+
const { exportModels, importModels, modelCacheStatus } = await import("./model-bundle-CGWU4ALC.js");
|
|
1896
1907
|
if (opts.status) {
|
|
1897
1908
|
process.stdout.write(JSON.stringify(await modelCacheStatus(), null, 2) + "\n");
|
|
1898
1909
|
return;
|
|
@@ -1958,7 +1969,7 @@ function registerWorkerCommands(program2) {
|
|
|
1958
1969
|
const maxRequestBytes = limit(opts.maxRequestBytes, "--max-request-bytes");
|
|
1959
1970
|
const maxResponseBytes = limit(opts.maxResponseBytes, "--max-response-bytes");
|
|
1960
1971
|
routeConsoleToStderr();
|
|
1961
|
-
const { runParseWorkerV2 } = await import("./parse-worker-v2-
|
|
1972
|
+
const { runParseWorkerV2 } = await import("./parse-worker-v2-MNUD4WAR.js");
|
|
1962
1973
|
await runParseWorkerV2({ maxRequestBytes, maxResponseBytes });
|
|
1963
1974
|
process.exit(0);
|
|
1964
1975
|
}
|