docxmlater 8.1.0 → 8.3.1
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/dist/core/Document.d.ts +12 -0
- package/dist/core/Document.d.ts.map +1 -1
- package/dist/core/Document.js +112 -2
- package/dist/core/Document.js.map +1 -1
- package/dist/core/DocumentParser.d.ts.map +1 -1
- package/dist/core/DocumentParser.js +5 -1
- package/dist/core/DocumentParser.js.map +1 -1
- package/dist/elements/Paragraph.d.ts.map +1 -1
- package/dist/elements/Paragraph.js +91 -0
- package/dist/elements/Paragraph.js.map +1 -1
- package/dist/elements/Table.d.ts.map +1 -1
- package/dist/elements/Table.js +9 -10
- package/dist/elements/Table.js.map +1 -1
- package/dist/ms-doc/cfb/CFBReader.d.ts +35 -0
- package/dist/ms-doc/cfb/CFBReader.d.ts.map +1 -0
- package/dist/ms-doc/cfb/CFBReader.js +360 -0
- package/dist/ms-doc/cfb/CFBReader.js.map +1 -0
- package/dist/ms-doc/converter/DocToDocxConverter.d.ts +55 -0
- package/dist/ms-doc/converter/DocToDocxConverter.d.ts.map +1 -0
- package/dist/ms-doc/converter/DocToDocxConverter.js +316 -0
- package/dist/ms-doc/converter/DocToDocxConverter.js.map +1 -0
- package/dist/ms-doc/fib/FIB.d.ts +18 -0
- package/dist/ms-doc/fib/FIB.d.ts.map +1 -0
- package/dist/ms-doc/fib/FIB.js +342 -0
- package/dist/ms-doc/fib/FIB.js.map +1 -0
- package/dist/ms-doc/fields/FieldParser.d.ts +31 -0
- package/dist/ms-doc/fields/FieldParser.d.ts.map +1 -0
- package/dist/ms-doc/fields/FieldParser.js +266 -0
- package/dist/ms-doc/fields/FieldParser.js.map +1 -0
- package/dist/ms-doc/images/PictureExtractor.d.ts +22 -0
- package/dist/ms-doc/images/PictureExtractor.d.ts.map +1 -0
- package/dist/ms-doc/images/PictureExtractor.js +231 -0
- package/dist/ms-doc/images/PictureExtractor.js.map +1 -0
- package/dist/ms-doc/index.d.ts +20 -0
- package/dist/ms-doc/index.d.ts.map +1 -0
- package/dist/ms-doc/index.js +59 -0
- package/dist/ms-doc/index.js.map +1 -0
- package/dist/ms-doc/properties/SPRM.d.ts +210 -0
- package/dist/ms-doc/properties/SPRM.d.ts.map +1 -0
- package/dist/ms-doc/properties/SPRM.js +632 -0
- package/dist/ms-doc/properties/SPRM.js.map +1 -0
- package/dist/ms-doc/sections/SectionParser.d.ts +25 -0
- package/dist/ms-doc/sections/SectionParser.d.ts.map +1 -0
- package/dist/ms-doc/sections/SectionParser.js +214 -0
- package/dist/ms-doc/sections/SectionParser.js.map +1 -0
- package/dist/ms-doc/styles/StyleSheet.d.ts +23 -0
- package/dist/ms-doc/styles/StyleSheet.d.ts.map +1 -0
- package/dist/ms-doc/styles/StyleSheet.js +265 -0
- package/dist/ms-doc/styles/StyleSheet.js.map +1 -0
- package/dist/ms-doc/subdocuments/SubdocumentParser.d.ts +61 -0
- package/dist/ms-doc/subdocuments/SubdocumentParser.d.ts.map +1 -0
- package/dist/ms-doc/subdocuments/SubdocumentParser.js +208 -0
- package/dist/ms-doc/subdocuments/SubdocumentParser.js.map +1 -0
- package/dist/ms-doc/tables/TableParser.d.ts +29 -0
- package/dist/ms-doc/tables/TableParser.d.ts.map +1 -0
- package/dist/ms-doc/tables/TableParser.js +176 -0
- package/dist/ms-doc/tables/TableParser.js.map +1 -0
- package/dist/ms-doc/text/PieceTable.d.ts +21 -0
- package/dist/ms-doc/text/PieceTable.d.ts.map +1 -0
- package/dist/ms-doc/text/PieceTable.js +171 -0
- package/dist/ms-doc/text/PieceTable.js.map +1 -0
- package/dist/ms-doc/types/Constants.d.ts +99 -0
- package/dist/ms-doc/types/Constants.d.ts.map +1 -0
- package/dist/ms-doc/types/Constants.js +102 -0
- package/dist/ms-doc/types/Constants.js.map +1 -0
- package/dist/ms-doc/types/DocTypes.d.ts +368 -0
- package/dist/ms-doc/types/DocTypes.d.ts.map +1 -0
- package/dist/ms-doc/types/DocTypes.js +3 -0
- package/dist/ms-doc/types/DocTypes.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,632 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SPRMParser = exports.SPRM_PARAGRAPH = exports.SPRM_CHARACTER = exports.SPRM_CATEGORIES = exports.SPRM_TYPES = void 0;
|
|
4
|
+
exports.SPRM_TYPES = {
|
|
5
|
+
BYTE: 0,
|
|
6
|
+
TOGGLE: 1,
|
|
7
|
+
WORD: 2,
|
|
8
|
+
DWORD: 3,
|
|
9
|
+
VARIABLE: 4,
|
|
10
|
+
TRIBYTE: 5,
|
|
11
|
+
COMPLEX: 6,
|
|
12
|
+
SPECIAL: 7,
|
|
13
|
+
};
|
|
14
|
+
exports.SPRM_CATEGORIES = {
|
|
15
|
+
PARAGRAPH: 1,
|
|
16
|
+
CHARACTER: 2,
|
|
17
|
+
PICTURE: 3,
|
|
18
|
+
SECTION: 4,
|
|
19
|
+
TABLE: 5,
|
|
20
|
+
};
|
|
21
|
+
exports.SPRM_CHARACTER = {
|
|
22
|
+
sprmCFRMarkDel: 0x0800,
|
|
23
|
+
sprmCFRMarkIns: 0x0801,
|
|
24
|
+
sprmCFFldVanish: 0x0802,
|
|
25
|
+
sprmCPicLocation: 0x6a03,
|
|
26
|
+
sprmCIbstRMark: 0x4804,
|
|
27
|
+
sprmCDttmRMark: 0x6805,
|
|
28
|
+
sprmCFData: 0x0806,
|
|
29
|
+
sprmCIdslRMark: 0x4807,
|
|
30
|
+
sprmCSymbol: 0x6a09,
|
|
31
|
+
sprmCFOle2: 0x080a,
|
|
32
|
+
sprmCHighlight: 0x2a0c,
|
|
33
|
+
sprmCFWebHidden: 0x0811,
|
|
34
|
+
sprmCRsidProp: 0x6815,
|
|
35
|
+
sprmCRsidText: 0x6816,
|
|
36
|
+
sprmCRsidRMDel: 0x6817,
|
|
37
|
+
sprmCFSpecVanish: 0x0818,
|
|
38
|
+
sprmCFMathPr: 0xc81a,
|
|
39
|
+
sprmCIstd: 0x4a30,
|
|
40
|
+
sprmCIstdPermute: 0xca31,
|
|
41
|
+
sprmCPlain: 0x2a33,
|
|
42
|
+
sprmCKcd: 0x2a34,
|
|
43
|
+
sprmCFBold: 0x0835,
|
|
44
|
+
sprmCFItalic: 0x0836,
|
|
45
|
+
sprmCFStrike: 0x0837,
|
|
46
|
+
sprmCFOutline: 0x0838,
|
|
47
|
+
sprmCFShadow: 0x0839,
|
|
48
|
+
sprmCFSmallCaps: 0x083a,
|
|
49
|
+
sprmCFCaps: 0x083b,
|
|
50
|
+
sprmCFVanish: 0x083c,
|
|
51
|
+
sprmCKul: 0x2a3e,
|
|
52
|
+
sprmCDxaSpace: 0x8840,
|
|
53
|
+
sprmCIco: 0x2a42,
|
|
54
|
+
sprmCHps: 0x4a43,
|
|
55
|
+
sprmCHpsPos: 0x4845,
|
|
56
|
+
sprmCMajority: 0xca47,
|
|
57
|
+
sprmCIss: 0x2a48,
|
|
58
|
+
sprmCHpsKern: 0x484b,
|
|
59
|
+
sprmCHresi: 0x484e,
|
|
60
|
+
sprmCRgFtc0: 0x4a4f,
|
|
61
|
+
sprmCRgFtc1: 0x4a50,
|
|
62
|
+
sprmCRgFtc2: 0x4a51,
|
|
63
|
+
sprmCCharScale: 0x4852,
|
|
64
|
+
sprmCFDStrike: 0x2a53,
|
|
65
|
+
sprmCFImprint: 0x0854,
|
|
66
|
+
sprmCFSpec: 0x0855,
|
|
67
|
+
sprmCFObj: 0x0856,
|
|
68
|
+
sprmCPropRMark90: 0xca57,
|
|
69
|
+
sprmCFEmboss: 0x0858,
|
|
70
|
+
sprmCSfxText: 0x2859,
|
|
71
|
+
sprmCFBiDi: 0x085a,
|
|
72
|
+
sprmCFBoldBi: 0x085c,
|
|
73
|
+
sprmCFItalicBi: 0x085d,
|
|
74
|
+
sprmCFtcBi: 0x4a5e,
|
|
75
|
+
sprmCLidBi: 0x485f,
|
|
76
|
+
sprmCIcoBi: 0x4a60,
|
|
77
|
+
sprmCHpsBi: 0x4a61,
|
|
78
|
+
sprmCDispFldRMark: 0xca62,
|
|
79
|
+
sprmCIbstRMarkDel: 0x4863,
|
|
80
|
+
sprmCDttmRMarkDel: 0x6864,
|
|
81
|
+
sprmCBrc80: 0x6865,
|
|
82
|
+
sprmCShd80: 0x4866,
|
|
83
|
+
sprmCIdslRMarkDel: 0x4867,
|
|
84
|
+
sprmCFUsePgsuSettings: 0x0868,
|
|
85
|
+
sprmCRgLid0_80: 0x486d,
|
|
86
|
+
sprmCRgLid1_80: 0x486e,
|
|
87
|
+
sprmCIdctHint: 0x286f,
|
|
88
|
+
sprmCCv: 0x6870,
|
|
89
|
+
sprmCShd: 0xca71,
|
|
90
|
+
sprmCBrc: 0xca72,
|
|
91
|
+
sprmCRgLid0: 0x4873,
|
|
92
|
+
sprmCRgLid1: 0x4874,
|
|
93
|
+
sprmCFNoProof: 0x0875,
|
|
94
|
+
sprmCFitText: 0xca76,
|
|
95
|
+
sprmCCvUl: 0x6877,
|
|
96
|
+
sprmCFELayout: 0xca78,
|
|
97
|
+
sprmCLbcCRJ: 0x2879,
|
|
98
|
+
sprmCFComplexScripts: 0x0882,
|
|
99
|
+
sprmCWall: 0x2a83,
|
|
100
|
+
sprmCCnf: 0xca85,
|
|
101
|
+
sprmCNeedFontFixup: 0x2a86,
|
|
102
|
+
sprmCPbiIBullet: 0x6887,
|
|
103
|
+
sprmCPbiGrf: 0x4888,
|
|
104
|
+
sprmCPropRMark: 0xca89,
|
|
105
|
+
sprmCFSdtVanish: 0x0890,
|
|
106
|
+
};
|
|
107
|
+
exports.SPRM_PARAGRAPH = {
|
|
108
|
+
sprmPIstd: 0x4600,
|
|
109
|
+
sprmPIstdPermute: 0xc601,
|
|
110
|
+
sprmPIncLvl: 0x2602,
|
|
111
|
+
sprmPJc80: 0x2403,
|
|
112
|
+
sprmPFKeep: 0x2405,
|
|
113
|
+
sprmPFKeepFollow: 0x2406,
|
|
114
|
+
sprmPFPageBreakBefore: 0x2407,
|
|
115
|
+
sprmPIlvl: 0x260a,
|
|
116
|
+
sprmPIlfo: 0x460b,
|
|
117
|
+
sprmPFNoLineNumb: 0x240c,
|
|
118
|
+
sprmPChgTabsPapx: 0xc60d,
|
|
119
|
+
sprmPDxaRight80: 0x840e,
|
|
120
|
+
sprmPDxaLeft80: 0x840f,
|
|
121
|
+
sprmPNest80: 0x4610,
|
|
122
|
+
sprmPDxaLeft180: 0x8411,
|
|
123
|
+
sprmPDyaLine: 0x6412,
|
|
124
|
+
sprmPDyaBefore: 0xa413,
|
|
125
|
+
sprmPDyaAfter: 0xa414,
|
|
126
|
+
sprmPChgTabs: 0xc615,
|
|
127
|
+
sprmPFInTable: 0x2416,
|
|
128
|
+
sprmPFTtp: 0x2417,
|
|
129
|
+
sprmPDxaAbs: 0x8418,
|
|
130
|
+
sprmPDyaAbs: 0x8419,
|
|
131
|
+
sprmPDxaWidth: 0x841a,
|
|
132
|
+
sprmPPc: 0x261b,
|
|
133
|
+
sprmPWr: 0x2423,
|
|
134
|
+
sprmPBrcTop80: 0x6424,
|
|
135
|
+
sprmPBrcLeft80: 0x6425,
|
|
136
|
+
sprmPBrcBottom80: 0x6426,
|
|
137
|
+
sprmPBrcRight80: 0x6427,
|
|
138
|
+
sprmPBrcBetween80: 0x6428,
|
|
139
|
+
sprmPBrcBar80: 0x6629,
|
|
140
|
+
sprmPFNoAutoHyph: 0x242a,
|
|
141
|
+
sprmPWHeightAbs: 0x442b,
|
|
142
|
+
sprmPDcs: 0x442c,
|
|
143
|
+
sprmPShd80: 0x442d,
|
|
144
|
+
sprmPDyaFromText: 0x842e,
|
|
145
|
+
sprmPDxaFromText: 0x842f,
|
|
146
|
+
sprmPFLocked: 0x2430,
|
|
147
|
+
sprmPFWidowControl: 0x2431,
|
|
148
|
+
sprmPFKinsoku: 0x2433,
|
|
149
|
+
sprmPFWordWrap: 0x2434,
|
|
150
|
+
sprmPFOverflowPunct: 0x2435,
|
|
151
|
+
sprmPFTopLinePunct: 0x2436,
|
|
152
|
+
sprmPFAutoSpaceDE: 0x2437,
|
|
153
|
+
sprmPFAutoSpaceDN: 0x2438,
|
|
154
|
+
sprmPWAlignFont: 0x4439,
|
|
155
|
+
sprmPFrameTextFlow: 0x443a,
|
|
156
|
+
sprmPOutLvl: 0x2640,
|
|
157
|
+
sprmPFBiDi: 0x2441,
|
|
158
|
+
sprmPFNumRMIns: 0x2443,
|
|
159
|
+
sprmPNumRM: 0xc645,
|
|
160
|
+
sprmPHugePapx: 0x6646,
|
|
161
|
+
sprmPFUsePgsuSettings: 0x2447,
|
|
162
|
+
sprmPFAdjustRight: 0x2448,
|
|
163
|
+
sprmPItap: 0x6649,
|
|
164
|
+
sprmPDtap: 0x664a,
|
|
165
|
+
sprmPFInnerTableCell: 0x244b,
|
|
166
|
+
sprmPFInnerTtp: 0x244c,
|
|
167
|
+
sprmPShd: 0xc64d,
|
|
168
|
+
sprmPBrcTop: 0xc64e,
|
|
169
|
+
sprmPBrcLeft: 0xc64f,
|
|
170
|
+
sprmPBrcBottom: 0xc650,
|
|
171
|
+
sprmPBrcRight: 0xc651,
|
|
172
|
+
sprmPBrcBetween: 0xc652,
|
|
173
|
+
sprmPBrcBar: 0xc653,
|
|
174
|
+
sprmPDxaRight: 0x845d,
|
|
175
|
+
sprmPDxaLeft: 0x845e,
|
|
176
|
+
sprmPNest: 0x465f,
|
|
177
|
+
sprmPDxaLeft1: 0x8460,
|
|
178
|
+
sprmPJc: 0x2461,
|
|
179
|
+
sprmPFNoAllowOverlap: 0x2462,
|
|
180
|
+
sprmPWall: 0x2664,
|
|
181
|
+
sprmPIpgp: 0x6465,
|
|
182
|
+
sprmPCnf: 0xc666,
|
|
183
|
+
sprmPRsid: 0x6467,
|
|
184
|
+
sprmPIstdListPermute: 0xc669,
|
|
185
|
+
sprmPTableProps: 0x646b,
|
|
186
|
+
sprmPTIstdInfo: 0xc66c,
|
|
187
|
+
sprmPFContextualSpacing: 0x246d,
|
|
188
|
+
sprmPPropRMark: 0xc66f,
|
|
189
|
+
sprmPFMirrorIndents: 0x2470,
|
|
190
|
+
sprmPTtwo: 0x2471,
|
|
191
|
+
};
|
|
192
|
+
function getSprmOperandSize(sprm) {
|
|
193
|
+
const spra = (sprm >> 13) & 0x07;
|
|
194
|
+
switch (spra) {
|
|
195
|
+
case exports.SPRM_TYPES.BYTE:
|
|
196
|
+
case exports.SPRM_TYPES.TOGGLE:
|
|
197
|
+
return 1;
|
|
198
|
+
case exports.SPRM_TYPES.WORD:
|
|
199
|
+
return 2;
|
|
200
|
+
case exports.SPRM_TYPES.DWORD:
|
|
201
|
+
return 4;
|
|
202
|
+
case exports.SPRM_TYPES.TRIBYTE:
|
|
203
|
+
return 3;
|
|
204
|
+
case exports.SPRM_TYPES.VARIABLE:
|
|
205
|
+
case exports.SPRM_TYPES.COMPLEX:
|
|
206
|
+
case exports.SPRM_TYPES.SPECIAL:
|
|
207
|
+
return -1;
|
|
208
|
+
default:
|
|
209
|
+
return 1;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
class SPRMParser {
|
|
213
|
+
data;
|
|
214
|
+
view;
|
|
215
|
+
offset;
|
|
216
|
+
constructor(data, offset = 0) {
|
|
217
|
+
this.data = data;
|
|
218
|
+
this.view = new DataView(data.buffer, data.byteOffset, data.byteLength);
|
|
219
|
+
this.offset = offset;
|
|
220
|
+
}
|
|
221
|
+
parseCharacterProperties(baseProps = {}) {
|
|
222
|
+
const props = { ...baseProps };
|
|
223
|
+
while (this.offset < this.data.length - 1) {
|
|
224
|
+
const sprm = this.view.getUint16(this.offset, true);
|
|
225
|
+
this.offset += 2;
|
|
226
|
+
const operand = this.readOperand(sprm);
|
|
227
|
+
if (operand === null)
|
|
228
|
+
break;
|
|
229
|
+
this.applyCharacterSprm(props, sprm, operand);
|
|
230
|
+
}
|
|
231
|
+
return props;
|
|
232
|
+
}
|
|
233
|
+
parseParagraphProperties(baseProps = {}) {
|
|
234
|
+
const props = { ...baseProps };
|
|
235
|
+
while (this.offset < this.data.length - 1) {
|
|
236
|
+
const sprm = this.view.getUint16(this.offset, true);
|
|
237
|
+
this.offset += 2;
|
|
238
|
+
const operand = this.readOperand(sprm);
|
|
239
|
+
if (operand === null)
|
|
240
|
+
break;
|
|
241
|
+
this.applyParagraphSprm(props, sprm, operand);
|
|
242
|
+
}
|
|
243
|
+
return props;
|
|
244
|
+
}
|
|
245
|
+
readOperand(sprm) {
|
|
246
|
+
const size = getSprmOperandSize(sprm);
|
|
247
|
+
if (size === -1) {
|
|
248
|
+
if (this.offset >= this.data.length)
|
|
249
|
+
return null;
|
|
250
|
+
const len = this.data[this.offset] ?? 0;
|
|
251
|
+
this.offset++;
|
|
252
|
+
if (this.offset + len > this.data.length)
|
|
253
|
+
return null;
|
|
254
|
+
const operand = this.data.slice(this.offset, this.offset + len);
|
|
255
|
+
this.offset += len;
|
|
256
|
+
return operand;
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
if (this.offset + size > this.data.length)
|
|
260
|
+
return null;
|
|
261
|
+
const operand = this.data.slice(this.offset, this.offset + size);
|
|
262
|
+
this.offset += size;
|
|
263
|
+
return operand;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
applyCharacterSprm(props, sprm, operand) {
|
|
267
|
+
const operandView = new DataView(operand.buffer, operand.byteOffset, operand.byteLength);
|
|
268
|
+
const byte0 = operand[0] ?? 0;
|
|
269
|
+
switch (sprm) {
|
|
270
|
+
case exports.SPRM_CHARACTER.sprmCFBold:
|
|
271
|
+
props.bold = byte0 !== 0;
|
|
272
|
+
break;
|
|
273
|
+
case exports.SPRM_CHARACTER.sprmCFItalic:
|
|
274
|
+
props.italic = byte0 !== 0;
|
|
275
|
+
break;
|
|
276
|
+
case exports.SPRM_CHARACTER.sprmCFStrike:
|
|
277
|
+
props.strikethrough = byte0 !== 0;
|
|
278
|
+
break;
|
|
279
|
+
case exports.SPRM_CHARACTER.sprmCFDStrike:
|
|
280
|
+
props.doubleStrikethrough = byte0 !== 0;
|
|
281
|
+
break;
|
|
282
|
+
case exports.SPRM_CHARACTER.sprmCFSmallCaps:
|
|
283
|
+
props.smallCaps = byte0 !== 0;
|
|
284
|
+
break;
|
|
285
|
+
case exports.SPRM_CHARACTER.sprmCFCaps:
|
|
286
|
+
props.allCaps = byte0 !== 0;
|
|
287
|
+
break;
|
|
288
|
+
case exports.SPRM_CHARACTER.sprmCFVanish:
|
|
289
|
+
props.hidden = byte0 !== 0;
|
|
290
|
+
break;
|
|
291
|
+
case exports.SPRM_CHARACTER.sprmCKul:
|
|
292
|
+
props.underline = this.getUnderlineType(byte0);
|
|
293
|
+
break;
|
|
294
|
+
case exports.SPRM_CHARACTER.sprmCHps:
|
|
295
|
+
if (operand.length >= 2) {
|
|
296
|
+
props.fontSize = operandView.getUint16(0, true);
|
|
297
|
+
}
|
|
298
|
+
break;
|
|
299
|
+
case exports.SPRM_CHARACTER.sprmCIss:
|
|
300
|
+
if (byte0 === 1) {
|
|
301
|
+
props.superscript = true;
|
|
302
|
+
props.subscript = false;
|
|
303
|
+
}
|
|
304
|
+
else if (byte0 === 2) {
|
|
305
|
+
props.subscript = true;
|
|
306
|
+
props.superscript = false;
|
|
307
|
+
}
|
|
308
|
+
else {
|
|
309
|
+
props.superscript = false;
|
|
310
|
+
props.subscript = false;
|
|
311
|
+
}
|
|
312
|
+
break;
|
|
313
|
+
case exports.SPRM_CHARACTER.sprmCIco:
|
|
314
|
+
props.color = this.getColorFromIndex(byte0);
|
|
315
|
+
break;
|
|
316
|
+
case exports.SPRM_CHARACTER.sprmCCv:
|
|
317
|
+
if (operand.length >= 4) {
|
|
318
|
+
const r = operand[0] ?? 0;
|
|
319
|
+
const g = operand[1] ?? 0;
|
|
320
|
+
const b = operand[2] ?? 0;
|
|
321
|
+
props.color = this.rgbToHex(r, g, b);
|
|
322
|
+
}
|
|
323
|
+
break;
|
|
324
|
+
case exports.SPRM_CHARACTER.sprmCHighlight:
|
|
325
|
+
props.highlight = this.getHighlightColor(byte0);
|
|
326
|
+
break;
|
|
327
|
+
case exports.SPRM_CHARACTER.sprmCDxaSpace:
|
|
328
|
+
if (operand.length >= 2) {
|
|
329
|
+
props.spacing = operandView.getInt16(0, true);
|
|
330
|
+
}
|
|
331
|
+
break;
|
|
332
|
+
case exports.SPRM_CHARACTER.sprmCHpsPos:
|
|
333
|
+
if (operand.length >= 2) {
|
|
334
|
+
props.position = operandView.getInt16(0, true);
|
|
335
|
+
}
|
|
336
|
+
break;
|
|
337
|
+
case exports.SPRM_CHARACTER.sprmCIstd:
|
|
338
|
+
if (operand.length >= 2) {
|
|
339
|
+
props.styleIndex = operandView.getUint16(0, true);
|
|
340
|
+
}
|
|
341
|
+
break;
|
|
342
|
+
case exports.SPRM_CHARACTER.sprmCFEmboss:
|
|
343
|
+
break;
|
|
344
|
+
case exports.SPRM_CHARACTER.sprmCFImprint:
|
|
345
|
+
break;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
applyParagraphSprm(props, sprm, operand) {
|
|
349
|
+
const operandView = new DataView(operand.buffer, operand.byteOffset, operand.byteLength);
|
|
350
|
+
const byte0 = operand[0] ?? 0;
|
|
351
|
+
switch (sprm) {
|
|
352
|
+
case exports.SPRM_PARAGRAPH.sprmPIstd:
|
|
353
|
+
if (operand.length >= 2) {
|
|
354
|
+
props.styleIndex = operandView.getUint16(0, true);
|
|
355
|
+
}
|
|
356
|
+
break;
|
|
357
|
+
case exports.SPRM_PARAGRAPH.sprmPJc:
|
|
358
|
+
case exports.SPRM_PARAGRAPH.sprmPJc80:
|
|
359
|
+
props.justification = this.getJustification(byte0);
|
|
360
|
+
break;
|
|
361
|
+
case exports.SPRM_PARAGRAPH.sprmPFKeep:
|
|
362
|
+
props.keepTogether = byte0 !== 0;
|
|
363
|
+
break;
|
|
364
|
+
case exports.SPRM_PARAGRAPH.sprmPFKeepFollow:
|
|
365
|
+
props.keepWithNext = byte0 !== 0;
|
|
366
|
+
break;
|
|
367
|
+
case exports.SPRM_PARAGRAPH.sprmPFPageBreakBefore:
|
|
368
|
+
props.pageBreakBefore = byte0 !== 0;
|
|
369
|
+
break;
|
|
370
|
+
case exports.SPRM_PARAGRAPH.sprmPFWidowControl:
|
|
371
|
+
props.widowControl = byte0 !== 0;
|
|
372
|
+
break;
|
|
373
|
+
case exports.SPRM_PARAGRAPH.sprmPDxaLeft:
|
|
374
|
+
case exports.SPRM_PARAGRAPH.sprmPDxaLeft80:
|
|
375
|
+
if (operand.length >= 2) {
|
|
376
|
+
props.indentLeft = operandView.getInt16(0, true);
|
|
377
|
+
}
|
|
378
|
+
break;
|
|
379
|
+
case exports.SPRM_PARAGRAPH.sprmPDxaRight:
|
|
380
|
+
case exports.SPRM_PARAGRAPH.sprmPDxaRight80:
|
|
381
|
+
if (operand.length >= 2) {
|
|
382
|
+
props.indentRight = operandView.getInt16(0, true);
|
|
383
|
+
}
|
|
384
|
+
break;
|
|
385
|
+
case exports.SPRM_PARAGRAPH.sprmPDxaLeft1:
|
|
386
|
+
case exports.SPRM_PARAGRAPH.sprmPDxaLeft180:
|
|
387
|
+
if (operand.length >= 2) {
|
|
388
|
+
props.indentFirstLine = operandView.getInt16(0, true);
|
|
389
|
+
}
|
|
390
|
+
break;
|
|
391
|
+
case exports.SPRM_PARAGRAPH.sprmPDyaBefore:
|
|
392
|
+
if (operand.length >= 2) {
|
|
393
|
+
props.spaceBefore = operandView.getUint16(0, true);
|
|
394
|
+
}
|
|
395
|
+
break;
|
|
396
|
+
case exports.SPRM_PARAGRAPH.sprmPDyaAfter:
|
|
397
|
+
if (operand.length >= 2) {
|
|
398
|
+
props.spaceAfter = operandView.getUint16(0, true);
|
|
399
|
+
}
|
|
400
|
+
break;
|
|
401
|
+
case exports.SPRM_PARAGRAPH.sprmPDyaLine:
|
|
402
|
+
if (operand.length >= 4) {
|
|
403
|
+
const dyaLine = operandView.getInt16(0, true);
|
|
404
|
+
const fMultLinespace = operandView.getInt16(2, true);
|
|
405
|
+
props.lineSpacing = Math.abs(dyaLine);
|
|
406
|
+
if (dyaLine < 0) {
|
|
407
|
+
props.lineSpacingType = 'exact';
|
|
408
|
+
}
|
|
409
|
+
else if (fMultLinespace === 1) {
|
|
410
|
+
props.lineSpacingType = 'auto';
|
|
411
|
+
}
|
|
412
|
+
else {
|
|
413
|
+
props.lineSpacingType = 'atLeast';
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
break;
|
|
417
|
+
case exports.SPRM_PARAGRAPH.sprmPIlvl:
|
|
418
|
+
if (!props.listInfo)
|
|
419
|
+
props.listInfo = {};
|
|
420
|
+
props.listInfo.ilvl = byte0;
|
|
421
|
+
break;
|
|
422
|
+
case exports.SPRM_PARAGRAPH.sprmPIlfo:
|
|
423
|
+
if (operand.length >= 2) {
|
|
424
|
+
if (!props.listInfo)
|
|
425
|
+
props.listInfo = {};
|
|
426
|
+
props.listInfo.ilfo = operandView.getUint16(0, true);
|
|
427
|
+
}
|
|
428
|
+
break;
|
|
429
|
+
case exports.SPRM_PARAGRAPH.sprmPOutLvl:
|
|
430
|
+
props.outlineLevel = byte0;
|
|
431
|
+
break;
|
|
432
|
+
case exports.SPRM_PARAGRAPH.sprmPFContextualSpacing:
|
|
433
|
+
break;
|
|
434
|
+
case exports.SPRM_PARAGRAPH.sprmPShd:
|
|
435
|
+
case exports.SPRM_PARAGRAPH.sprmPShd80:
|
|
436
|
+
props.shading = this.parseShading(operand);
|
|
437
|
+
break;
|
|
438
|
+
case exports.SPRM_PARAGRAPH.sprmPBrcTop:
|
|
439
|
+
case exports.SPRM_PARAGRAPH.sprmPBrcTop80:
|
|
440
|
+
props.borderTop = this.parseBorder(operand);
|
|
441
|
+
break;
|
|
442
|
+
case exports.SPRM_PARAGRAPH.sprmPBrcBottom:
|
|
443
|
+
case exports.SPRM_PARAGRAPH.sprmPBrcBottom80:
|
|
444
|
+
props.borderBottom = this.parseBorder(operand);
|
|
445
|
+
break;
|
|
446
|
+
case exports.SPRM_PARAGRAPH.sprmPBrcLeft:
|
|
447
|
+
case exports.SPRM_PARAGRAPH.sprmPBrcLeft80:
|
|
448
|
+
props.borderLeft = this.parseBorder(operand);
|
|
449
|
+
break;
|
|
450
|
+
case exports.SPRM_PARAGRAPH.sprmPBrcRight:
|
|
451
|
+
case exports.SPRM_PARAGRAPH.sprmPBrcRight80:
|
|
452
|
+
props.borderRight = this.parseBorder(operand);
|
|
453
|
+
break;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
getUnderlineType(code) {
|
|
457
|
+
const types = {
|
|
458
|
+
0: 'none',
|
|
459
|
+
1: 'single',
|
|
460
|
+
2: 'words',
|
|
461
|
+
3: 'double',
|
|
462
|
+
4: 'dotted',
|
|
463
|
+
6: 'thick',
|
|
464
|
+
7: 'dash',
|
|
465
|
+
9: 'dotDash',
|
|
466
|
+
10: 'dotDotDash',
|
|
467
|
+
11: 'wave',
|
|
468
|
+
20: 'dottedHeavy',
|
|
469
|
+
23: 'dashedHeavy',
|
|
470
|
+
25: 'dashDotHeavy',
|
|
471
|
+
26: 'dashDotDotHeavy',
|
|
472
|
+
27: 'wavyHeavy',
|
|
473
|
+
39: 'dashLong',
|
|
474
|
+
43: 'wavyDouble',
|
|
475
|
+
55: 'dashLongHeavy',
|
|
476
|
+
};
|
|
477
|
+
return types[code] ?? 'single';
|
|
478
|
+
}
|
|
479
|
+
getColorFromIndex(index) {
|
|
480
|
+
const colors = {
|
|
481
|
+
0: '000000',
|
|
482
|
+
1: '0000FF',
|
|
483
|
+
2: '00FFFF',
|
|
484
|
+
3: '00FF00',
|
|
485
|
+
4: 'FF00FF',
|
|
486
|
+
5: 'FF0000',
|
|
487
|
+
6: 'FFFF00',
|
|
488
|
+
7: 'FFFFFF',
|
|
489
|
+
8: '000080',
|
|
490
|
+
9: '008080',
|
|
491
|
+
10: '008000',
|
|
492
|
+
11: '800080',
|
|
493
|
+
12: '800000',
|
|
494
|
+
13: '808000',
|
|
495
|
+
14: '808080',
|
|
496
|
+
15: 'C0C0C0',
|
|
497
|
+
};
|
|
498
|
+
return colors[index] ?? '000000';
|
|
499
|
+
}
|
|
500
|
+
getHighlightColor(code) {
|
|
501
|
+
const colors = {
|
|
502
|
+
0: 'none',
|
|
503
|
+
1: 'black',
|
|
504
|
+
2: 'blue',
|
|
505
|
+
3: 'cyan',
|
|
506
|
+
4: 'green',
|
|
507
|
+
5: 'magenta',
|
|
508
|
+
6: 'red',
|
|
509
|
+
7: 'yellow',
|
|
510
|
+
8: 'white',
|
|
511
|
+
9: 'darkBlue',
|
|
512
|
+
10: 'darkCyan',
|
|
513
|
+
11: 'darkGreen',
|
|
514
|
+
12: 'darkMagenta',
|
|
515
|
+
13: 'darkRed',
|
|
516
|
+
14: 'darkYellow',
|
|
517
|
+
15: 'darkGray',
|
|
518
|
+
16: 'lightGray',
|
|
519
|
+
};
|
|
520
|
+
return colors[code] ?? 'none';
|
|
521
|
+
}
|
|
522
|
+
getJustification(code) {
|
|
523
|
+
switch (code) {
|
|
524
|
+
case 0:
|
|
525
|
+
return 'left';
|
|
526
|
+
case 1:
|
|
527
|
+
return 'center';
|
|
528
|
+
case 2:
|
|
529
|
+
return 'right';
|
|
530
|
+
case 3:
|
|
531
|
+
return 'both';
|
|
532
|
+
default:
|
|
533
|
+
return 'left';
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
rgbToHex(r, g, b) {
|
|
537
|
+
return [r, g, b].map((x) => x.toString(16).padStart(2, '0').toUpperCase()).join('');
|
|
538
|
+
}
|
|
539
|
+
parseBorder(operand) {
|
|
540
|
+
if (operand.length < 4)
|
|
541
|
+
return {};
|
|
542
|
+
const view = new DataView(operand.buffer, operand.byteOffset, operand.byteLength);
|
|
543
|
+
const dptLineWidth = operand[0] ?? 0;
|
|
544
|
+
const brcType = operand[1] ?? 0;
|
|
545
|
+
const ico = operand[2] ?? 0;
|
|
546
|
+
const dptSpace = operand[3] ?? 0;
|
|
547
|
+
return {
|
|
548
|
+
width: dptLineWidth,
|
|
549
|
+
style: this.getBorderStyle(brcType),
|
|
550
|
+
color: this.getColorFromIndex(ico),
|
|
551
|
+
space: dptSpace * 20,
|
|
552
|
+
};
|
|
553
|
+
}
|
|
554
|
+
getBorderStyle(code) {
|
|
555
|
+
const styles = {
|
|
556
|
+
0: 'none',
|
|
557
|
+
1: 'single',
|
|
558
|
+
2: 'thick',
|
|
559
|
+
3: 'double',
|
|
560
|
+
5: 'hairline',
|
|
561
|
+
6: 'dotted',
|
|
562
|
+
7: 'dashed',
|
|
563
|
+
8: 'dotDash',
|
|
564
|
+
9: 'dotDotDash',
|
|
565
|
+
10: 'triple',
|
|
566
|
+
11: 'thinThickSmallGap',
|
|
567
|
+
12: 'thickThinSmallGap',
|
|
568
|
+
13: 'thinThickThinSmallGap',
|
|
569
|
+
14: 'thinThickMediumGap',
|
|
570
|
+
15: 'thickThinMediumGap',
|
|
571
|
+
16: 'thinThickThinMediumGap',
|
|
572
|
+
17: 'thinThickLargeGap',
|
|
573
|
+
18: 'thickThinLargeGap',
|
|
574
|
+
19: 'thinThickThinLargeGap',
|
|
575
|
+
20: 'wave',
|
|
576
|
+
21: 'doubleWave',
|
|
577
|
+
22: 'dashSmallGap',
|
|
578
|
+
23: 'dashDotStroked',
|
|
579
|
+
24: 'threeDEmboss',
|
|
580
|
+
25: 'threeDEngrave',
|
|
581
|
+
26: 'outset',
|
|
582
|
+
27: 'inset',
|
|
583
|
+
};
|
|
584
|
+
return styles[code] ?? 'single';
|
|
585
|
+
}
|
|
586
|
+
parseShading(operand) {
|
|
587
|
+
if (operand.length < 2)
|
|
588
|
+
return {};
|
|
589
|
+
const pattern = operand[0] ?? 0;
|
|
590
|
+
const colors = operand[1] ?? 0;
|
|
591
|
+
const foreColor = colors & 0x0f;
|
|
592
|
+
const backColor = (colors >> 4) & 0x0f;
|
|
593
|
+
return {
|
|
594
|
+
pattern: this.getShadingPattern(pattern),
|
|
595
|
+
foregroundColor: this.getColorFromIndex(foreColor),
|
|
596
|
+
backgroundColor: this.getColorFromIndex(backColor),
|
|
597
|
+
};
|
|
598
|
+
}
|
|
599
|
+
getShadingPattern(code) {
|
|
600
|
+
const patterns = {
|
|
601
|
+
0: 'clear',
|
|
602
|
+
1: 'solid',
|
|
603
|
+
2: 'pct5',
|
|
604
|
+
3: 'pct10',
|
|
605
|
+
4: 'pct20',
|
|
606
|
+
5: 'pct25',
|
|
607
|
+
6: 'pct30',
|
|
608
|
+
7: 'pct40',
|
|
609
|
+
8: 'pct50',
|
|
610
|
+
9: 'pct60',
|
|
611
|
+
10: 'pct70',
|
|
612
|
+
11: 'pct75',
|
|
613
|
+
12: 'pct80',
|
|
614
|
+
13: 'pct90',
|
|
615
|
+
14: 'horzStripe',
|
|
616
|
+
15: 'vertStripe',
|
|
617
|
+
16: 'reverseDiagStripe',
|
|
618
|
+
17: 'diagStripe',
|
|
619
|
+
18: 'horzCross',
|
|
620
|
+
19: 'diagCross',
|
|
621
|
+
20: 'thinHorzStripe',
|
|
622
|
+
21: 'thinVertStripe',
|
|
623
|
+
22: 'thinReverseDiagStripe',
|
|
624
|
+
23: 'thinDiagStripe',
|
|
625
|
+
24: 'thinHorzCross',
|
|
626
|
+
25: 'thinDiagCross',
|
|
627
|
+
};
|
|
628
|
+
return patterns[code] ?? 'clear';
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
exports.SPRMParser = SPRMParser;
|
|
632
|
+
//# sourceMappingURL=SPRM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SPRM.js","sourceRoot":"","sources":["../../../src/ms-doc/properties/SPRM.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SectionProperties } from '../types/DocTypes';
|
|
2
|
+
export declare class SectionParseError extends Error {
|
|
3
|
+
constructor(message: string);
|
|
4
|
+
}
|
|
5
|
+
export interface ParsedSection {
|
|
6
|
+
index: number;
|
|
7
|
+
cpStart: number;
|
|
8
|
+
cpEnd: number;
|
|
9
|
+
properties: SectionProperties;
|
|
10
|
+
}
|
|
11
|
+
export declare class SectionParser {
|
|
12
|
+
private plcfSedData;
|
|
13
|
+
private view;
|
|
14
|
+
private wordDocumentStream;
|
|
15
|
+
private tableStream;
|
|
16
|
+
constructor(plcfSedData: Uint8Array, wordDocumentStream: Uint8Array, tableStream: Uint8Array);
|
|
17
|
+
parse(): ParsedSection[];
|
|
18
|
+
private parsePlcfSed;
|
|
19
|
+
private parseSEP;
|
|
20
|
+
private parseSectionSPRMs;
|
|
21
|
+
private applySectionSPRM;
|
|
22
|
+
static findSectionBreaks(text: string): number[];
|
|
23
|
+
static parse(plcfSedData: Uint8Array, wordDocumentStream: Uint8Array, tableStream: Uint8Array): ParsedSection[];
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=SectionParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SectionParser.d.ts","sourceRoot":"","sources":["../../../src/ms-doc/sections/SectionParser.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAMtD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAmBD,MAAM,WAAW,aAAa;IAE5B,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,MAAM,CAAC;IAEd,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAKD,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,WAAW,CAAa;gBAEpB,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU;IAU5F,KAAK,IAAI,aAAa,EAAE;IAsBxB,OAAO,CAAC,YAAY;IAiDpB,OAAO,CAAC,QAAQ;IA8ChB,OAAO,CAAC,iBAAiB;IAmDzB,OAAO,CAAC,gBAAgB;IAyGxB,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAkBhD,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,GAAG,aAAa,EAAE;CAIhH"}
|