@kimdayoun/hwpx-mcp 0.3.0

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.
@@ -0,0 +1,1641 @@
1
+ export type LineType1 = 'Solid' | 'Dash' | 'Dot' | 'DashDot' | 'DashDotDot' | 'LongDash' | 'CircleDot' | 'DoubleSlim' | 'SlimThick' | 'ThickSlim' | 'SlimThickSlim' | 'None' | 'solid' | 'dash' | 'dot' | 'dashDot' | 'dashDotDot' | 'longDash' | 'circleDot' | 'doubleSlim' | 'slimThick' | 'thickSlim' | 'slimThickSlim' | 'none';
2
+ export type LineType2 = LineType1;
3
+ export type LineType3 = 'Solid' | 'Dot' | 'Thick' | 'Dash' | 'DashDot' | 'DashDotDot';
4
+ export type LineWidth = '0.1mm' | '0.12mm' | '0.15mm' | '0.2mm' | '0.25mm' | '0.3mm' | '0.4mm' | '0.5mm' | '0.6mm' | '0.7mm' | '1.0mm' | '1.5mm' | '2.0mm' | '3.0mm' | '4.0mm' | '5.0mm';
5
+ export type NumberType1 = 'Digit' | 'CircledDigit' | 'RomanCapital' | 'RomanSmall' | 'LatinCapital' | 'LatinSmall' | 'CircledLatinCapital' | 'CircledLatinSmall' | 'HangulSyllable' | 'CircledHangulSyllable' | 'HangulJamo' | 'CircledHangulJamo' | 'HangulPhonetic' | 'Ideograph' | 'CircledIdeograph' | 'DecimalEnclosedInParentheses' | 'digit' | 'circledDigit' | 'romanCapital' | 'romanSmall' | 'latinCapital' | 'latinSmall' | 'circledLatinCapital' | 'circledLatinSmall' | 'hangulSyllable' | 'circledHangulSyllable' | 'hangulJamo' | 'circledHangulJamo' | 'hangulPhonetic' | 'ideograph' | 'circledIdeograph' | 'decimalEnclosedInParentheses';
6
+ export type NumberType2 = NumberType1 | 'DecagonCircle' | 'DecagonCircleHanja' | 'Symbol' | 'UserChar';
7
+ export type AlignmentType1 = 'Justify' | 'Left' | 'Right' | 'Center' | 'Distribute' | 'DistributeSpace' | 'justify' | 'left' | 'right' | 'center' | 'distribute' | 'distributeSpace';
8
+ export type AlignmentType2 = 'Left' | 'Center' | 'Right';
9
+ export type ArrowType = 'Normal' | 'Arrow' | 'Spear' | 'ConcaveArrow' | 'EmptyDiamond' | 'EmptyCircle' | 'EmptyBox' | 'FilledDiamond' | 'FilledCircle' | 'FilledBox';
10
+ export type ArrowSize = 'SmallSmall' | 'SmallMedium' | 'SmallLarge' | 'MediumSmall' | 'MediumMedium' | 'MediumLarge' | 'LargeSmall' | 'LargeMedium' | 'LargeLarge';
11
+ export type LangType = 'Hangul' | 'Latin' | 'Hanja' | 'Japanese' | 'Other' | 'Symbol' | 'User';
12
+ export type HatchStyle = 'Horizontal' | 'Vertical' | 'BackSlash' | 'Slash' | 'Cross' | 'CrossDiagonal';
13
+ export type InfillMode = 'Tile' | 'TileHorzTop' | 'TileHorzBottom' | 'TileVertLeft' | 'TileVertRight' | 'Total' | 'Center' | 'CenterTop' | 'CenterBottom' | 'LeftCenter' | 'LeftTop' | 'LeftBottom' | 'RightCenter' | 'RightTop' | 'RightBottom' | 'Zoom';
14
+ export type LineWrapType = 'Break' | 'Squeeze' | 'Keep' | 'break' | 'squeeze' | 'keep';
15
+ export type TextWrapType = 'Square' | 'Tight' | 'Through' | 'TopAndBottom' | 'BehindText' | 'InFrontOfText' | 'square' | 'tight' | 'through' | 'topAndBottom' | 'behindText' | 'inFrontOfText';
16
+ export type TextFlowType = 'BothSides' | 'LeftOnly' | 'RightOnly' | 'LargestOnly' | 'bothSides' | 'leftOnly' | 'rightOnly' | 'largestOnly';
17
+ export type FieldType = 'Clickhere' | 'Hyperlink' | 'Bookmark' | 'Formula' | 'Summery' | 'UserInfo' | 'Date' | 'DocDate' | 'Path' | 'Crossref' | 'Mailmerge' | 'Memo' | 'RevisionChange' | 'RevisionSign' | 'RevisionDelete' | 'RevisionAttach' | 'RevisionClipping' | 'RevisionSawtooth' | 'RevisionThinking' | 'RevisionPraise' | 'RevisionLine' | 'RevisionSimpleChange' | 'RevisionHyperlink' | 'RevisionLineAttach' | 'RevisionLineLink' | 'RevisionLineTransfer' | 'RevisionRightmove' | 'RevisionLeftmove' | 'RevisionTransfer' | 'RevisionSplit' | 'unknown' | 'hyperlink' | 'bookmark' | 'formula' | 'memo' | 'date' | 'docDate' | 'path' | 'mailMerge' | 'crossRef' | 'clickHere' | 'summary' | 'userInfo' | 'revisionSign' | 'privateTxt' | 'tableOfContents';
18
+ export type UnderlineType = 'Bottom' | 'Center' | 'Top' | 'None' | 'bottom' | 'center' | 'top' | 'none';
19
+ export type StrikeoutType = 'None' | 'Continuous';
20
+ export type ShadowType = 'None' | 'Drop' | 'Cont';
21
+ export type EmphasisMark = 'None' | 'Dot' | 'Circle' | 'Ring' | 'Caron' | 'UnderDot' | 'UnderLine' | 'Triangle' | 'none' | 'dot' | 'circle' | 'ring' | 'caron' | 'underDot' | 'underLine' | 'triangle';
22
+ export type HeadingType = 'None' | 'Outline' | 'Number' | 'Bullet' | 'none' | 'outline' | 'number' | 'bullet';
23
+ export type GradationType = 'Linear' | 'Radial' | 'Conical' | 'Square' | 'linear' | 'radial' | 'conical' | 'square';
24
+ export type PageBreakType = 'Table' | 'Cell' | 'None' | 'table' | 'cell' | 'none';
25
+ export type VertAlign = 'Top' | 'Center' | 'Bottom' | 'Inside' | 'Outside' | 'Para' | 'top' | 'center' | 'bottom' | 'inside' | 'outside' | 'para';
26
+ export type HorzAlign = 'Left' | 'Center' | 'Right' | 'Inside' | 'Outside' | 'left' | 'center' | 'right' | 'inside' | 'outside';
27
+ export type VertRelTo = 'Paper' | 'Page' | 'Para' | 'paper' | 'page' | 'para';
28
+ export type HorzRelTo = 'Paper' | 'Page' | 'Column' | 'Para' | 'paper' | 'page' | 'column' | 'para';
29
+ export type SizeRelTo = 'Paper' | 'Page' | 'Column' | 'Para' | 'Absolute';
30
+ export type GutterType = 'LeftOnly' | 'LeftRight' | 'TopBottom';
31
+ export type PageStartsOn = 'Both' | 'Even' | 'Odd' | 'both' | 'even' | 'odd';
32
+ export type ArcType = 'Normal' | 'Pie' | 'Chord';
33
+ export type OleObjectType = 'Unknown' | 'Embedded' | 'Link' | 'Static' | 'Equation';
34
+ export type DrawAspect = 'Content' | 'ThumbNail' | 'Icon' | 'DocPrint';
35
+ export type ColumnType = 'Newspaper' | 'BalancedNewspaper' | 'Parallel' | 'newspaper' | 'balanced' | 'parallel';
36
+ export type ColumnLayout = 'Left' | 'Right' | 'Mirror' | 'left' | 'right' | 'mirror';
37
+ export interface ColumnInfo {
38
+ width: number;
39
+ gap: number;
40
+ }
41
+ export type NoteNumberingType = 'Continuous' | 'OnSection' | 'OnPage';
42
+ export type NotePlacement = 'EachColumn' | 'MergedColumn' | 'RightMostColumn' | 'EndOfDocument' | 'EndOfSection';
43
+ export type TabType = 'Left' | 'Right' | 'Center' | 'Decimal' | 'left' | 'right' | 'center' | 'decimal';
44
+ export type BreakLatinWord = 'KeepWord' | 'Hyphenation' | 'BreakWord' | 'keepWord' | 'normal' | 'hyphenation' | 'breakWord';
45
+ export interface FontInfo {
46
+ id: number;
47
+ type?: 'rep' | 'ttf' | 'hft';
48
+ name: string;
49
+ substFont?: {
50
+ type?: 'rep' | 'ttf' | 'hft';
51
+ name: string;
52
+ };
53
+ typeInfo?: {
54
+ familyType?: number;
55
+ serifStyle?: number;
56
+ weight?: number;
57
+ proportion?: number;
58
+ contrast?: number;
59
+ strokeVariation?: number;
60
+ armStyle?: number;
61
+ letterform?: number;
62
+ midline?: number;
63
+ xHeight?: number;
64
+ };
65
+ }
66
+ export interface BorderStyle {
67
+ type?: LineType1;
68
+ width?: LineWidth | string | number;
69
+ color?: string;
70
+ }
71
+ export interface WindowBrush {
72
+ faceColor?: string;
73
+ hatchColor?: string;
74
+ hatchStyle?: HatchStyle;
75
+ alpha?: number;
76
+ }
77
+ export interface GradationFill {
78
+ type: GradationType;
79
+ angle?: number;
80
+ centerX?: number;
81
+ centerY?: number;
82
+ step?: number;
83
+ colorNum?: number;
84
+ stepCenter?: number;
85
+ alpha?: number;
86
+ colors: string[];
87
+ }
88
+ export interface ImageBrush {
89
+ mode: InfillMode;
90
+ bright?: number;
91
+ contrast?: number;
92
+ effect?: 'RealPic' | 'GrayScale' | 'BlackWhite';
93
+ binItem?: string;
94
+ alpha?: number;
95
+ }
96
+ export interface FillBrush {
97
+ windowBrush?: WindowBrush;
98
+ gradation?: GradationFill;
99
+ imageBrush?: ImageBrush;
100
+ }
101
+ export interface BorderFillStyle {
102
+ id: number;
103
+ threeD?: boolean;
104
+ shadow?: boolean;
105
+ slash?: number;
106
+ backSlash?: number;
107
+ crookedSlash?: number;
108
+ centerLine?: boolean;
109
+ leftBorder?: BorderStyle | {
110
+ style?: string;
111
+ width?: number | string;
112
+ color?: string;
113
+ };
114
+ rightBorder?: BorderStyle | {
115
+ style?: string;
116
+ width?: number | string;
117
+ color?: string;
118
+ };
119
+ topBorder?: BorderStyle | {
120
+ style?: string;
121
+ width?: number | string;
122
+ color?: string;
123
+ };
124
+ bottomBorder?: BorderStyle | {
125
+ style?: string;
126
+ width?: number | string;
127
+ color?: string;
128
+ };
129
+ diagonal?: BorderStyle;
130
+ diagonalBorder?: BorderStyle | {
131
+ style?: string;
132
+ width?: number | string;
133
+ color?: string;
134
+ };
135
+ antiDiagonalBorder?: BorderStyle | {
136
+ style?: string;
137
+ width?: number | string;
138
+ color?: string;
139
+ };
140
+ fillBrush?: FillBrush;
141
+ fillColor?: string;
142
+ fillType?: FillType;
143
+ gradation?: {
144
+ type: GradationType;
145
+ angle?: number;
146
+ centerX?: number;
147
+ centerY?: number;
148
+ step?: number;
149
+ colors: string[];
150
+ };
151
+ imageFill?: {
152
+ mode: ImageFillMode;
153
+ alpha?: number;
154
+ binaryItemId?: string;
155
+ };
156
+ }
157
+ export interface CharShape {
158
+ id: number;
159
+ tagName?: 'charShape' | 'charPr';
160
+ height?: number;
161
+ textColor?: string;
162
+ shadeColor?: string;
163
+ useFontSpace?: boolean;
164
+ useKerning?: boolean;
165
+ symMark?: EmphasisMark;
166
+ borderFillId?: number;
167
+ fontRefs?: {
168
+ hangul?: number;
169
+ latin?: number;
170
+ hanja?: number;
171
+ japanese?: number;
172
+ other?: number;
173
+ symbol?: number;
174
+ user?: number;
175
+ };
176
+ fontNames?: {
177
+ hangul?: string;
178
+ latin?: string;
179
+ hanja?: string;
180
+ japanese?: string;
181
+ other?: string;
182
+ symbol?: string;
183
+ user?: string;
184
+ };
185
+ ratio?: {
186
+ hangul?: number;
187
+ latin?: number;
188
+ hanja?: number;
189
+ japanese?: number;
190
+ other?: number;
191
+ symbol?: number;
192
+ user?: number;
193
+ };
194
+ charSpacing?: {
195
+ hangul?: number;
196
+ latin?: number;
197
+ hanja?: number;
198
+ japanese?: number;
199
+ other?: number;
200
+ symbol?: number;
201
+ user?: number;
202
+ };
203
+ relSize?: {
204
+ hangul?: number;
205
+ latin?: number;
206
+ hanja?: number;
207
+ japanese?: number;
208
+ other?: number;
209
+ symbol?: number;
210
+ user?: number;
211
+ };
212
+ charOffset?: {
213
+ hangul?: number;
214
+ latin?: number;
215
+ hanja?: number;
216
+ japanese?: number;
217
+ other?: number;
218
+ symbol?: number;
219
+ user?: number;
220
+ };
221
+ italic?: boolean;
222
+ bold?: boolean;
223
+ underline?: boolean | {
224
+ type: UnderlineType;
225
+ shape: LineType2;
226
+ color: string;
227
+ };
228
+ underlineType?: UnderlineType | 'bottom' | 'center' | 'top' | 'none';
229
+ underlineShape?: UnderlineShape;
230
+ underlineColor?: string;
231
+ strikethrough?: boolean;
232
+ strikeout?: boolean | {
233
+ type: StrikeoutType;
234
+ shape: LineType2;
235
+ color: string;
236
+ };
237
+ strikeoutShape?: StrikeoutShape;
238
+ strikeoutColor?: string;
239
+ outline?: LineType3 | {
240
+ type: LineType3;
241
+ };
242
+ shadow?: ShadowType | {
243
+ type: ShadowType;
244
+ color?: string;
245
+ offsetX?: number;
246
+ offsetY?: number;
247
+ alpha?: number;
248
+ };
249
+ shadowX?: number;
250
+ shadowY?: number;
251
+ shadowColor?: string;
252
+ emboss?: boolean;
253
+ engrave?: boolean;
254
+ superscript?: boolean;
255
+ subscript?: boolean;
256
+ smallCaps?: boolean;
257
+ emphasisMark?: EmphasisMark | 'none' | 'dot' | 'circle' | 'ring' | 'caron' | 'underDot' | 'underLine' | 'triangle';
258
+ relativeSize?: number;
259
+ fontName?: string;
260
+ fontSize?: number;
261
+ color?: string;
262
+ backgroundColor?: string;
263
+ }
264
+ export interface TabItem {
265
+ pos: number;
266
+ type: TabType;
267
+ leader: LineType2;
268
+ }
269
+ export interface TabDef {
270
+ id: number;
271
+ autoTabLeft?: boolean;
272
+ autoTabRight?: boolean;
273
+ items: TabItem[];
274
+ }
275
+ export interface ParaHeadInfo {
276
+ level: number;
277
+ alignment?: AlignmentType2;
278
+ useInstWidth?: boolean;
279
+ autoIndent?: boolean;
280
+ widthAdjust?: number;
281
+ textOffsetType?: 'percent' | 'hwpunit';
282
+ textOffset?: number;
283
+ numFormat?: NumberType1;
284
+ charShape?: number;
285
+ text?: string;
286
+ }
287
+ export interface NumberingDef {
288
+ id: number;
289
+ start?: number;
290
+ paraHeads: ParaHeadInfo[];
291
+ }
292
+ export interface BulletDef {
293
+ id: number;
294
+ char?: string;
295
+ image?: boolean;
296
+ useImage?: boolean;
297
+ paraHead?: ParaHeadInfo;
298
+ }
299
+ export interface ParaShape {
300
+ id: number;
301
+ align?: AlignmentType1;
302
+ verAlign?: 'Baseline' | 'Top' | 'Center' | 'Bottom';
303
+ headingType?: HeadingType;
304
+ heading?: number;
305
+ level?: number;
306
+ tabDef?: number;
307
+ breakLatinWord?: BreakLatinWord;
308
+ breakNonLatinWord?: boolean;
309
+ condense?: number;
310
+ widowOrphan?: boolean;
311
+ keepWithNext?: boolean;
312
+ keepLines?: boolean;
313
+ pageBreakBefore?: boolean;
314
+ fontLineHeight?: boolean;
315
+ snapToGrid?: boolean;
316
+ lineWrap?: LineWrapType;
317
+ autoSpaceEAsianEng?: boolean;
318
+ autoSpaceEAsianNum?: boolean;
319
+ borderFillId?: number;
320
+ margin?: {
321
+ indent?: number;
322
+ left?: number;
323
+ right?: number;
324
+ prev?: number;
325
+ next?: number;
326
+ lineSpacingType?: 'Percent' | 'Fixed' | 'BetweenLines' | 'AtLeast';
327
+ lineSpacing?: number;
328
+ };
329
+ border?: {
330
+ borderFill?: number;
331
+ offsetLeft?: number;
332
+ offsetRight?: number;
333
+ offsetTop?: number;
334
+ offsetBottom?: number;
335
+ connect?: boolean;
336
+ ignoreMargin?: boolean;
337
+ };
338
+ lineSpacing?: number;
339
+ lineSpacingType?: string;
340
+ marginTop?: number;
341
+ marginBottom?: number;
342
+ marginLeft?: number;
343
+ marginRight?: number;
344
+ firstLineIndent?: number;
345
+ tabDefId?: number;
346
+ suppressLineNumbers?: boolean;
347
+ headingLevel?: number;
348
+ widowControl?: boolean;
349
+ }
350
+ export interface StyleDef {
351
+ id: number;
352
+ type?: 'Para' | 'Char' | 'para' | 'char';
353
+ name?: string;
354
+ engName?: string;
355
+ paraShape?: number;
356
+ charShape?: number;
357
+ nextStyle?: number;
358
+ langId?: number;
359
+ lockForm?: boolean;
360
+ paraPrIdRef?: number;
361
+ charPrIdRef?: number;
362
+ nextStyleIdRef?: number;
363
+ }
364
+ export interface MemoShape {
365
+ id: number;
366
+ width?: number;
367
+ lineType?: LineType1;
368
+ lineColor?: string;
369
+ fillColor?: string;
370
+ activeColor?: string;
371
+ memoType?: string;
372
+ }
373
+ export interface CharacterStyle {
374
+ bold?: boolean;
375
+ italic?: boolean;
376
+ underline?: boolean | {
377
+ type: UnderlineType;
378
+ shape: LineType2;
379
+ color: string;
380
+ };
381
+ underlineType?: UnderlineType;
382
+ underlineShape?: LineType2 | UnderlineShape;
383
+ underlineColor?: string;
384
+ strikethrough?: boolean;
385
+ strikeoutShape?: LineType2 | StrikeoutShape;
386
+ strikeoutColor?: string;
387
+ fontName?: string;
388
+ fontSize?: number;
389
+ fontColor?: string;
390
+ backgroundColor?: string;
391
+ superscript?: boolean;
392
+ subscript?: boolean;
393
+ charSpacing?: number | FontRef;
394
+ relativeSize?: number | FontRef;
395
+ charOffset?: number | FontRef;
396
+ emphasisMark?: EmphasisMark;
397
+ useFontSpace?: boolean;
398
+ useKerning?: boolean;
399
+ outline?: LineType3 | {
400
+ type: LineType3;
401
+ };
402
+ shadow?: ShadowType | {
403
+ type: ShadowType;
404
+ color?: string;
405
+ offsetX?: number;
406
+ offsetY?: number;
407
+ alpha?: number;
408
+ };
409
+ shadowX?: number;
410
+ shadowY?: number;
411
+ shadowColor?: string;
412
+ emboss?: boolean;
413
+ engrave?: boolean;
414
+ smallCaps?: boolean;
415
+ allCaps?: boolean;
416
+ }
417
+ export interface TabInfo {
418
+ width: number;
419
+ leader?: 'none' | 'dot' | 'hyphen' | 'underscore' | 'solid' | 'dash' | 'dashDot' | 'dashDotDot';
420
+ }
421
+ export interface HyperlinkField {
422
+ fieldType: 'Hyperlink' | 'hyperlink';
423
+ url: string;
424
+ name?: string;
425
+ command?: string;
426
+ }
427
+ export interface BookmarkField {
428
+ fieldType: 'Bookmark' | 'bookmark';
429
+ bookmarkName: string;
430
+ }
431
+ export interface MemoField {
432
+ fieldType: 'Memo' | 'memo';
433
+ memoContent?: string;
434
+ author?: string;
435
+ date?: string;
436
+ }
437
+ export interface FormulaField {
438
+ fieldType: 'Formula' | 'formula';
439
+ formulaScript?: string;
440
+ }
441
+ export interface FieldControl {
442
+ fieldType: FieldType;
443
+ name?: string;
444
+ instId?: string;
445
+ editable?: boolean;
446
+ dirty?: boolean;
447
+ property?: string;
448
+ command?: string;
449
+ text?: string;
450
+ }
451
+ export interface TextRun {
452
+ text: string;
453
+ charPrIDRef?: number;
454
+ charStyle?: CharacterStyle;
455
+ tab?: TabInfo;
456
+ hyperlink?: HyperlinkField;
457
+ field?: FieldControl;
458
+ markPen?: {
459
+ color: string;
460
+ };
461
+ hasMemo?: boolean;
462
+ memoId?: string;
463
+ footnoteRef?: number;
464
+ endnoteRef?: number;
465
+ }
466
+ export interface PageDef {
467
+ landscape?: 0 | 1;
468
+ width?: number;
469
+ height?: number;
470
+ gutterType?: GutterType;
471
+ margin?: {
472
+ left?: number;
473
+ right?: number;
474
+ top?: number;
475
+ bottom?: number;
476
+ header?: number;
477
+ footer?: number;
478
+ gutter?: number;
479
+ };
480
+ }
481
+ export interface StartNumber {
482
+ pageStartsOn?: PageStartsOn;
483
+ page?: number;
484
+ figure?: number;
485
+ table?: number;
486
+ equation?: number;
487
+ }
488
+ export interface HideOptions {
489
+ header?: boolean;
490
+ footer?: boolean;
491
+ masterPage?: boolean;
492
+ border?: boolean;
493
+ fill?: boolean;
494
+ pageNumPos?: boolean;
495
+ emptyLine?: boolean;
496
+ }
497
+ export interface AutoNumFormat {
498
+ type?: NumberType2;
499
+ userChar?: string;
500
+ prefixChar?: string;
501
+ suffixChar?: string;
502
+ superscript?: boolean;
503
+ }
504
+ export interface NoteLine {
505
+ length?: string;
506
+ type?: LineType1;
507
+ width?: LineWidth | string;
508
+ color?: string;
509
+ }
510
+ export interface NoteSpacing {
511
+ aboveLine?: number;
512
+ belowLine?: number;
513
+ betweenNotes?: number;
514
+ }
515
+ export interface NoteNumbering {
516
+ type?: NoteNumberingType;
517
+ newNumber?: number;
518
+ }
519
+ export interface NotePlacementInfo {
520
+ place?: NotePlacement;
521
+ beneathText?: boolean;
522
+ }
523
+ export interface FootnoteShape {
524
+ autoNumFormat?: AutoNumFormat;
525
+ noteLine?: NoteLine;
526
+ noteSpacing?: NoteSpacing;
527
+ noteNumbering?: NoteNumbering;
528
+ notePlacement?: NotePlacementInfo;
529
+ }
530
+ export interface PageBorderFill {
531
+ type?: PageStartsOn;
532
+ borderFill?: number;
533
+ textBorder?: boolean;
534
+ headerInside?: boolean;
535
+ footerInside?: boolean;
536
+ fillArea?: 'Paper' | 'Page' | 'Border';
537
+ offset?: {
538
+ left?: number;
539
+ right?: number;
540
+ top?: number;
541
+ bottom?: number;
542
+ };
543
+ }
544
+ export interface MasterPage {
545
+ type?: PageStartsOn;
546
+ textWidth?: number;
547
+ textHeight?: number;
548
+ hasTextRef?: boolean;
549
+ hasNumRef?: boolean;
550
+ paragraphs?: HwpxParagraph[];
551
+ isExtended?: boolean;
552
+ pageNumber?: number;
553
+ pageDuplicate?: boolean;
554
+ pageFront?: boolean;
555
+ }
556
+ export interface SectionDef {
557
+ textDirection?: 0 | 1;
558
+ spaceColumns?: number;
559
+ tabStop?: number;
560
+ outlineShape?: number;
561
+ lineGrid?: number;
562
+ charGrid?: number;
563
+ firstBorder?: boolean;
564
+ firstFill?: boolean;
565
+ extMasterpageCount?: number;
566
+ memoShapeId?: number;
567
+ pageDef?: PageDef;
568
+ startNumber?: StartNumber;
569
+ hide?: HideOptions;
570
+ footnoteShape?: FootnoteShape;
571
+ endnoteShape?: FootnoteShape;
572
+ pageBorderFill?: PageBorderFill[];
573
+ masterPage?: MasterPage[];
574
+ }
575
+ export interface ColumnLine {
576
+ type?: LineType1;
577
+ width?: LineWidth | string;
578
+ color?: string;
579
+ }
580
+ export interface Column {
581
+ width?: number;
582
+ gap?: number;
583
+ }
584
+ export interface ColumnDef {
585
+ type?: ColumnType;
586
+ count?: number;
587
+ layout?: ColumnLayout;
588
+ sameSize?: boolean;
589
+ sameGap?: number;
590
+ columnLine?: ColumnLine;
591
+ columns?: Column[];
592
+ }
593
+ export interface ShapeSize {
594
+ width: number;
595
+ height: number;
596
+ widthRelTo?: SizeRelTo;
597
+ heightRelTo?: SizeRelTo;
598
+ protect?: boolean;
599
+ }
600
+ export interface ShapePosition {
601
+ treatAsChar?: boolean;
602
+ affectLSpacing?: boolean;
603
+ vertRelTo?: VertRelTo;
604
+ vertAlign?: VertAlign;
605
+ horzRelTo?: HorzRelTo;
606
+ horzAlign?: HorzAlign;
607
+ vertOffset?: number;
608
+ horzOffset?: number;
609
+ flowWithText?: boolean;
610
+ allowOverlap?: boolean;
611
+ holdAnchorAndSO?: boolean;
612
+ }
613
+ export interface ObjectMargin {
614
+ left: number;
615
+ right: number;
616
+ top: number;
617
+ bottom: number;
618
+ }
619
+ export interface Caption {
620
+ side?: 'Left' | 'Right' | 'Top' | 'Bottom';
621
+ fullSize?: boolean;
622
+ width?: number;
623
+ gap?: number;
624
+ lastWidth?: number;
625
+ paragraphs?: HwpxParagraph[];
626
+ }
627
+ export interface ShapeObject {
628
+ instId?: string;
629
+ zOrder?: number;
630
+ numberingType?: NumberingType;
631
+ textWrap?: TextWrapType;
632
+ textFlow?: TextFlowType;
633
+ lock?: boolean;
634
+ size?: ShapeSize;
635
+ position?: ShapePosition;
636
+ outMargin?: ObjectMargin;
637
+ caption?: Caption;
638
+ shapeComment?: string;
639
+ }
640
+ export interface CellZone {
641
+ startRowAddr: number;
642
+ startColAddr: number;
643
+ endRowAddr: number;
644
+ endColAddr: number;
645
+ borderFill?: number;
646
+ }
647
+ export interface CellMargin {
648
+ left?: number;
649
+ right?: number;
650
+ top?: number;
651
+ bottom?: number;
652
+ }
653
+ export type CellElement = {
654
+ type: 'paragraph';
655
+ data: HwpxParagraph;
656
+ } | {
657
+ type: 'table';
658
+ data: HwpxTable;
659
+ };
660
+ export interface TableCell {
661
+ name?: string;
662
+ colAddr?: number;
663
+ rowAddr?: number;
664
+ colSpan?: number;
665
+ rowSpan?: number;
666
+ width?: number;
667
+ height?: number;
668
+ header?: boolean;
669
+ hasMargin?: boolean;
670
+ protect?: boolean;
671
+ editable?: boolean;
672
+ dirty?: boolean;
673
+ borderFillId?: number;
674
+ paragraphs: HwpxParagraph[];
675
+ nestedTables?: HwpxTable[];
676
+ elements?: CellElement[];
677
+ backgroundColor?: string;
678
+ backgroundGradation?: {
679
+ type: GradationType;
680
+ angle?: number;
681
+ colors: string[];
682
+ };
683
+ borderTop?: BorderStyle;
684
+ borderBottom?: BorderStyle;
685
+ borderLeft?: BorderStyle;
686
+ borderRight?: BorderStyle;
687
+ verticalAlign?: 'top' | 'middle' | 'bottom';
688
+ marginTop?: number;
689
+ marginBottom?: number;
690
+ marginLeft?: number;
691
+ marginRight?: number;
692
+ textDirection?: 'horizontal' | 'vertical';
693
+ lineWrap?: LineWrapType;
694
+ }
695
+ export interface TableRow {
696
+ cells: TableCell[];
697
+ height?: number;
698
+ }
699
+ export interface HwpxTable {
700
+ id: string;
701
+ pageBreak?: PageBreakType;
702
+ repeatHeader?: boolean;
703
+ rowCount?: number;
704
+ colCount?: number;
705
+ rowCnt?: number;
706
+ colCnt?: number;
707
+ cellSpacing?: number;
708
+ borderFillId?: number;
709
+ shapeObject?: ShapeObject;
710
+ inMargin?: ObjectMargin;
711
+ cellZoneList?: CellZone[];
712
+ rows: TableRow[];
713
+ width?: number;
714
+ height?: number;
715
+ columnWidths?: number[];
716
+ borderCollapse?: boolean;
717
+ zOrder?: number;
718
+ numberingType?: NumberingType;
719
+ textWrap?: TextWrapType;
720
+ textFlow?: TextFlowType;
721
+ position?: ShapePosition;
722
+ outMargin?: ObjectMargin;
723
+ lock?: boolean;
724
+ linesegs?: LineSeg[];
725
+ }
726
+ export interface ShapeComponent {
727
+ hRef?: string;
728
+ xPos?: number;
729
+ yPos?: number;
730
+ groupLevel?: number;
731
+ oriWidth?: number;
732
+ oriHeight?: number;
733
+ curWidth?: number;
734
+ curHeight?: number;
735
+ horzFlip?: boolean;
736
+ vertFlip?: boolean;
737
+ instId?: string;
738
+ rotationInfo?: {
739
+ angle: number;
740
+ centerX?: number;
741
+ centerY?: number;
742
+ };
743
+ renderingInfo?: {
744
+ transMatrix?: number[];
745
+ scaMatrix?: number[];
746
+ rotMatrix?: number[];
747
+ };
748
+ }
749
+ export interface LineShape {
750
+ color?: string;
751
+ width?: number;
752
+ style?: LineType1;
753
+ endCap?: 'Round' | 'Flat';
754
+ headStyle?: ArrowType;
755
+ tailStyle?: ArrowType;
756
+ headSize?: ArrowSize;
757
+ tailSize?: ArrowSize;
758
+ outlineStyle?: 'Normal' | 'Outer' | 'Inner';
759
+ alpha?: number;
760
+ }
761
+ export interface ImageRect {
762
+ x0: number;
763
+ y0: number;
764
+ x1: number;
765
+ y1: number;
766
+ x2: number;
767
+ y2: number;
768
+ x3?: number;
769
+ y3?: number;
770
+ }
771
+ export interface ImageClip {
772
+ left: number;
773
+ top: number;
774
+ right: number;
775
+ bottom: number;
776
+ }
777
+ export interface ShadowEffect {
778
+ style?: string;
779
+ alpha?: number;
780
+ radius?: number;
781
+ direction?: number;
782
+ distance?: number;
783
+ alignStyle?: string;
784
+ skewX?: number;
785
+ skewY?: number;
786
+ scaleX?: number;
787
+ scaleY?: number;
788
+ rotationStyle?: string;
789
+ color?: string;
790
+ }
791
+ export interface GlowEffect {
792
+ alpha?: number;
793
+ radius?: number;
794
+ color?: string;
795
+ }
796
+ export interface SoftEdgeEffect {
797
+ radius?: number;
798
+ }
799
+ export interface ReflectionEffect {
800
+ alignStyle?: string;
801
+ radius?: number;
802
+ direction?: number;
803
+ distance?: number;
804
+ skewX?: number;
805
+ skewY?: number;
806
+ scaleX?: number;
807
+ scaleY?: number;
808
+ rotationStyle?: string;
809
+ startAlpha?: number;
810
+ startPos?: number;
811
+ endAlpha?: number;
812
+ endPos?: number;
813
+ fadeDirection?: number;
814
+ }
815
+ export interface ImageEffects {
816
+ shadow?: ShadowEffect;
817
+ glow?: GlowEffect;
818
+ softEdge?: SoftEdgeEffect;
819
+ reflection?: ReflectionEffect;
820
+ }
821
+ export interface HwpxImage {
822
+ id: string;
823
+ binaryId: string;
824
+ width: number;
825
+ height: number;
826
+ orgWidth?: number;
827
+ orgHeight?: number;
828
+ reverse?: boolean;
829
+ shapeObject?: ShapeObject;
830
+ shapeComponent?: ShapeComponent;
831
+ lineShape?: LineShape;
832
+ imageRect?: ImageRect;
833
+ imageClip?: ImageClip;
834
+ effects?: ImageEffects;
835
+ inMargin?: ObjectMargin;
836
+ data?: string;
837
+ mimeType?: string;
838
+ alt?: string;
839
+ zOrder?: number;
840
+ numberingType?: NumberingType;
841
+ textWrap?: TextWrapType;
842
+ textFlow?: TextFlowType;
843
+ position?: ShapePosition;
844
+ outMargin?: ObjectMargin;
845
+ flip?: {
846
+ horizontal?: boolean;
847
+ vertical?: boolean;
848
+ };
849
+ rotation?: {
850
+ angle?: number;
851
+ centerX?: number;
852
+ centerY?: number;
853
+ };
854
+ brightness?: number;
855
+ contrast?: number;
856
+ alpha?: number;
857
+ effect?: string;
858
+ shapeComment?: string;
859
+ }
860
+ export interface DrawingObject {
861
+ shapeComponent?: ShapeComponent;
862
+ lineShape?: LineShape;
863
+ fillBrush?: FillBrush;
864
+ drawText?: {
865
+ lastWidth?: number;
866
+ name?: string;
867
+ editable?: boolean;
868
+ textMargin?: ObjectMargin;
869
+ paragraphs?: HwpxParagraph[];
870
+ };
871
+ shadow?: {
872
+ type?: ShadowType;
873
+ color?: string;
874
+ offsetX?: number;
875
+ offsetY?: number;
876
+ alpha?: number;
877
+ };
878
+ }
879
+ export interface HwpxLine {
880
+ id: string;
881
+ startX?: number;
882
+ startY?: number;
883
+ endX?: number;
884
+ endY?: number;
885
+ isReverseHV?: boolean;
886
+ shapeObject?: ShapeObject;
887
+ drawingObject?: DrawingObject;
888
+ x1?: number;
889
+ y1?: number;
890
+ x2?: number;
891
+ y2?: number;
892
+ strokeColor?: string;
893
+ strokeWidth?: number;
894
+ strokeStyle?: 'solid' | 'dashed' | 'dotted';
895
+ }
896
+ export interface HwpxRect {
897
+ id: string;
898
+ ratio?: number;
899
+ x0?: number;
900
+ y0?: number;
901
+ x1?: number;
902
+ y1?: number;
903
+ x2?: number;
904
+ y2?: number;
905
+ x3?: number;
906
+ y3?: number;
907
+ shapeObject?: ShapeObject;
908
+ drawingObject?: DrawingObject;
909
+ x?: number;
910
+ y?: number;
911
+ width?: number;
912
+ height?: number;
913
+ fillColor?: string;
914
+ strokeColor?: string;
915
+ strokeWidth?: number;
916
+ cornerRadius?: number;
917
+ }
918
+ export interface HwpxEllipse {
919
+ id: string;
920
+ intervalDirty?: boolean;
921
+ hasArcProperty?: boolean;
922
+ arcType?: ArcType;
923
+ centerX?: number;
924
+ centerY?: number;
925
+ axis1X?: number;
926
+ axis1Y?: number;
927
+ axis2X?: number;
928
+ axis2Y?: number;
929
+ shapeObject?: ShapeObject;
930
+ drawingObject?: DrawingObject;
931
+ cx?: number;
932
+ cy?: number;
933
+ rx?: number;
934
+ ry?: number;
935
+ fillColor?: string;
936
+ strokeColor?: string;
937
+ strokeWidth?: number;
938
+ }
939
+ export interface HwpxArc {
940
+ id: string;
941
+ type?: ArcType;
942
+ centerX: number;
943
+ centerY: number;
944
+ axis1X?: number;
945
+ axis1Y?: number;
946
+ axis2X?: number;
947
+ axis2Y?: number;
948
+ shapeObject?: ShapeObject;
949
+ drawingObject?: DrawingObject;
950
+ }
951
+ export interface HwpxPolygon {
952
+ id: string;
953
+ points: Array<{
954
+ x: number;
955
+ y: number;
956
+ }>;
957
+ shapeObject?: ShapeObject;
958
+ drawingObject?: DrawingObject;
959
+ }
960
+ export interface CurveSegment {
961
+ type: 'Line' | 'Curve';
962
+ x1: number;
963
+ y1: number;
964
+ x2: number;
965
+ y2: number;
966
+ }
967
+ export interface HwpxCurve {
968
+ id: string;
969
+ segments: CurveSegment[];
970
+ shapeObject?: ShapeObject;
971
+ drawingObject?: DrawingObject;
972
+ }
973
+ export interface HwpxConnectLine {
974
+ id: string;
975
+ type?: string;
976
+ startX?: number;
977
+ startY?: number;
978
+ endX?: number;
979
+ endY?: number;
980
+ startSubjectID?: string;
981
+ startSubjectIndex?: number;
982
+ endSubjectID?: string;
983
+ endSubjectIndex?: number;
984
+ shapeObject?: ShapeObject;
985
+ drawingObject?: DrawingObject;
986
+ }
987
+ export interface HwpxTextBox {
988
+ id: string;
989
+ x: number;
990
+ y: number;
991
+ width: number;
992
+ height: number;
993
+ paragraphs: HwpxParagraph[];
994
+ fillColor?: string;
995
+ strokeColor?: string;
996
+ strokeWidth?: number;
997
+ }
998
+ export interface HwpxHorizontalRule {
999
+ id: string;
1000
+ width: number | 'full';
1001
+ height: number;
1002
+ color?: string;
1003
+ style?: 'solid' | 'dashed' | 'dotted' | 'double';
1004
+ align?: 'left' | 'center' | 'right';
1005
+ }
1006
+ export interface FormCharShape {
1007
+ charShape?: number;
1008
+ followContext?: boolean;
1009
+ autoSize?: boolean;
1010
+ wordWrap?: boolean;
1011
+ }
1012
+ export interface ButtonSet {
1013
+ caption?: string;
1014
+ value?: string;
1015
+ radioGroupName?: string;
1016
+ triState?: boolean;
1017
+ backStyle?: string;
1018
+ }
1019
+ export interface FormObject {
1020
+ name?: string;
1021
+ foreColor?: string;
1022
+ backColor?: string;
1023
+ groupName?: string;
1024
+ tabStop?: boolean;
1025
+ tabOrder?: number;
1026
+ enabled?: boolean;
1027
+ borderType?: number;
1028
+ drawFrame?: boolean;
1029
+ printable?: boolean;
1030
+ formCharShape?: FormCharShape;
1031
+ buttonSet?: ButtonSet;
1032
+ }
1033
+ export interface HwpxButton {
1034
+ id: string;
1035
+ shapeObject?: ShapeObject;
1036
+ formObject?: FormObject;
1037
+ }
1038
+ export interface HwpxRadioButton extends HwpxButton {
1039
+ }
1040
+ export interface HwpxCheckButton extends HwpxButton {
1041
+ }
1042
+ export interface HwpxComboBox {
1043
+ id: string;
1044
+ listBoxRows?: number;
1045
+ listBoxWidth?: number;
1046
+ text?: string;
1047
+ editEnable?: boolean;
1048
+ shapeObject?: ShapeObject;
1049
+ formObject?: FormObject;
1050
+ }
1051
+ export interface HwpxEdit {
1052
+ id: string;
1053
+ multiLine?: boolean;
1054
+ passwordChar?: string;
1055
+ maxLength?: number;
1056
+ scrollBars?: boolean;
1057
+ tabKeyBehavior?: string;
1058
+ number?: boolean;
1059
+ readOnly?: boolean;
1060
+ alignText?: string;
1061
+ text?: string;
1062
+ shapeObject?: ShapeObject;
1063
+ formObject?: FormObject;
1064
+ }
1065
+ export interface HwpxListBox {
1066
+ id: string;
1067
+ text?: string;
1068
+ itemHeight?: number;
1069
+ topIndex?: number;
1070
+ shapeObject?: ShapeObject;
1071
+ formObject?: FormObject;
1072
+ }
1073
+ export interface HwpxScrollBar {
1074
+ id: string;
1075
+ delay?: number;
1076
+ largeChange?: number;
1077
+ smallChange?: number;
1078
+ min?: number;
1079
+ max?: number;
1080
+ page?: number;
1081
+ value?: number;
1082
+ type?: string;
1083
+ shapeObject?: ShapeObject;
1084
+ formObject?: FormObject;
1085
+ }
1086
+ export interface HwpxUnknownObject {
1087
+ id: string;
1088
+ ctrlId?: string;
1089
+ x0?: number;
1090
+ y0?: number;
1091
+ x1?: number;
1092
+ y1?: number;
1093
+ x2?: number;
1094
+ y2?: number;
1095
+ x3?: number;
1096
+ y3?: number;
1097
+ shapeObject?: ShapeObject;
1098
+ drawingObject?: DrawingObject;
1099
+ }
1100
+ export type ParameterItemType = 'Bstr' | 'Integer' | 'Set' | 'Array' | 'BinData';
1101
+ export interface ParameterItem {
1102
+ itemId: string;
1103
+ type: ParameterItemType;
1104
+ value?: string | number;
1105
+ parameterSet?: ParameterSet;
1106
+ parameterArray?: ParameterArray;
1107
+ }
1108
+ export interface ParameterSet {
1109
+ setId?: string;
1110
+ count?: number;
1111
+ items: ParameterItem[];
1112
+ }
1113
+ export interface ParameterArray {
1114
+ count?: number;
1115
+ items: ParameterItem[];
1116
+ }
1117
+ export interface HwpxContainer {
1118
+ id: string;
1119
+ shapeObject?: ShapeObject;
1120
+ shapeComponent?: ShapeComponent;
1121
+ children: Array<HwpxLine | HwpxRect | HwpxEllipse | HwpxArc | HwpxPolygon | HwpxCurve | HwpxImage | HwpxContainer>;
1122
+ }
1123
+ export interface HwpxOle {
1124
+ id: string;
1125
+ objectType?: OleObjectType;
1126
+ extentX?: number;
1127
+ extentY?: number;
1128
+ binItem?: string;
1129
+ drawAspect?: DrawAspect;
1130
+ hasMoniker?: boolean;
1131
+ eqBaseLine?: number;
1132
+ shapeObject?: ShapeObject;
1133
+ shapeComponent?: ShapeComponent;
1134
+ lineShape?: LineShape;
1135
+ }
1136
+ export interface HwpxEquation {
1137
+ id: string;
1138
+ lineMode?: boolean;
1139
+ baseUnit?: number;
1140
+ textColor?: string;
1141
+ baseLine?: number;
1142
+ version?: string;
1143
+ script?: string;
1144
+ shapeObject?: ShapeObject;
1145
+ }
1146
+ export interface HwpxTextArt {
1147
+ id: string;
1148
+ text?: string;
1149
+ x0?: number;
1150
+ y0?: number;
1151
+ x1?: number;
1152
+ y1?: number;
1153
+ x2?: number;
1154
+ y2?: number;
1155
+ x3?: number;
1156
+ y3?: number;
1157
+ shape?: {
1158
+ fontName?: string;
1159
+ fontStyle?: string;
1160
+ fontType?: 'ttf' | 'htf';
1161
+ textShape?: number;
1162
+ lineSpacing?: number;
1163
+ charSpacing?: number;
1164
+ align?: AlignmentType1;
1165
+ shadow?: {
1166
+ type?: ShadowType;
1167
+ color?: string;
1168
+ offsetX?: number;
1169
+ offsetY?: number;
1170
+ alpha?: number;
1171
+ };
1172
+ };
1173
+ outlineData?: Array<{
1174
+ x: number;
1175
+ y: number;
1176
+ }>;
1177
+ }
1178
+ export interface HwpxHyperlink {
1179
+ url: string;
1180
+ text: string;
1181
+ }
1182
+ export interface Bookmark {
1183
+ name: string;
1184
+ }
1185
+ export interface AutoNum {
1186
+ number?: number;
1187
+ numberType?: 'Page' | 'Footnote' | 'Endnote' | 'Figure' | 'Table' | 'Equation' | 'TotalPage';
1188
+ format?: AutoNumFormat;
1189
+ }
1190
+ export interface NewNum extends AutoNum {
1191
+ }
1192
+ export interface PageNumCtrl {
1193
+ pageStartsOn?: PageStartsOn;
1194
+ }
1195
+ export interface PageHiding {
1196
+ hideHeader?: boolean;
1197
+ hideFooter?: boolean;
1198
+ hideMasterPage?: boolean;
1199
+ hideBorder?: boolean;
1200
+ hideFill?: boolean;
1201
+ hidePageNum?: boolean;
1202
+ }
1203
+ export interface PageNum {
1204
+ pos?: 'None' | 'TopLeft' | 'TopCenter' | 'TopRight' | 'BottomLeft' | 'BottomCenter' | 'BottomRight' | 'OutsideTop' | 'OutsideBottom' | 'InsideTop' | 'InsideBottom';
1205
+ formatType?: NumberType1;
1206
+ sideChar?: string;
1207
+ }
1208
+ export interface IndexMark {
1209
+ keyFirst?: string;
1210
+ keySecond?: string;
1211
+ }
1212
+ export interface Compose {
1213
+ circleType?: number;
1214
+ charSize?: number;
1215
+ composeType?: number;
1216
+ charShapeIds?: number[];
1217
+ }
1218
+ export interface Dutmal {
1219
+ posType?: 'Top' | 'Bottom';
1220
+ sizeRatio?: number;
1221
+ option?: number;
1222
+ styleNo?: number;
1223
+ align?: AlignmentType1;
1224
+ mainText?: string;
1225
+ subText?: string;
1226
+ }
1227
+ export interface HiddenComment {
1228
+ paragraphs: HwpxParagraph[];
1229
+ }
1230
+ export interface ParagraphStyle {
1231
+ align?: 'left' | 'center' | 'right' | 'justify' | 'distribute';
1232
+ lineSpacing?: number;
1233
+ lineSpacingType?: 'percent' | 'fixed' | 'betweenLines' | 'atLeast';
1234
+ marginTop?: number;
1235
+ marginBottom?: number;
1236
+ marginLeft?: number;
1237
+ marginRight?: number;
1238
+ firstLineIndent?: number;
1239
+ tabDefId?: number;
1240
+ condense?: number;
1241
+ breakLatinWord?: BreakLatinWord;
1242
+ breakNonLatinWord?: boolean;
1243
+ snapToGrid?: boolean;
1244
+ suppressLineNumbers?: boolean;
1245
+ headingType?: HeadingType;
1246
+ headingLevel?: number;
1247
+ borderFillId?: number;
1248
+ autoSpaceEAsianEng?: boolean;
1249
+ autoSpaceEAsianNum?: boolean;
1250
+ keepWithNext?: boolean;
1251
+ keepLines?: boolean;
1252
+ pageBreakBefore?: boolean;
1253
+ widowControl?: boolean;
1254
+ }
1255
+ export interface LineSeg {
1256
+ vertpos: number;
1257
+ vertsize: number;
1258
+ textheight: number;
1259
+ baseline: number;
1260
+ spacing: number;
1261
+ }
1262
+ export interface HwpxParagraph {
1263
+ id: string;
1264
+ paraPrId?: number;
1265
+ style?: number;
1266
+ instId?: string;
1267
+ pageBreak?: boolean;
1268
+ columnBreak?: boolean;
1269
+ runs: TextRun[];
1270
+ paraStyle?: ParagraphStyle;
1271
+ listType?: 'none' | 'bullet' | 'number';
1272
+ listLevel?: number;
1273
+ linesegs?: LineSeg[];
1274
+ _xmlPosition?: {
1275
+ sectionIndex: number;
1276
+ start: number;
1277
+ end: number;
1278
+ };
1279
+ }
1280
+ export interface HeaderFooter {
1281
+ applyPageType?: PageStartsOn;
1282
+ seriesNum?: number;
1283
+ paragraphs: HwpxParagraph[];
1284
+ }
1285
+ export interface Footnote {
1286
+ id: string;
1287
+ number?: number;
1288
+ type?: 'footnote' | 'endnote';
1289
+ paragraphs: HwpxParagraph[];
1290
+ }
1291
+ export interface Endnote {
1292
+ id: string;
1293
+ number?: number;
1294
+ paragraphs: HwpxParagraph[];
1295
+ }
1296
+ export type SectionElement = {
1297
+ type: 'paragraph';
1298
+ data: HwpxParagraph;
1299
+ } | {
1300
+ type: 'table';
1301
+ data: HwpxTable;
1302
+ } | {
1303
+ type: 'image';
1304
+ data: HwpxImage;
1305
+ } | {
1306
+ type: 'line';
1307
+ data: HwpxLine;
1308
+ } | {
1309
+ type: 'rect';
1310
+ data: HwpxRect;
1311
+ } | {
1312
+ type: 'ellipse';
1313
+ data: HwpxEllipse;
1314
+ } | {
1315
+ type: 'arc';
1316
+ data: HwpxArc;
1317
+ } | {
1318
+ type: 'polygon';
1319
+ data: HwpxPolygon;
1320
+ } | {
1321
+ type: 'curve';
1322
+ data: HwpxCurve;
1323
+ } | {
1324
+ type: 'connectline';
1325
+ data: HwpxConnectLine;
1326
+ } | {
1327
+ type: 'textbox';
1328
+ data: HwpxTextBox;
1329
+ } | {
1330
+ type: 'equation';
1331
+ data: HwpxEquation;
1332
+ } | {
1333
+ type: 'ole';
1334
+ data: HwpxOle;
1335
+ } | {
1336
+ type: 'container';
1337
+ data: HwpxContainer;
1338
+ } | {
1339
+ type: 'textart';
1340
+ data: HwpxTextArt;
1341
+ } | {
1342
+ type: 'unknownobject';
1343
+ data: HwpxUnknownObject;
1344
+ } | {
1345
+ type: 'hr';
1346
+ data: HwpxHorizontalRule;
1347
+ } | {
1348
+ type: 'button';
1349
+ data: HwpxButton;
1350
+ } | {
1351
+ type: 'radiobutton';
1352
+ data: HwpxRadioButton;
1353
+ } | {
1354
+ type: 'checkbutton';
1355
+ data: HwpxCheckButton;
1356
+ } | {
1357
+ type: 'combobox';
1358
+ data: HwpxComboBox;
1359
+ } | {
1360
+ type: 'edit';
1361
+ data: HwpxEdit;
1362
+ } | {
1363
+ type: 'listbox';
1364
+ data: HwpxListBox;
1365
+ } | {
1366
+ type: 'scrollbar';
1367
+ data: HwpxScrollBar;
1368
+ };
1369
+ export interface PageSettings {
1370
+ width: number;
1371
+ height: number;
1372
+ marginTop: number;
1373
+ marginBottom: number;
1374
+ marginLeft: number;
1375
+ marginRight: number;
1376
+ headerMargin?: number;
1377
+ footerMargin?: number;
1378
+ gutterMargin?: number;
1379
+ orientation?: 'portrait' | 'landscape';
1380
+ gutterType?: GutterType;
1381
+ }
1382
+ export interface SectionProperties {
1383
+ textDirection?: 'horizontal' | 'vertical';
1384
+ spaceColumns?: number;
1385
+ tabStop?: number;
1386
+ outlineShapeIdRef?: number;
1387
+ memoShapeIdRef?: number;
1388
+ masterPageCnt?: number;
1389
+ masterPage?: MasterPage[];
1390
+ grid?: {
1391
+ lineGrid?: number;
1392
+ charGrid?: number;
1393
+ wonggojiFormat?: number;
1394
+ };
1395
+ startNum?: {
1396
+ pageStartsOn?: PageStartsOn;
1397
+ page?: number;
1398
+ pic?: number;
1399
+ tbl?: number;
1400
+ equation?: number;
1401
+ };
1402
+ visibility?: {
1403
+ hideFirstHeader?: boolean;
1404
+ hideFirstFooter?: boolean;
1405
+ hideFirstMasterPage?: boolean;
1406
+ border?: 'showAll' | 'hideAll' | 'showFirstPageOnly' | 'showAllButFirstPage';
1407
+ fill?: 'showAll' | 'hideAll' | 'showFirstPageOnly' | 'showAllButFirstPage';
1408
+ hideFirstPageNum?: boolean;
1409
+ hideFirstEmptyLine?: boolean;
1410
+ showLineNumber?: boolean;
1411
+ };
1412
+ pageBorderFill?: Array<{
1413
+ type?: PageStartsOn;
1414
+ borderFillIdRef?: number;
1415
+ textBorder?: 'paper' | 'page' | 'content';
1416
+ headerInside?: boolean;
1417
+ footerInside?: boolean;
1418
+ fillArea?: 'paper' | 'page' | 'content';
1419
+ offset?: ObjectMargin;
1420
+ }>;
1421
+ }
1422
+ export interface FootnoteEndnoteProperties {
1423
+ autoNumFormat?: {
1424
+ type?: NumberType2;
1425
+ userChar?: string;
1426
+ prefixChar?: string;
1427
+ suffixChar?: string;
1428
+ superscript?: boolean;
1429
+ };
1430
+ noteLine?: {
1431
+ length?: number;
1432
+ type?: LineType1;
1433
+ width?: LineWidth | string;
1434
+ color?: string;
1435
+ };
1436
+ noteSpacing?: {
1437
+ betweenNotes?: number;
1438
+ belowLine?: number;
1439
+ aboveLine?: number;
1440
+ };
1441
+ numbering?: {
1442
+ type?: NoteNumberingType;
1443
+ newNum?: number;
1444
+ };
1445
+ placement?: {
1446
+ place?: NotePlacement;
1447
+ beneathText?: boolean;
1448
+ };
1449
+ }
1450
+ export interface Memo {
1451
+ id: string;
1452
+ author: string;
1453
+ date: string;
1454
+ content: string[];
1455
+ linkedText?: string;
1456
+ }
1457
+ export interface HwpxSection {
1458
+ id?: string;
1459
+ elements: SectionElement[];
1460
+ pageSettings?: PageSettings;
1461
+ sectionProperties?: SectionProperties;
1462
+ sectionDef?: SectionDef;
1463
+ columnDef?: ColumnDef;
1464
+ footnoteProperties?: FootnoteEndnoteProperties;
1465
+ endnoteProperties?: FootnoteEndnoteProperties;
1466
+ header?: HeaderFooter;
1467
+ footer?: HeaderFooter;
1468
+ memos?: Memo[];
1469
+ }
1470
+ export interface HwpxMetadata {
1471
+ title?: string;
1472
+ subject?: string;
1473
+ creator?: string;
1474
+ createdDate?: string;
1475
+ modifiedDate?: string;
1476
+ description?: string;
1477
+ keywords?: string[];
1478
+ comments?: string;
1479
+ forbiddenStrings?: string[];
1480
+ }
1481
+ export interface DocSetting {
1482
+ beginNumber?: {
1483
+ page?: number;
1484
+ footnote?: number;
1485
+ endnote?: number;
1486
+ picture?: number;
1487
+ table?: number;
1488
+ equation?: number;
1489
+ totalPage?: number;
1490
+ };
1491
+ caretPos?: {
1492
+ list?: string;
1493
+ para?: string;
1494
+ pos?: string;
1495
+ };
1496
+ }
1497
+ export interface HwpxStyles {
1498
+ charShapes: Map<number, CharShape>;
1499
+ paraShapes: Map<number, ParaShape>;
1500
+ fonts: Map<number, string>;
1501
+ fontsByLang: Map<string, string>;
1502
+ borderFills: Map<number, BorderFillStyle>;
1503
+ tabDefs: Map<number, TabDef>;
1504
+ numberings: Map<number, NumberingDef>;
1505
+ bullets: Map<number, BulletDef>;
1506
+ styles: Map<number, StyleDef>;
1507
+ memoShapes: Map<number, MemoShape>;
1508
+ }
1509
+ export interface BinItem {
1510
+ type: 'Link' | 'Embedding' | 'Storage';
1511
+ aPath?: string;
1512
+ rPath?: string;
1513
+ binData?: string;
1514
+ format?: 'jpg' | 'bmp' | 'gif' | 'png' | 'ole';
1515
+ }
1516
+ export interface BinData {
1517
+ id: string;
1518
+ size?: number;
1519
+ encoding?: 'Base64';
1520
+ compress?: boolean;
1521
+ data: string;
1522
+ }
1523
+ export type HwpmlStyle = 'embed' | 'export';
1524
+ export interface HwpmlRoot {
1525
+ version?: string;
1526
+ subVersion?: string;
1527
+ style2?: HwpmlStyle;
1528
+ head?: HwpmlHead;
1529
+ body?: HwpmlBody;
1530
+ tail?: HwpmlTail;
1531
+ }
1532
+ export interface HwpmlHead {
1533
+ secCnt?: number;
1534
+ docSummary?: HwpxMetadata;
1535
+ docSetting?: DocSetting;
1536
+ mappingTable?: HwpxStyles;
1537
+ compatibleDocument?: CompatibleDocument;
1538
+ }
1539
+ export interface HwpmlBody {
1540
+ sections: HwpxSection[];
1541
+ }
1542
+ export interface HwpmlTail {
1543
+ binDataStorage?: BinDataStorage;
1544
+ scriptCode?: ScriptCode;
1545
+ xmlTemplate?: XmlTemplate;
1546
+ }
1547
+ export interface BinDataStorage {
1548
+ binData: BinData[];
1549
+ }
1550
+ export interface ScriptCode {
1551
+ type?: 'JScript';
1552
+ version?: string;
1553
+ header?: string;
1554
+ source?: string;
1555
+ preScript?: ScriptFunction[];
1556
+ postScript?: ScriptFunction[];
1557
+ }
1558
+ export interface ScriptFunction {
1559
+ name?: string;
1560
+ code: string;
1561
+ }
1562
+ export interface XmlTemplate {
1563
+ schema?: string;
1564
+ instance?: string;
1565
+ }
1566
+ export interface CompatibleDocument {
1567
+ targetProgram?: 'None' | 'Hwp70' | 'Word';
1568
+ layoutCompatibility?: LayoutCompatibility;
1569
+ }
1570
+ export interface LayoutCompatibility {
1571
+ applyFontWeightToBold?: boolean;
1572
+ useInnerUnderline?: boolean;
1573
+ fixedUnderlineWidth?: boolean;
1574
+ doNotApplyStrikeout?: boolean;
1575
+ useLowercaseStrikeout?: boolean;
1576
+ extendLineheightToOffset?: boolean;
1577
+ treatQuotationAsLatin?: boolean;
1578
+ doNotAlignWhitespaceOnRight?: boolean;
1579
+ doNotAdjustWordInJustify?: boolean;
1580
+ baseCharUnitOnEAsian?: boolean;
1581
+ baseCharUnitOfIndentOnFirstChar?: boolean;
1582
+ adjustLineheightToFont?: boolean;
1583
+ adjustBaselineInFixedLinespacing?: boolean;
1584
+ excludeOverlappingParaSpacing?: boolean;
1585
+ applyNextspacingOfLastPara?: boolean;
1586
+ applyAtLeastToPercent100Pct?: boolean;
1587
+ doNotApplyAutoSpaceEAsianEng?: boolean;
1588
+ doNotApplyAutoSpaceEAsianNum?: boolean;
1589
+ adjustParaBorderfillToSpacing?: boolean;
1590
+ connectParaBorderfillOfEqualBorder?: boolean;
1591
+ adjustParaBorderOffsetWithBorder?: boolean;
1592
+ extendLineheightToParaBorderOffset?: boolean;
1593
+ applyParaBorderToOutside?: boolean;
1594
+ baseLinespacingOnLinegrid?: boolean;
1595
+ applyCharSpacingToCharGrid?: boolean;
1596
+ doNotApplyGridInHeaderfooter?: boolean;
1597
+ extendHeaderfooterToBody?: boolean;
1598
+ adjustEndnotePositionToFootnote?: boolean;
1599
+ doNotApplyImageEffect?: boolean;
1600
+ doNotApplyShapeComment?: boolean;
1601
+ doNotAdjustEmptyAnchorLine?: boolean;
1602
+ overlapBothAllowOverlap?: boolean;
1603
+ doNotApplyVertOffsetOfForward?: boolean;
1604
+ extendVertLimitToPageMargins?: boolean;
1605
+ doNotHoldAnchorOfTable?: boolean;
1606
+ doNotFormattingAtBeneathAnchor?: boolean;
1607
+ doNotApplyExtensionCharCompose?: boolean;
1608
+ }
1609
+ export interface HwpxContent {
1610
+ metadata: HwpxMetadata;
1611
+ docSetting?: DocSetting;
1612
+ sections: HwpxSection[];
1613
+ images: Map<string, HwpxImage>;
1614
+ binItems: Map<string, BinItem>;
1615
+ binData: Map<string, BinData>;
1616
+ footnotes: Footnote[];
1617
+ endnotes: Endnote[];
1618
+ styles?: HwpxStyles;
1619
+ hwpmlVersion?: string;
1620
+ hwpmlSubVersion?: string;
1621
+ hwpmlStyle?: HwpmlStyle;
1622
+ compatibleDocument?: CompatibleDocument;
1623
+ }
1624
+ export type UnderlineShape = 'solid' | 'dash' | 'dot' | 'dashDot' | 'dashDotDot' | 'long' | 'thick' | 'double' | 'wave' | 'doubleWave' | 'thickWave';
1625
+ export type StrikeoutShape = 'none' | 'continuous' | 'dash' | 'dot' | 'dashDot' | 'dashDotDot' | 'double' | '3D';
1626
+ export type OutlineType = 'none' | 'solid' | 'dot' | 'dash' | 'dashDot' | 'dashDotDot' | 'thick' | 'double' | 'triple' | 'thin';
1627
+ export type BreakWordType = 'normal' | 'hyphenation' | 'breakWord' | 'keepWord';
1628
+ export type FillType = 'none' | 'color' | 'gradation' | 'image';
1629
+ export type ImageFillMode = 'tile' | 'tileHorz' | 'tileVert' | 'totalFit' | 'fit' | 'center' | 'onceAbsoluteScale';
1630
+ export type TabLeader = 'none' | 'solid' | 'dash' | 'dot' | 'dashDot' | 'dashDotDot';
1631
+ export type NumFormat = 'digit' | 'romanCapital' | 'romanSmall' | 'latinCapital' | 'latinSmall' | 'hangulSyllable' | 'hangulJamo' | 'circledDigit' | 'decimalEnclosedInParentheses';
1632
+ export type NumberingType = 'None' | 'Figure' | 'Table' | 'Equation' | 'Picture' | 'none' | 'figure' | 'table' | 'equation' | 'picture';
1633
+ export interface FontRef {
1634
+ hangul?: number;
1635
+ latin?: number;
1636
+ hanja?: number;
1637
+ japanese?: number;
1638
+ other?: number;
1639
+ symbol?: number;
1640
+ user?: number;
1641
+ }