@rhwp/core 0.7.2 → 0.7.6
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/package.json +1 -1
- package/rhwp.d.ts +85 -2
- package/rhwp.js +160 -1
- package/rhwp_bg.wasm +0 -0
- package/rhwp_bg.wasm.d.ts +9 -2
package/package.json
CHANGED
package/rhwp.d.ts
CHANGED
|
@@ -252,8 +252,32 @@ export class HwpDocument {
|
|
|
252
252
|
* 문서를 HWP 바이너리로 내보낸다.
|
|
253
253
|
*
|
|
254
254
|
* Document IR을 HWP 5.0 CFB 바이너리로 직렬화하여 반환한다.
|
|
255
|
+
* HWPX 출처 문서는 `export_hwp_with_adapter` 를 통해 HWPX→HWP IR 매핑 어댑터를
|
|
256
|
+
* 자동 적용하여 한컴 호환성과 자기 재로드 페이지 보존을 보장한다 (#178).
|
|
257
|
+
* HWP 출처는 어댑터가 no-op 이므로 기존 동작과 동일.
|
|
255
258
|
*/
|
|
256
259
|
exportHwp(): Uint8Array;
|
|
260
|
+
/**
|
|
261
|
+
* 어댑터 적용 + HWP 직렬화 + 자기 재로드 검증을 수행하고 결과를 JSON 으로 반환한다 (#178).
|
|
262
|
+
*
|
|
263
|
+
* 반환 JSON:
|
|
264
|
+
* ```json
|
|
265
|
+
* {
|
|
266
|
+
* "bytesLen": 678912,
|
|
267
|
+
* "pageCountBefore": 9,
|
|
268
|
+
* "pageCountAfter": 9,
|
|
269
|
+
* "recovered": true
|
|
270
|
+
* }
|
|
271
|
+
* ```
|
|
272
|
+
*
|
|
273
|
+
* 본 함수는 검증 메타데이터만 반환하며 bytes 자체는 별도 호출 (`exportHwp`) 로 받아야 한다.
|
|
274
|
+
* 검증과 실제 사용을 분리하여 호출자가 결과에 따라 다른 동작을 취할 수 있도록 한다.
|
|
275
|
+
*/
|
|
276
|
+
exportHwpVerify(): string;
|
|
277
|
+
/**
|
|
278
|
+
* Document IR을 HWPX(ZIP+XML)로 직렬화하여 반환한다.
|
|
279
|
+
*/
|
|
280
|
+
exportHwpx(): Uint8Array;
|
|
257
281
|
/**
|
|
258
282
|
* 선택 영역을 HTML 문자열로 변환한다 (본문).
|
|
259
283
|
*/
|
|
@@ -622,6 +646,10 @@ export class HwpDocument {
|
|
|
622
646
|
* 투명선 표시 여부를 반환한다.
|
|
623
647
|
*/
|
|
624
648
|
getShowTransparentBorders(): boolean;
|
|
649
|
+
/**
|
|
650
|
+
* 원본 파일 형식을 반환한다 ("hwp" 또는 "hwpx").
|
|
651
|
+
*/
|
|
652
|
+
getSourceFormat(): string;
|
|
625
653
|
/**
|
|
626
654
|
* 특정 문단의 스타일을 조회한다.
|
|
627
655
|
*
|
|
@@ -690,6 +718,36 @@ export class HwpDocument {
|
|
|
690
718
|
* 문단에서 텍스트 부분 문자열을 반환한다 (Undo용 텍스트 보존).
|
|
691
719
|
*/
|
|
692
720
|
getTextRange(section_idx: number, para_idx: number, char_offset: number, count: number): string;
|
|
721
|
+
/**
|
|
722
|
+
* HWPX 비표준 감지 경고를 JSON 문자열로 반환한다 (#177).
|
|
723
|
+
*
|
|
724
|
+
* ## 반환 형식
|
|
725
|
+
*
|
|
726
|
+
* ```json
|
|
727
|
+
* {
|
|
728
|
+
* "count": 3,
|
|
729
|
+
* "summary": {
|
|
730
|
+
* "lineseg 배열이 비어있음": 1,
|
|
731
|
+
* "lineseg 가 미계산 상태 (line_height=0)": 2
|
|
732
|
+
* },
|
|
733
|
+
* "warnings": [
|
|
734
|
+
* {
|
|
735
|
+
* "section": 0,
|
|
736
|
+
* "paragraph": 5,
|
|
737
|
+
* "kind": "LinesegArrayEmpty",
|
|
738
|
+
* "cell": null
|
|
739
|
+
* },
|
|
740
|
+
* {
|
|
741
|
+
* "section": 0,
|
|
742
|
+
* "paragraph": 10,
|
|
743
|
+
* "kind": "LinesegUncomputed",
|
|
744
|
+
* "cell": {"ctrl": 0, "row": 0, "col": 1, "innerPara": 0}
|
|
745
|
+
* }
|
|
746
|
+
* ]
|
|
747
|
+
* }
|
|
748
|
+
* ```
|
|
749
|
+
*/
|
|
750
|
+
getValidationWarnings(): string;
|
|
693
751
|
/**
|
|
694
752
|
* 선택된 개체들을 하나의 GroupShape로 묶는다.
|
|
695
753
|
* json: `{"sectionIdx":N, "targets":[{"paraIdx":N,"controlIdx":N},...]}`
|
|
@@ -909,6 +967,15 @@ export class HwpDocument {
|
|
|
909
967
|
* 반환값: JSON `{"ok":true,"cellParaIdx":<idx>,"charOffset":<offset>}`
|
|
910
968
|
*/
|
|
911
969
|
pasteInternalInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number): string;
|
|
970
|
+
/**
|
|
971
|
+
* 사용자 명시 요청에 의한 lineseg 전체 reflow (#177).
|
|
972
|
+
*
|
|
973
|
+
* `reflow_zero_height_paragraphs` 의 자동 경로와 달리, "빈 line_segs + text 존재"
|
|
974
|
+
* 케이스까지 포함해 재계산한다. 반환값은 실제로 reflow 된 문단 개수.
|
|
975
|
+
*
|
|
976
|
+
* 호출 이후 렌더 캐시·페이지네이션이 갱신되므로 즉시 렌더링하면 보정된 결과가 보인다.
|
|
977
|
+
*/
|
|
978
|
+
reflowLinesegs(): number;
|
|
912
979
|
/**
|
|
913
980
|
* 커서 위치의 누름틀 필드를 제거한다 (본문 문단).
|
|
914
981
|
*/
|
|
@@ -950,6 +1017,10 @@ export class HwpDocument {
|
|
|
950
1017
|
* 전체 치환
|
|
951
1018
|
*/
|
|
952
1019
|
replaceAll(query: string, new_text: string, case_sensitive: boolean): string;
|
|
1020
|
+
/**
|
|
1021
|
+
* 단일 치환 (검색어 기반) — 첫 번째 매치만 교체
|
|
1022
|
+
*/
|
|
1023
|
+
replaceOne(query: string, new_text: string, case_sensitive: boolean): string;
|
|
953
1024
|
/**
|
|
954
1025
|
* 텍스트 치환 (단일)
|
|
955
1026
|
*/
|
|
@@ -1103,6 +1174,11 @@ export class HwpDocument {
|
|
|
1103
1174
|
* 디버그 오버레이 표시 여부를 설정한다.
|
|
1104
1175
|
*/
|
|
1105
1176
|
set_debug_overlay(enabled: boolean): void;
|
|
1177
|
+
/**
|
|
1178
|
+
* LINE_SEG vpos-reset 강제 분리 적용 여부를 설정한다.
|
|
1179
|
+
* 변경 시 페이지네이션 결과가 달라지므로 모든 섹션을 재페이지네이션한다.
|
|
1180
|
+
*/
|
|
1181
|
+
set_respect_vpos_reset(enabled: boolean): void;
|
|
1106
1182
|
/**
|
|
1107
1183
|
* 캐럿 위치에서 문단을 분할한다 (Enter 키).
|
|
1108
1184
|
*
|
|
@@ -1242,8 +1318,6 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
|
|
|
1242
1318
|
|
|
1243
1319
|
export interface InitOutput {
|
|
1244
1320
|
readonly memory: WebAssembly.Memory;
|
|
1245
|
-
readonly version: () => [number, number];
|
|
1246
|
-
readonly init_panic_hook: () => void;
|
|
1247
1321
|
readonly __wbg_hwpdocument_free: (a: number, b: number) => void;
|
|
1248
1322
|
readonly __wbg_hwpviewer_free: (a: number, b: number) => void;
|
|
1249
1323
|
readonly extractThumbnail: (a: number, b: number) => any;
|
|
@@ -1295,6 +1369,8 @@ export interface InitOutput {
|
|
|
1295
1369
|
readonly hwpdocument_evaluateTableFormula: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
|
|
1296
1370
|
readonly hwpdocument_exportControlHtml: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1297
1371
|
readonly hwpdocument_exportHwp: (a: number) => [number, number, number, number];
|
|
1372
|
+
readonly hwpdocument_exportHwpVerify: (a: number) => [number, number, number, number];
|
|
1373
|
+
readonly hwpdocument_exportHwpx: (a: number) => [number, number, number, number];
|
|
1298
1374
|
readonly hwpdocument_exportSelectionHtml: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
1299
1375
|
readonly hwpdocument_exportSelectionInCellHtml: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
|
|
1300
1376
|
readonly hwpdocument_findNearestControlBackward: (a: number, b: number, c: number, d: number) => [number, number];
|
|
@@ -1370,6 +1446,7 @@ export interface InitOutput {
|
|
|
1370
1446
|
readonly hwpdocument_getShapeProperties: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1371
1447
|
readonly hwpdocument_getShowControlCodes: (a: number) => number;
|
|
1372
1448
|
readonly hwpdocument_getShowTransparentBorders: (a: number) => number;
|
|
1449
|
+
readonly hwpdocument_getSourceFormat: (a: number) => [number, number];
|
|
1373
1450
|
readonly hwpdocument_getStyleAt: (a: number, b: number, c: number) => [number, number];
|
|
1374
1451
|
readonly hwpdocument_getStyleDetail: (a: number, b: number) => [number, number];
|
|
1375
1452
|
readonly hwpdocument_getStyleList: (a: number) => [number, number];
|
|
@@ -1383,6 +1460,7 @@ export interface InitOutput {
|
|
|
1383
1460
|
readonly hwpdocument_getTextInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
|
|
1384
1461
|
readonly hwpdocument_getTextInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
1385
1462
|
readonly hwpdocument_getTextRange: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
1463
|
+
readonly hwpdocument_getValidationWarnings: (a: number) => [number, number];
|
|
1386
1464
|
readonly hwpdocument_groupShapes: (a: number, b: number, c: number) => [number, number, number, number];
|
|
1387
1465
|
readonly hwpdocument_hasInternalClipboard: (a: number) => number;
|
|
1388
1466
|
readonly hwpdocument_hitTest: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
@@ -1424,6 +1502,7 @@ export interface InitOutput {
|
|
|
1424
1502
|
readonly hwpdocument_pasteHtmlInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
|
|
1425
1503
|
readonly hwpdocument_pasteInternal: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1426
1504
|
readonly hwpdocument_pasteInternalInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
1505
|
+
readonly hwpdocument_reflowLinesegs: (a: number) => number;
|
|
1427
1506
|
readonly hwpdocument_removeFieldAt: (a: number, b: number, c: number, d: number) => [number, number];
|
|
1428
1507
|
readonly hwpdocument_removeFieldAtInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
1429
1508
|
readonly hwpdocument_renameBookmark: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
@@ -1433,6 +1512,7 @@ export interface InitOutput {
|
|
|
1433
1512
|
readonly hwpdocument_renderPageSvg: (a: number, b: number) => [number, number, number, number];
|
|
1434
1513
|
readonly hwpdocument_renderPageToCanvas: (a: number, b: number, c: any, d: number) => [number, number];
|
|
1435
1514
|
readonly hwpdocument_replaceAll: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
1515
|
+
readonly hwpdocument_replaceOne: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
1436
1516
|
readonly hwpdocument_replaceText: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
1437
1517
|
readonly hwpdocument_resizeTableCells: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
1438
1518
|
readonly hwpdocument_restoreSnapshot: (a: number, b: number) => [number, number, number, number];
|
|
@@ -1464,6 +1544,7 @@ export interface InitOutput {
|
|
|
1464
1544
|
readonly hwpdocument_setShowTransparentBorders: (a: number, b: number) => void;
|
|
1465
1545
|
readonly hwpdocument_setTableProperties: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
1466
1546
|
readonly hwpdocument_set_debug_overlay: (a: number, b: number) => void;
|
|
1547
|
+
readonly hwpdocument_set_respect_vpos_reset: (a: number, b: number) => void;
|
|
1467
1548
|
readonly hwpdocument_splitParagraph: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
1468
1549
|
readonly hwpdocument_splitParagraphInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
1469
1550
|
readonly hwpdocument_splitParagraphInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
@@ -1487,6 +1568,8 @@ export interface InitOutput {
|
|
|
1487
1568
|
readonly hwpviewer_updateViewport: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
1488
1569
|
readonly hwpviewer_visiblePages: (a: number) => [number, number];
|
|
1489
1570
|
readonly hwpviewer_pageCount: (a: number) => number;
|
|
1571
|
+
readonly version: () => [number, number];
|
|
1572
|
+
readonly init_panic_hook: () => void;
|
|
1490
1573
|
readonly __wbindgen_exn_store: (a: number) => void;
|
|
1491
1574
|
readonly __externref_table_alloc: () => number;
|
|
1492
1575
|
readonly __wbindgen_externrefs: WebAssembly.Table;
|
package/rhwp.js
CHANGED
|
@@ -1151,6 +1151,9 @@ export class HwpDocument {
|
|
|
1151
1151
|
* 문서를 HWP 바이너리로 내보낸다.
|
|
1152
1152
|
*
|
|
1153
1153
|
* Document IR을 HWP 5.0 CFB 바이너리로 직렬화하여 반환한다.
|
|
1154
|
+
* HWPX 출처 문서는 `export_hwp_with_adapter` 를 통해 HWPX→HWP IR 매핑 어댑터를
|
|
1155
|
+
* 자동 적용하여 한컴 호환성과 자기 재로드 페이지 보존을 보장한다 (#178).
|
|
1156
|
+
* HWP 출처는 어댑터가 no-op 이므로 기존 동작과 동일.
|
|
1154
1157
|
* @returns {Uint8Array}
|
|
1155
1158
|
*/
|
|
1156
1159
|
exportHwp() {
|
|
@@ -1162,6 +1165,54 @@ export class HwpDocument {
|
|
|
1162
1165
|
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
1163
1166
|
return v1;
|
|
1164
1167
|
}
|
|
1168
|
+
/**
|
|
1169
|
+
* 어댑터 적용 + HWP 직렬화 + 자기 재로드 검증을 수행하고 결과를 JSON 으로 반환한다 (#178).
|
|
1170
|
+
*
|
|
1171
|
+
* 반환 JSON:
|
|
1172
|
+
* ```json
|
|
1173
|
+
* {
|
|
1174
|
+
* "bytesLen": 678912,
|
|
1175
|
+
* "pageCountBefore": 9,
|
|
1176
|
+
* "pageCountAfter": 9,
|
|
1177
|
+
* "recovered": true
|
|
1178
|
+
* }
|
|
1179
|
+
* ```
|
|
1180
|
+
*
|
|
1181
|
+
* 본 함수는 검증 메타데이터만 반환하며 bytes 자체는 별도 호출 (`exportHwp`) 로 받아야 한다.
|
|
1182
|
+
* 검증과 실제 사용을 분리하여 호출자가 결과에 따라 다른 동작을 취할 수 있도록 한다.
|
|
1183
|
+
* @returns {string}
|
|
1184
|
+
*/
|
|
1185
|
+
exportHwpVerify() {
|
|
1186
|
+
let deferred2_0;
|
|
1187
|
+
let deferred2_1;
|
|
1188
|
+
try {
|
|
1189
|
+
const ret = wasm.hwpdocument_exportHwpVerify(this.__wbg_ptr);
|
|
1190
|
+
var ptr1 = ret[0];
|
|
1191
|
+
var len1 = ret[1];
|
|
1192
|
+
if (ret[3]) {
|
|
1193
|
+
ptr1 = 0; len1 = 0;
|
|
1194
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
1195
|
+
}
|
|
1196
|
+
deferred2_0 = ptr1;
|
|
1197
|
+
deferred2_1 = len1;
|
|
1198
|
+
return getStringFromWasm0(ptr1, len1);
|
|
1199
|
+
} finally {
|
|
1200
|
+
wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
|
|
1201
|
+
}
|
|
1202
|
+
}
|
|
1203
|
+
/**
|
|
1204
|
+
* Document IR을 HWPX(ZIP+XML)로 직렬화하여 반환한다.
|
|
1205
|
+
* @returns {Uint8Array}
|
|
1206
|
+
*/
|
|
1207
|
+
exportHwpx() {
|
|
1208
|
+
const ret = wasm.hwpdocument_exportHwpx(this.__wbg_ptr);
|
|
1209
|
+
if (ret[3]) {
|
|
1210
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
1211
|
+
}
|
|
1212
|
+
var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
1213
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
1214
|
+
return v1;
|
|
1215
|
+
}
|
|
1165
1216
|
/**
|
|
1166
1217
|
* 선택 영역을 HTML 문자열로 변환한다 (본문).
|
|
1167
1218
|
* @param {number} section_idx
|
|
@@ -2821,6 +2872,22 @@ export class HwpDocument {
|
|
|
2821
2872
|
const ret = wasm.hwpdocument_getShowTransparentBorders(this.__wbg_ptr);
|
|
2822
2873
|
return ret !== 0;
|
|
2823
2874
|
}
|
|
2875
|
+
/**
|
|
2876
|
+
* 원본 파일 형식을 반환한다 ("hwp" 또는 "hwpx").
|
|
2877
|
+
* @returns {string}
|
|
2878
|
+
*/
|
|
2879
|
+
getSourceFormat() {
|
|
2880
|
+
let deferred1_0;
|
|
2881
|
+
let deferred1_1;
|
|
2882
|
+
try {
|
|
2883
|
+
const ret = wasm.hwpdocument_getSourceFormat(this.__wbg_ptr);
|
|
2884
|
+
deferred1_0 = ret[0];
|
|
2885
|
+
deferred1_1 = ret[1];
|
|
2886
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
2887
|
+
} finally {
|
|
2888
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
2889
|
+
}
|
|
2890
|
+
}
|
|
2824
2891
|
/**
|
|
2825
2892
|
* 특정 문단의 스타일을 조회한다.
|
|
2826
2893
|
*
|
|
@@ -3139,6 +3206,48 @@ export class HwpDocument {
|
|
|
3139
3206
|
wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
|
|
3140
3207
|
}
|
|
3141
3208
|
}
|
|
3209
|
+
/**
|
|
3210
|
+
* HWPX 비표준 감지 경고를 JSON 문자열로 반환한다 (#177).
|
|
3211
|
+
*
|
|
3212
|
+
* ## 반환 형식
|
|
3213
|
+
*
|
|
3214
|
+
* ```json
|
|
3215
|
+
* {
|
|
3216
|
+
* "count": 3,
|
|
3217
|
+
* "summary": {
|
|
3218
|
+
* "lineseg 배열이 비어있음": 1,
|
|
3219
|
+
* "lineseg 가 미계산 상태 (line_height=0)": 2
|
|
3220
|
+
* },
|
|
3221
|
+
* "warnings": [
|
|
3222
|
+
* {
|
|
3223
|
+
* "section": 0,
|
|
3224
|
+
* "paragraph": 5,
|
|
3225
|
+
* "kind": "LinesegArrayEmpty",
|
|
3226
|
+
* "cell": null
|
|
3227
|
+
* },
|
|
3228
|
+
* {
|
|
3229
|
+
* "section": 0,
|
|
3230
|
+
* "paragraph": 10,
|
|
3231
|
+
* "kind": "LinesegUncomputed",
|
|
3232
|
+
* "cell": {"ctrl": 0, "row": 0, "col": 1, "innerPara": 0}
|
|
3233
|
+
* }
|
|
3234
|
+
* ]
|
|
3235
|
+
* }
|
|
3236
|
+
* ```
|
|
3237
|
+
* @returns {string}
|
|
3238
|
+
*/
|
|
3239
|
+
getValidationWarnings() {
|
|
3240
|
+
let deferred1_0;
|
|
3241
|
+
let deferred1_1;
|
|
3242
|
+
try {
|
|
3243
|
+
const ret = wasm.hwpdocument_getValidationWarnings(this.__wbg_ptr);
|
|
3244
|
+
deferred1_0 = ret[0];
|
|
3245
|
+
deferred1_1 = ret[1];
|
|
3246
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
3247
|
+
} finally {
|
|
3248
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
3249
|
+
}
|
|
3250
|
+
}
|
|
3142
3251
|
/**
|
|
3143
3252
|
* 선택된 개체들을 하나의 GroupShape로 묶는다.
|
|
3144
3253
|
* json: `{"sectionIdx":N, "targets":[{"paraIdx":N,"controlIdx":N},...]}`
|
|
@@ -4252,6 +4361,19 @@ export class HwpDocument {
|
|
|
4252
4361
|
wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
|
|
4253
4362
|
}
|
|
4254
4363
|
}
|
|
4364
|
+
/**
|
|
4365
|
+
* 사용자 명시 요청에 의한 lineseg 전체 reflow (#177).
|
|
4366
|
+
*
|
|
4367
|
+
* `reflow_zero_height_paragraphs` 의 자동 경로와 달리, "빈 line_segs + text 존재"
|
|
4368
|
+
* 케이스까지 포함해 재계산한다. 반환값은 실제로 reflow 된 문단 개수.
|
|
4369
|
+
*
|
|
4370
|
+
* 호출 이후 렌더 캐시·페이지네이션이 갱신되므로 즉시 렌더링하면 보정된 결과가 보인다.
|
|
4371
|
+
* @returns {number}
|
|
4372
|
+
*/
|
|
4373
|
+
reflowLinesegs() {
|
|
4374
|
+
const ret = wasm.hwpdocument_reflowLinesegs(this.__wbg_ptr);
|
|
4375
|
+
return ret >>> 0;
|
|
4376
|
+
}
|
|
4255
4377
|
/**
|
|
4256
4378
|
* 커서 위치의 누름틀 필드를 제거한다 (본문 문단).
|
|
4257
4379
|
* @param {number} section_idx
|
|
@@ -4453,6 +4575,35 @@ export class HwpDocument {
|
|
|
4453
4575
|
wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
|
|
4454
4576
|
}
|
|
4455
4577
|
}
|
|
4578
|
+
/**
|
|
4579
|
+
* 단일 치환 (검색어 기반) — 첫 번째 매치만 교체
|
|
4580
|
+
* @param {string} query
|
|
4581
|
+
* @param {string} new_text
|
|
4582
|
+
* @param {boolean} case_sensitive
|
|
4583
|
+
* @returns {string}
|
|
4584
|
+
*/
|
|
4585
|
+
replaceOne(query, new_text, case_sensitive) {
|
|
4586
|
+
let deferred4_0;
|
|
4587
|
+
let deferred4_1;
|
|
4588
|
+
try {
|
|
4589
|
+
const ptr0 = passStringToWasm0(query, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
4590
|
+
const len0 = WASM_VECTOR_LEN;
|
|
4591
|
+
const ptr1 = passStringToWasm0(new_text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
4592
|
+
const len1 = WASM_VECTOR_LEN;
|
|
4593
|
+
const ret = wasm.hwpdocument_replaceOne(this.__wbg_ptr, ptr0, len0, ptr1, len1, case_sensitive);
|
|
4594
|
+
var ptr3 = ret[0];
|
|
4595
|
+
var len3 = ret[1];
|
|
4596
|
+
if (ret[3]) {
|
|
4597
|
+
ptr3 = 0; len3 = 0;
|
|
4598
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
4599
|
+
}
|
|
4600
|
+
deferred4_0 = ptr3;
|
|
4601
|
+
deferred4_1 = len3;
|
|
4602
|
+
return getStringFromWasm0(ptr3, len3);
|
|
4603
|
+
} finally {
|
|
4604
|
+
wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
|
|
4605
|
+
}
|
|
4606
|
+
}
|
|
4456
4607
|
/**
|
|
4457
4608
|
* 텍스트 치환 (단일)
|
|
4458
4609
|
* @param {number} sec
|
|
@@ -5118,6 +5269,14 @@ export class HwpDocument {
|
|
|
5118
5269
|
set_debug_overlay(enabled) {
|
|
5119
5270
|
wasm.hwpdocument_set_debug_overlay(this.__wbg_ptr, enabled);
|
|
5120
5271
|
}
|
|
5272
|
+
/**
|
|
5273
|
+
* LINE_SEG vpos-reset 강제 분리 적용 여부를 설정한다.
|
|
5274
|
+
* 변경 시 페이지네이션 결과가 달라지므로 모든 섹션을 재페이지네이션한다.
|
|
5275
|
+
* @param {boolean} enabled
|
|
5276
|
+
*/
|
|
5277
|
+
set_respect_vpos_reset(enabled) {
|
|
5278
|
+
wasm.hwpdocument_set_respect_vpos_reset(this.__wbg_ptr, enabled);
|
|
5279
|
+
}
|
|
5121
5280
|
/**
|
|
5122
5281
|
* 캐럿 위치에서 문단을 분할한다 (Enter 키).
|
|
5123
5282
|
*
|
|
@@ -5770,7 +5929,7 @@ function __wbg_get_imports() {
|
|
|
5770
5929
|
__wbg_lineTo_c9f1e0dd4824ae31: function(arg0, arg1, arg2) {
|
|
5771
5930
|
arg0.lineTo(arg1, arg2);
|
|
5772
5931
|
},
|
|
5773
|
-
|
|
5932
|
+
__wbg_measureTextWidth_ee8c76e138de8dd3: function(arg0, arg1, arg2, arg3) {
|
|
5774
5933
|
const ret = globalThis.measureTextWidth(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));
|
|
5775
5934
|
return ret;
|
|
5776
5935
|
},
|
package/rhwp_bg.wasm
CHANGED
|
Binary file
|
package/rhwp_bg.wasm.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
export const memory: WebAssembly.Memory;
|
|
4
|
-
export const version: () => [number, number];
|
|
5
|
-
export const init_panic_hook: () => void;
|
|
6
4
|
export const __wbg_hwpdocument_free: (a: number, b: number) => void;
|
|
7
5
|
export const __wbg_hwpviewer_free: (a: number, b: number) => void;
|
|
8
6
|
export const extractThumbnail: (a: number, b: number) => any;
|
|
@@ -54,6 +52,8 @@ export const hwpdocument_ensureDefaultNumbering: (a: number) => number;
|
|
|
54
52
|
export const hwpdocument_evaluateTableFormula: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
|
|
55
53
|
export const hwpdocument_exportControlHtml: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
56
54
|
export const hwpdocument_exportHwp: (a: number) => [number, number, number, number];
|
|
55
|
+
export const hwpdocument_exportHwpVerify: (a: number) => [number, number, number, number];
|
|
56
|
+
export const hwpdocument_exportHwpx: (a: number) => [number, number, number, number];
|
|
57
57
|
export const hwpdocument_exportSelectionHtml: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
58
58
|
export const hwpdocument_exportSelectionInCellHtml: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
|
|
59
59
|
export const hwpdocument_findNearestControlBackward: (a: number, b: number, c: number, d: number) => [number, number];
|
|
@@ -129,6 +129,7 @@ export const hwpdocument_getSelectionRectsInCell: (a: number, b: number, c: numb
|
|
|
129
129
|
export const hwpdocument_getShapeProperties: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
130
130
|
export const hwpdocument_getShowControlCodes: (a: number) => number;
|
|
131
131
|
export const hwpdocument_getShowTransparentBorders: (a: number) => number;
|
|
132
|
+
export const hwpdocument_getSourceFormat: (a: number) => [number, number];
|
|
132
133
|
export const hwpdocument_getStyleAt: (a: number, b: number, c: number) => [number, number];
|
|
133
134
|
export const hwpdocument_getStyleDetail: (a: number, b: number) => [number, number];
|
|
134
135
|
export const hwpdocument_getStyleList: (a: number) => [number, number];
|
|
@@ -142,6 +143,7 @@ export const hwpdocument_getTextBoxControlIndex: (a: number, b: number, c: numbe
|
|
|
142
143
|
export const hwpdocument_getTextInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
|
|
143
144
|
export const hwpdocument_getTextInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
144
145
|
export const hwpdocument_getTextRange: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
146
|
+
export const hwpdocument_getValidationWarnings: (a: number) => [number, number];
|
|
145
147
|
export const hwpdocument_groupShapes: (a: number, b: number, c: number) => [number, number, number, number];
|
|
146
148
|
export const hwpdocument_hasInternalClipboard: (a: number) => number;
|
|
147
149
|
export const hwpdocument_hitTest: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
@@ -183,6 +185,7 @@ export const hwpdocument_pasteHtml: (a: number, b: number, c: number, d: number,
|
|
|
183
185
|
export const hwpdocument_pasteHtmlInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
|
|
184
186
|
export const hwpdocument_pasteInternal: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
185
187
|
export const hwpdocument_pasteInternalInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
188
|
+
export const hwpdocument_reflowLinesegs: (a: number) => number;
|
|
186
189
|
export const hwpdocument_removeFieldAt: (a: number, b: number, c: number, d: number) => [number, number];
|
|
187
190
|
export const hwpdocument_removeFieldAtInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
188
191
|
export const hwpdocument_renameBookmark: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
@@ -192,6 +195,7 @@ export const hwpdocument_renderPageHtml: (a: number, b: number) => [number, numb
|
|
|
192
195
|
export const hwpdocument_renderPageSvg: (a: number, b: number) => [number, number, number, number];
|
|
193
196
|
export const hwpdocument_renderPageToCanvas: (a: number, b: number, c: any, d: number) => [number, number];
|
|
194
197
|
export const hwpdocument_replaceAll: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
198
|
+
export const hwpdocument_replaceOne: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
195
199
|
export const hwpdocument_replaceText: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
196
200
|
export const hwpdocument_resizeTableCells: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
197
201
|
export const hwpdocument_restoreSnapshot: (a: number, b: number) => [number, number, number, number];
|
|
@@ -223,6 +227,7 @@ export const hwpdocument_setShowParagraphMarks: (a: number, b: number) => void;
|
|
|
223
227
|
export const hwpdocument_setShowTransparentBorders: (a: number, b: number) => void;
|
|
224
228
|
export const hwpdocument_setTableProperties: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
225
229
|
export const hwpdocument_set_debug_overlay: (a: number, b: number) => void;
|
|
230
|
+
export const hwpdocument_set_respect_vpos_reset: (a: number, b: number) => void;
|
|
226
231
|
export const hwpdocument_splitParagraph: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
227
232
|
export const hwpdocument_splitParagraphInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
228
233
|
export const hwpdocument_splitParagraphInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
@@ -246,6 +251,8 @@ export const hwpviewer_setZoom: (a: number, b: number) => void;
|
|
|
246
251
|
export const hwpviewer_updateViewport: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
247
252
|
export const hwpviewer_visiblePages: (a: number) => [number, number];
|
|
248
253
|
export const hwpviewer_pageCount: (a: number) => number;
|
|
254
|
+
export const version: () => [number, number];
|
|
255
|
+
export const init_panic_hook: () => void;
|
|
249
256
|
export const __wbindgen_exn_store: (a: number) => void;
|
|
250
257
|
export const __externref_table_alloc: () => number;
|
|
251
258
|
export const __wbindgen_externrefs: WebAssembly.Table;
|