@rhwp/core 0.7.15 → 0.7.17

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 CHANGED
@@ -135,6 +135,51 @@ for (let i = 0; i < total; i++) {
135
135
  }
136
136
  ```
137
137
 
138
+ ### 편집 API
139
+
140
+ `HwpDocument` 는 텍스트·표·그림·필드·서식을 편집하는 API 를 제공합니다. 대부분의
141
+ 편집 메서드는 결과를 JSON 문자열로 반환합니다.
142
+
143
+ ```javascript
144
+ // 텍스트 삽입 (구역 0, 문단 0, 오프셋 0)
145
+ doc.insertText(0, 0, 0, '안녕하세요');
146
+
147
+ // 표 생성 (2행 2열)
148
+ doc.createTable(0, 0, 0, 2, 2);
149
+ ```
150
+
151
+ 전체 편집 API 목록과 시그니처는 패키지에 포함된 타입 정의 `rhwp.d.ts` 를 참고하세요
152
+ (IDE 자동완성으로 인자·반환 타입을 확인할 수 있습니다).
153
+
154
+ ### options object 변형 (`*Ex`) — 권장
155
+
156
+ 인자가 많은 편집 API 는 **options object 변형 `<이름>Ex(optionsJson)`** 을 함께
157
+ 제공합니다. positional 인자 대신 JSON 문자열로 호출하므로, 라이브러리 버전이 올라가며
158
+ 인자가 추가·변경돼도 호출부가 덜 깨집니다(0.x 단계 권장).
159
+
160
+ ```javascript
161
+ // positional — 인자 위치가 바뀌면 호출부를 모두 수정해야 함
162
+ doc.insertPicture(0, 0, 0, '', imageBytes, 4000, 3000, 100, 80, 'png', '', null, null);
163
+
164
+ // options object (권장) — 필드 추가/순서 변경에 안전
165
+ doc.insertPictureEx(
166
+ JSON.stringify({
167
+ sectionIdx: 0, paraIdx: 0, charOffset: 0,
168
+ width: 4000, height: 3000, naturalWidthPx: 100, naturalHeightPx: 80,
169
+ extension: 'png',
170
+ }),
171
+ imageBytes, // 이미지 바이너리는 별도 인자(Uint8Array)
172
+ );
173
+ ```
174
+
175
+ - 키는 camelCase(`section_idx` → `sectionIdx`). 선택 키는 생략 시 기본값으로 처리됩니다.
176
+ - 반환값과 동작은 positional 버전과 동일합니다.
177
+ - 이미지 같은 바이너리 데이터는 JSON 이 아니라 별도 인자로 받습니다.
178
+ - 어떤 메서드에 `*Ex` 가 있는지는 `rhwp.d.ts` 에서 `Ex(options` 로 확인할 수 있습니다.
179
+
180
+ > 0.x 단계라 편집 API 시그니처가 바뀔 수 있습니다. 인자가 많은 API 는 `*Ex` 사용을
181
+ > 권장하며, 변경 사항은 CHANGELOG 의 `### API` 항목에 기록합니다.
182
+
138
183
  ## 필수 설정: measureTextWidth
139
184
 
140
185
  WASM 내부에서 텍스트 레이아웃(줄바꿈, 정렬 등)을 계산할 때
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhwp/core",
3
- "version": "0.7.15",
3
+ "version": "0.7.17",
4
4
  "description": "HWP/HWPX file parser and renderer — Rust + WebAssembly",
5
5
  "type": "module",
6
6
  "main": "rhwp.js",