office-viewer 0.1.0 → 0.1.3

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.
Files changed (436) hide show
  1. package/README.md +7 -2
  2. package/esm/OpenXML.d.ts +19 -0
  3. package/esm/OpenXML.js +43 -2
  4. package/esm/Word.d.ts +132 -15
  5. package/esm/Word.js +233 -54
  6. package/esm/openxml/ContentType.js +20 -6
  7. package/esm/openxml/Settings.d.ts +10 -0
  8. package/esm/openxml/Settings.js +93 -0
  9. package/esm/openxml/Style.d.ts +1 -1
  10. package/esm/openxml/Style.js +12 -12
  11. package/esm/openxml/Theme.js +30 -6
  12. package/esm/openxml/Types.d.ts +179 -2472
  13. package/esm/openxml/drawing/Blip.d.ts +7 -0
  14. package/esm/openxml/{word/drawing → drawing}/Blip.js +2 -1
  15. package/{lib/openxml/word → esm/openxml}/drawing/BlipFill.d.ts +1 -1
  16. package/esm/openxml/{word/drawing → drawing}/BlipFill.js +1 -1
  17. package/esm/openxml/drawing/CustomGeom.d.ts +9 -0
  18. package/esm/openxml/drawing/CustomGeom.js +17 -0
  19. package/esm/openxml/drawing/Drawing.d.ts +35 -0
  20. package/esm/openxml/drawing/Drawing.js +169 -0
  21. package/esm/openxml/drawing/Geom.d.ts +11 -0
  22. package/esm/openxml/drawing/Geom.js +34 -0
  23. package/esm/openxml/drawing/Path.d.ts +37 -0
  24. package/esm/openxml/drawing/Pic.d.ts +16 -0
  25. package/esm/openxml/drawing/Pic.js +26 -0
  26. package/esm/openxml/drawing/Shape.d.ts +20 -0
  27. package/esm/openxml/drawing/ShapeProperties.d.ts +22 -0
  28. package/esm/openxml/drawing/ShapeProperties.js +119 -0
  29. package/{lib/openxml/word → esm/openxml}/drawing/Transform.d.ts +2 -1
  30. package/esm/openxml/{word/drawing → drawing}/Transform.js +7 -3
  31. package/esm/openxml/drawing/diagram/Diagram.d.ts +7 -0
  32. package/esm/openxml/drawing/diagram/Diagram.js +24 -0
  33. package/esm/openxml/drawing/diagram/Sp.d.ts +2 -0
  34. package/esm/openxml/drawing/diagram/SpTree.d.ts +5 -0
  35. package/esm/openxml/drawing/presetShape.d.ts +3 -0
  36. package/esm/openxml/drawing/presetShape.js +38785 -0
  37. package/esm/openxml/drawing/svg/arcToA.d.ts +13 -0
  38. package/esm/openxml/drawing/svg/arcToA.js +88 -0
  39. package/esm/openxml/drawing/svg/formulas.d.ts +29 -0
  40. package/esm/openxml/drawing/svg/formulas.js +103 -0
  41. package/esm/openxml/drawing/svg/generateDefines.d.ts +12 -0
  42. package/esm/openxml/drawing/svg/generateDefines.js +144 -0
  43. package/esm/openxml/drawing/svg/presetVal.d.ts +43 -0
  44. package/esm/openxml/drawing/svg/presetVal.js +53 -0
  45. package/esm/openxml/drawing/svg/shapeToSVG.d.ts +9 -0
  46. package/esm/openxml/drawing/svg/shapeToSVG.js +151 -0
  47. package/esm/openxml/math/OMath.d.ts +5 -0
  48. package/esm/openxml/math/OMath.js +12 -0
  49. package/esm/openxml/math/convertOOML.d.ts +4 -0
  50. package/esm/openxml/math/convertOOML.js +13 -0
  51. package/esm/openxml/math/xsl.d.ts +4 -0
  52. package/esm/openxml/math/xsl.js +8 -0
  53. package/esm/openxml/word/Body.js +11 -7
  54. package/esm/openxml/word/Break.js +1 -3
  55. package/esm/openxml/word/Font.d.ts +16 -0
  56. package/esm/openxml/word/Font.js +78 -0
  57. package/esm/openxml/word/FontTable.d.ts +9 -0
  58. package/esm/openxml/word/FontTable.js +34 -0
  59. package/esm/openxml/word/Header.d.ts +11 -0
  60. package/esm/openxml/word/Header.js +54 -0
  61. package/esm/openxml/word/Hyperlink.d.ts +1 -0
  62. package/esm/openxml/word/Hyperlink.js +7 -3
  63. package/esm/openxml/word/InlineText.js +1 -1
  64. package/esm/openxml/word/NoBreakHyphen.d.ts +2 -0
  65. package/esm/openxml/word/NoBreakHyphen.js +7 -0
  66. package/esm/openxml/word/Note.d.ts +12 -0
  67. package/esm/openxml/word/Note.js +48 -0
  68. package/esm/openxml/word/Paragraph.d.ts +2 -2
  69. package/esm/openxml/word/Paragraph.js +10 -9
  70. package/esm/openxml/word/Pict.d.ts +1 -2
  71. package/esm/openxml/word/Pict.js +5 -3
  72. package/esm/openxml/word/Ruby.js +1 -1
  73. package/esm/openxml/word/Run.d.ts +7 -3
  74. package/esm/openxml/word/Run.js +28 -4
  75. package/esm/openxml/word/Section.d.ts +18 -5
  76. package/esm/openxml/word/Section.js +46 -2
  77. package/esm/openxml/word/Separator.d.ts +5 -0
  78. package/esm/openxml/word/Separator.js +10 -0
  79. package/esm/openxml/word/SoftHyphen.d.ts +5 -0
  80. package/esm/openxml/word/SoftHyphen.js +10 -0
  81. package/esm/openxml/word/Table.d.ts +4 -9
  82. package/esm/openxml/word/Table.js +0 -235
  83. package/esm/openxml/word/WDocument.d.ts +1 -2
  84. package/esm/openxml/word/WDocument.js +53 -7
  85. package/esm/openxml/word/numbering/AbstractNum.js +4 -2
  86. package/esm/openxml/word/numbering/Lvl.js +10 -4
  87. package/esm/openxml/word/numbering/Num.js +12 -4
  88. package/esm/openxml/word/numbering/NumberProperties.js +2 -2
  89. package/esm/openxml/word/numbering/Numbering.js +1 -1
  90. package/esm/openxml/word/table/Tc.d.ts +1 -22
  91. package/esm/openxml/word/table/Tc.js +1 -221
  92. package/esm/openxml/word/table/Tr.d.ts +0 -5
  93. package/esm/openxml/word/table/Tr.js +0 -97
  94. package/esm/openxml/word/wps/WPG.d.ts +5 -0
  95. package/esm/openxml/word/wps/WPS.d.ts +18 -0
  96. package/esm/openxml/word/wps/WPS.js +147 -0
  97. package/esm/openxml/word/wps/WPSStyle.d.ts +10 -0
  98. package/esm/openxml/word/wps/WPSStyle.js +42 -0
  99. package/esm/package/PackageParser.d.ts +1 -1
  100. package/esm/package/XMLPackageParser.d.ts +3 -3
  101. package/esm/package/ZipPackageParser.d.ts +1 -1
  102. package/esm/package/ZipPackageParser.js +7 -8
  103. package/esm/parse/Footnotes.d.ts +3 -0
  104. package/esm/parse/Footnotes.js +25 -0
  105. package/esm/parse/colorNameMap.d.ts +6 -0
  106. package/esm/parse/colorNameMap.js +201 -0
  107. package/esm/parse/jcToTextAlign.js +1 -0
  108. package/esm/parse/mergeSdt.d.ts +4 -0
  109. package/esm/parse/mergeSdt.js +57 -0
  110. package/esm/parse/modifyColor.d.ts +1 -0
  111. package/esm/parse/modifyColor.js +106 -0
  112. package/esm/parse/parseBorder.js +2 -21
  113. package/esm/parse/parseCellMargin.d.ts +2 -0
  114. package/esm/parse/parseCellMargin.js +38 -0
  115. package/esm/parse/parseChildColor.d.ts +5 -0
  116. package/esm/parse/parseChildColor.js +66 -0
  117. package/esm/parse/parseColor.d.ts +4 -0
  118. package/esm/parse/parseColor.js +41 -46
  119. package/esm/parse/parseEndnotes.d.ts +3 -0
  120. package/esm/parse/parseEndnotes.js +25 -0
  121. package/esm/parse/parseFont.js +1 -1
  122. package/esm/parse/parseInsideBorders.d.ts +9 -0
  123. package/esm/parse/parseInsideBorders.js +24 -0
  124. package/esm/parse/parsePr.d.ts +3 -0
  125. package/esm/parse/parsePr.js +108 -11
  126. package/esm/parse/parseRelationship.js +1 -1
  127. package/esm/parse/parseSdt.d.ts +5 -0
  128. package/esm/parse/parseShape.d.ts +10 -0
  129. package/esm/parse/parseShape.js +239 -0
  130. package/esm/parse/parseSize.d.ts +2 -1
  131. package/esm/parse/parseSize.js +7 -1
  132. package/esm/parse/parseSpacing.js +1 -1
  133. package/esm/parse/parseTable.d.ts +3 -0
  134. package/esm/parse/parseTable.js +62 -0
  135. package/esm/parse/parseTablePr.d.ts +3 -0
  136. package/esm/parse/parseTablePr.js +185 -0
  137. package/esm/parse/parseTblWidth.d.ts +4 -0
  138. package/esm/parse/parseTblWidth.js +23 -0
  139. package/esm/parse/parseTc.d.ts +10 -0
  140. package/esm/parse/parseTc.js +64 -0
  141. package/esm/parse/parseTcPr.d.ts +5 -0
  142. package/esm/parse/parseTcPr.js +99 -0
  143. package/esm/parse/parseTextDirection.js +4 -6
  144. package/esm/parse/parseTr.d.ts +6 -0
  145. package/esm/parse/parseTr.js +49 -0
  146. package/esm/parse/parseTrPr.d.ts +3 -0
  147. package/esm/parse/parseTrPr.js +59 -0
  148. package/esm/render/fixAbsolutePosition.d.ts +8 -0
  149. package/esm/render/renderBody.d.ts +6 -2
  150. package/esm/render/renderBody.js +184 -30
  151. package/esm/render/renderBr.d.ts +2 -1
  152. package/esm/render/renderBr.js +4 -1
  153. package/esm/render/renderCustGeom.d.ts +4 -0
  154. package/esm/render/renderCustGeom.js +10 -0
  155. package/esm/render/renderDocument.d.ts +2 -2
  156. package/esm/render/renderDocument.js +2 -2
  157. package/esm/render/renderDrawing.d.ts +3 -2
  158. package/esm/render/renderDrawing.js +129 -24
  159. package/esm/render/renderFont.d.ts +5 -0
  160. package/esm/render/renderFont.js +39 -0
  161. package/esm/render/renderGeom.d.ts +4 -0
  162. package/esm/render/renderGeom.js +14 -0
  163. package/esm/render/renderHeader.d.ts +6 -0
  164. package/esm/render/renderHeader.js +40 -0
  165. package/esm/render/renderHyperLink.js +4 -1
  166. package/esm/render/renderInlineText.js +1 -1
  167. package/esm/render/renderInstrText.js +1 -1
  168. package/esm/render/renderMath.d.ts +3 -0
  169. package/esm/render/renderMath.js +7 -0
  170. package/esm/render/renderNoBreakHyphen.d.ts +1 -0
  171. package/esm/render/renderNoBreakHyphen.js +9 -0
  172. package/esm/render/renderNotes.d.ts +5 -0
  173. package/esm/render/renderNotes.js +77 -0
  174. package/esm/render/renderNumbering.js +8 -10
  175. package/esm/render/renderParagraph.d.ts +1 -1
  176. package/esm/render/renderParagraph.js +26 -29
  177. package/esm/render/renderPict.js +5 -10
  178. package/esm/render/renderRuby.js +1 -1
  179. package/esm/render/renderRun.d.ts +4 -2
  180. package/esm/render/renderRun.js +35 -10
  181. package/esm/render/renderSection.d.ts +3 -2
  182. package/esm/render/renderSection.js +79 -5
  183. package/esm/render/renderSeparator.d.ts +1 -0
  184. package/esm/render/renderSeparator.js +9 -0
  185. package/esm/render/renderSoftHyphen.d.ts +1 -0
  186. package/esm/render/renderSoftHyphen.js +9 -0
  187. package/esm/render/renderStyle.js +36 -35
  188. package/esm/render/renderTab.d.ts +1 -0
  189. package/esm/render/renderTab.js +4 -6
  190. package/esm/render/renderTable.js +23 -20
  191. package/esm/render/setElementStyle.js +7 -2
  192. package/esm/render/zindex.d.ts +1 -0
  193. package/esm/util/blob.js +1 -10
  194. package/esm/util/color.d.ts +48 -0
  195. package/esm/util/color.js +211 -0
  196. package/esm/util/createObject.d.ts +10 -0
  197. package/esm/util/createObject.js +48 -0
  198. package/esm/util/dom.d.ts +8 -4
  199. package/esm/util/dom.js +21 -4
  200. package/esm/util/mergeRun.js +1 -1
  201. package/esm/util/parseSides.d.ts +11 -0
  202. package/esm/util/print.d.ts +5 -0
  203. package/esm/util/print.js +54 -0
  204. package/esm/util/replaceVar.d.ts +10 -0
  205. package/esm/util/replaceVar.js +214 -0
  206. package/esm/util/xml.js +4 -1
  207. package/lib/OpenXML.d.ts +19 -0
  208. package/lib/OpenXML.js +44 -1
  209. package/lib/Word.d.ts +132 -15
  210. package/lib/Word.js +238 -59
  211. package/lib/openxml/ContentType.js +20 -6
  212. package/lib/openxml/Settings.d.ts +10 -0
  213. package/lib/openxml/Settings.js +97 -0
  214. package/lib/openxml/Style.d.ts +1 -1
  215. package/lib/openxml/Style.js +15 -15
  216. package/lib/openxml/Theme.js +31 -7
  217. package/lib/openxml/Types.d.ts +179 -2472
  218. package/lib/openxml/drawing/Blip.d.ts +7 -0
  219. package/lib/openxml/{word/drawing → drawing}/Blip.js +2 -1
  220. package/{esm/openxml/word → lib/openxml}/drawing/BlipFill.d.ts +1 -1
  221. package/lib/openxml/{word/drawing → drawing}/BlipFill.js +1 -1
  222. package/lib/openxml/drawing/CustomGeom.d.ts +9 -0
  223. package/lib/openxml/drawing/CustomGeom.js +21 -0
  224. package/lib/openxml/drawing/Drawing.d.ts +35 -0
  225. package/lib/openxml/drawing/Drawing.js +173 -0
  226. package/lib/openxml/drawing/Geom.d.ts +11 -0
  227. package/lib/openxml/drawing/Geom.js +38 -0
  228. package/lib/openxml/drawing/Path.d.ts +37 -0
  229. package/lib/openxml/drawing/Pic.d.ts +16 -0
  230. package/lib/openxml/drawing/Pic.js +30 -0
  231. package/lib/openxml/drawing/Shape.d.ts +20 -0
  232. package/lib/openxml/drawing/ShapeProperties.d.ts +22 -0
  233. package/lib/openxml/drawing/ShapeProperties.js +123 -0
  234. package/{esm/openxml/word → lib/openxml}/drawing/Transform.d.ts +2 -1
  235. package/lib/openxml/{word/drawing → drawing}/Transform.js +7 -3
  236. package/lib/openxml/drawing/diagram/Diagram.d.ts +7 -0
  237. package/lib/openxml/drawing/diagram/Diagram.js +28 -0
  238. package/lib/openxml/drawing/diagram/Sp.d.ts +2 -0
  239. package/lib/openxml/drawing/diagram/SpTree.d.ts +5 -0
  240. package/lib/openxml/drawing/presetShape.d.ts +3 -0
  241. package/lib/openxml/drawing/presetShape.js +38789 -0
  242. package/lib/openxml/drawing/svg/arcToA.d.ts +13 -0
  243. package/lib/openxml/drawing/svg/arcToA.js +92 -0
  244. package/lib/openxml/drawing/svg/formulas.d.ts +29 -0
  245. package/lib/openxml/drawing/svg/formulas.js +108 -0
  246. package/lib/openxml/drawing/svg/generateDefines.d.ts +12 -0
  247. package/lib/openxml/drawing/svg/generateDefines.js +148 -0
  248. package/lib/openxml/drawing/svg/presetVal.d.ts +43 -0
  249. package/lib/openxml/drawing/svg/presetVal.js +57 -0
  250. package/lib/openxml/drawing/svg/shapeToSVG.d.ts +9 -0
  251. package/lib/openxml/drawing/svg/shapeToSVG.js +155 -0
  252. package/lib/openxml/math/OMath.d.ts +5 -0
  253. package/lib/openxml/math/OMath.js +16 -0
  254. package/lib/openxml/math/convertOOML.d.ts +4 -0
  255. package/lib/openxml/math/convertOOML.js +17 -0
  256. package/lib/openxml/math/xsl.d.ts +4 -0
  257. package/lib/openxml/math/xsl.js +12 -0
  258. package/lib/openxml/word/Body.js +11 -7
  259. package/lib/openxml/word/Break.js +1 -3
  260. package/lib/openxml/word/Font.d.ts +16 -0
  261. package/lib/openxml/word/Font.js +83 -0
  262. package/lib/openxml/word/FontTable.d.ts +9 -0
  263. package/lib/openxml/word/FontTable.js +38 -0
  264. package/lib/openxml/word/Header.d.ts +11 -0
  265. package/lib/openxml/word/Header.js +58 -0
  266. package/lib/openxml/word/Hyperlink.d.ts +1 -0
  267. package/lib/openxml/word/Hyperlink.js +8 -4
  268. package/lib/openxml/word/InlineText.js +2 -2
  269. package/lib/openxml/word/NoBreakHyphen.d.ts +2 -0
  270. package/lib/openxml/word/NoBreakHyphen.js +11 -0
  271. package/lib/openxml/word/Note.d.ts +12 -0
  272. package/lib/openxml/word/Note.js +52 -0
  273. package/lib/openxml/word/Paragraph.d.ts +2 -2
  274. package/lib/openxml/word/Paragraph.js +11 -10
  275. package/lib/openxml/word/Pict.d.ts +1 -2
  276. package/lib/openxml/word/Pict.js +5 -3
  277. package/lib/openxml/word/Ruby.js +4 -4
  278. package/lib/openxml/word/Run.d.ts +7 -3
  279. package/lib/openxml/word/Run.js +29 -5
  280. package/lib/openxml/word/Section.d.ts +18 -5
  281. package/lib/openxml/word/Section.js +47 -3
  282. package/lib/openxml/word/Separator.d.ts +5 -0
  283. package/lib/openxml/word/Separator.js +14 -0
  284. package/lib/openxml/word/SoftHyphen.d.ts +5 -0
  285. package/lib/openxml/word/SoftHyphen.js +14 -0
  286. package/lib/openxml/word/Table.d.ts +4 -9
  287. package/lib/openxml/word/Table.js +0 -235
  288. package/lib/openxml/word/WDocument.d.ts +1 -2
  289. package/lib/openxml/word/WDocument.js +53 -7
  290. package/lib/openxml/word/numbering/AbstractNum.js +5 -3
  291. package/lib/openxml/word/numbering/Lvl.js +11 -5
  292. package/lib/openxml/word/numbering/Num.js +12 -4
  293. package/lib/openxml/word/numbering/NumberProperties.js +2 -2
  294. package/lib/openxml/word/numbering/Numbering.js +3 -3
  295. package/lib/openxml/word/table/Tc.d.ts +1 -22
  296. package/lib/openxml/word/table/Tc.js +0 -224
  297. package/lib/openxml/word/table/Tr.d.ts +0 -5
  298. package/lib/openxml/word/table/Tr.js +0 -97
  299. package/lib/openxml/word/wps/WPG.d.ts +5 -0
  300. package/lib/openxml/word/wps/WPS.d.ts +18 -0
  301. package/lib/openxml/word/wps/WPS.js +151 -0
  302. package/lib/openxml/word/wps/WPSStyle.d.ts +10 -0
  303. package/lib/openxml/word/wps/WPSStyle.js +46 -0
  304. package/lib/package/PackageParser.d.ts +1 -1
  305. package/lib/package/XMLPackageParser.d.ts +3 -3
  306. package/lib/package/ZipPackageParser.d.ts +1 -1
  307. package/lib/package/ZipPackageParser.js +7 -8
  308. package/lib/parse/Footnotes.d.ts +3 -0
  309. package/lib/parse/Footnotes.js +29 -0
  310. package/lib/parse/colorNameMap.d.ts +6 -0
  311. package/lib/parse/colorNameMap.js +205 -0
  312. package/lib/parse/jcToTextAlign.js +1 -0
  313. package/lib/parse/mergeSdt.d.ts +4 -0
  314. package/lib/parse/mergeSdt.js +61 -0
  315. package/lib/parse/modifyColor.d.ts +1 -0
  316. package/lib/parse/modifyColor.js +110 -0
  317. package/lib/parse/parseBorder.js +3 -22
  318. package/lib/parse/parseCellMargin.d.ts +2 -0
  319. package/lib/parse/parseCellMargin.js +42 -0
  320. package/lib/parse/parseChildColor.d.ts +5 -0
  321. package/lib/parse/parseChildColor.js +70 -0
  322. package/lib/parse/parseColor.d.ts +4 -0
  323. package/lib/parse/parseColor.js +41 -45
  324. package/lib/parse/parseEndnotes.d.ts +3 -0
  325. package/lib/parse/parseEndnotes.js +29 -0
  326. package/lib/parse/parseFont.js +2 -2
  327. package/lib/parse/parseInsideBorders.d.ts +9 -0
  328. package/lib/parse/parseInsideBorders.js +28 -0
  329. package/lib/parse/parsePr.d.ts +3 -0
  330. package/lib/parse/parsePr.js +109 -12
  331. package/lib/parse/parseRelationship.js +2 -2
  332. package/lib/parse/parseSdt.d.ts +5 -0
  333. package/lib/parse/parseShape.d.ts +10 -0
  334. package/lib/parse/parseShape.js +247 -0
  335. package/lib/parse/parseSize.d.ts +2 -1
  336. package/lib/parse/parseSize.js +7 -0
  337. package/lib/parse/parseSpacing.js +1 -1
  338. package/lib/parse/parseTable.d.ts +3 -0
  339. package/lib/parse/parseTable.js +66 -0
  340. package/lib/parse/parseTablePr.d.ts +3 -0
  341. package/lib/parse/parseTablePr.js +189 -0
  342. package/lib/parse/parseTblWidth.d.ts +4 -0
  343. package/lib/parse/parseTblWidth.js +27 -0
  344. package/lib/parse/parseTc.d.ts +10 -0
  345. package/lib/parse/parseTc.js +68 -0
  346. package/lib/parse/parseTcPr.d.ts +5 -0
  347. package/lib/parse/parseTcPr.js +104 -0
  348. package/lib/parse/parseTextDirection.js +4 -6
  349. package/lib/parse/parseTr.d.ts +6 -0
  350. package/lib/parse/parseTr.js +53 -0
  351. package/lib/parse/parseTrPr.d.ts +3 -0
  352. package/lib/parse/parseTrPr.js +63 -0
  353. package/lib/render/fixAbsolutePosition.d.ts +8 -0
  354. package/lib/render/renderBody.d.ts +6 -2
  355. package/lib/render/renderBody.js +183 -29
  356. package/lib/render/renderBr.d.ts +2 -1
  357. package/lib/render/renderBr.js +4 -1
  358. package/lib/render/renderCustGeom.d.ts +4 -0
  359. package/lib/render/renderCustGeom.js +14 -0
  360. package/lib/render/renderDocument.d.ts +2 -2
  361. package/lib/render/renderDocument.js +2 -2
  362. package/lib/render/renderDrawing.d.ts +3 -2
  363. package/lib/render/renderDrawing.js +129 -24
  364. package/lib/render/renderFont.d.ts +5 -0
  365. package/lib/render/renderFont.js +43 -0
  366. package/lib/render/renderGeom.d.ts +4 -0
  367. package/lib/render/renderGeom.js +18 -0
  368. package/lib/render/renderHeader.d.ts +6 -0
  369. package/lib/render/renderHeader.js +44 -0
  370. package/lib/render/renderHyperLink.js +5 -2
  371. package/lib/render/renderInlineText.js +2 -2
  372. package/lib/render/renderInstrText.js +2 -2
  373. package/lib/render/renderMath.d.ts +3 -0
  374. package/lib/render/renderMath.js +11 -0
  375. package/lib/render/renderNoBreakHyphen.d.ts +1 -0
  376. package/lib/render/renderNoBreakHyphen.js +13 -0
  377. package/lib/render/renderNotes.d.ts +5 -0
  378. package/lib/render/renderNotes.js +81 -0
  379. package/lib/render/renderNumbering.js +9 -11
  380. package/lib/render/renderParagraph.d.ts +1 -1
  381. package/lib/render/renderParagraph.js +26 -29
  382. package/lib/render/renderPict.js +5 -10
  383. package/lib/render/renderRuby.js +3 -3
  384. package/lib/render/renderRun.d.ts +4 -2
  385. package/lib/render/renderRun.js +34 -9
  386. package/lib/render/renderSection.d.ts +3 -2
  387. package/lib/render/renderSection.js +79 -5
  388. package/lib/render/renderSeparator.d.ts +1 -0
  389. package/lib/render/renderSeparator.js +13 -0
  390. package/lib/render/renderSoftHyphen.d.ts +1 -0
  391. package/lib/render/renderSoftHyphen.js +13 -0
  392. package/lib/render/renderStyle.js +37 -36
  393. package/lib/render/renderTab.d.ts +1 -0
  394. package/lib/render/renderTab.js +4 -6
  395. package/lib/render/renderTable.js +25 -22
  396. package/lib/render/setElementStyle.js +6 -1
  397. package/lib/render/zindex.d.ts +1 -0
  398. package/lib/util/blob.js +0 -10
  399. package/lib/util/color.d.ts +48 -0
  400. package/lib/util/color.js +215 -0
  401. package/lib/util/createObject.d.ts +10 -0
  402. package/lib/util/createObject.js +54 -0
  403. package/lib/util/dom.d.ts +8 -4
  404. package/lib/util/dom.js +24 -5
  405. package/lib/util/mergeRun.js +5 -5
  406. package/lib/util/parseSides.d.ts +11 -0
  407. package/lib/util/print.d.ts +5 -0
  408. package/lib/util/print.js +58 -0
  409. package/lib/util/replaceVar.d.ts +10 -0
  410. package/lib/util/replaceVar.js +219 -0
  411. package/lib/util/xml.js +4 -0
  412. package/package.json +17 -6
  413. package/esm/node_modules/tslib/tslib.es6.js +0 -120
  414. package/esm/openxml/Types.js +0 -1003
  415. package/esm/openxml/word/CustomXml.d.ts +0 -8
  416. package/esm/openxml/word/SmartTag.d.ts +0 -8
  417. package/esm/openxml/word/SmartTag.js +0 -18
  418. package/esm/openxml/word/drawing/Blip.d.ts +0 -6
  419. package/esm/openxml/word/drawing/Drawing.d.ts +0 -6
  420. package/esm/openxml/word/drawing/Drawing.js +0 -15
  421. package/esm/openxml/word/drawing/Pic.d.ts +0 -8
  422. package/esm/openxml/word/drawing/Pic.js +0 -16
  423. package/esm/openxml/word/drawing/ShapeProperties.d.ts +0 -9
  424. package/esm/openxml/word/drawing/ShapeProperties.js +0 -20
  425. package/lib/node_modules/tslib/tslib.es6.js +0 -129
  426. package/lib/openxml/Types.js +0 -1005
  427. package/lib/openxml/word/CustomXml.d.ts +0 -8
  428. package/lib/openxml/word/SmartTag.d.ts +0 -8
  429. package/lib/openxml/word/SmartTag.js +0 -22
  430. package/lib/openxml/word/drawing/Blip.d.ts +0 -6
  431. package/lib/openxml/word/drawing/Drawing.d.ts +0 -6
  432. package/lib/openxml/word/drawing/Drawing.js +0 -19
  433. package/lib/openxml/word/drawing/Pic.d.ts +0 -8
  434. package/lib/openxml/word/drawing/Pic.js +0 -20
  435. package/lib/openxml/word/drawing/ShapeProperties.d.ts +0 -9
  436. package/lib/openxml/word/drawing/ShapeProperties.js +0 -24
@@ -1,28 +1,13 @@
1
1
  import { getVal } from '../OpenXML.js';
2
- import { ST_Shd } from '../openxml/Types.js';
2
+ import { PresetColorMap } from './colorNameMap.js';
3
3
 
4
4
  /**
5
5
  * 解析颜色,转成 css 的颜色
6
6
  */
7
- var knownColors = [
8
- 'black',
9
- 'blue',
10
- 'cyan',
11
- 'darkBlue',
12
- 'darkCyan',
13
- 'darkGray',
14
- 'darkGreen',
15
- 'darkMagenta',
16
- 'darkRed',
17
- 'darkYellow',
18
- 'green',
19
- 'lightGray',
20
- 'magenta',
21
- 'none',
22
- 'red',
23
- 'white',
24
- 'yellow'
25
- ];
7
+ /**
8
+ * css 里可以识别的颜色
9
+ */
10
+ var cssColors = ['black', 'blue', 'green', 'red', 'white', 'yellow'];
26
11
  /**
27
12
  *
28
13
  * 解析属性上的 color,比如 <w:top w:val="single" w:sz="24" w:space="1" w:color="FF0000" />
@@ -37,10 +22,16 @@ function parseColorAttr(word, element, attrName, autoColor) {
37
22
  if (color) {
38
23
  if (color == 'auto') {
39
24
  return autoColor;
25
+ /**
26
+ * css 里可以识别的颜色
27
+ */
40
28
  }
41
- else if (typeof color === 'string' && knownColors.includes(color)) {
29
+ else if (cssColors.includes(color)) {
42
30
  return color;
43
31
  }
32
+ else if (color in PresetColorMap) {
33
+ return PresetColorMap[color];
34
+ }
44
35
  return "#".concat(color);
45
36
  }
46
37
  var themeColor = element.getAttribute('w:themeColor');
@@ -54,55 +45,55 @@ function parseShdColor(word, element) {
54
45
  var color = element.getAttribute('w:fill') || '';
55
46
  var val = getVal(element);
56
47
  if (color === 'auto') {
57
- color = 'inherit';
48
+ color = 'FFFFFF';
58
49
  }
59
50
  if (color.length === 6) {
60
51
  switch (val) {
61
- case ST_Shd.clear:
52
+ case 'clear':
62
53
  return "#".concat(color);
63
- case ST_Shd.pct10:
54
+ case 'pct10':
64
55
  return colorPercent(color, 0.1);
65
- case ST_Shd.pct12:
56
+ case 'pct12':
66
57
  return colorPercent(color, 0.125);
67
- case ST_Shd.pct15:
58
+ case 'pct15':
68
59
  return colorPercent(color, 0.15);
69
- case ST_Shd.pct20:
60
+ case 'pct20':
70
61
  return colorPercent(color, 0.2);
71
- case ST_Shd.pct25:
62
+ case 'pct25':
72
63
  return colorPercent(color, 0.25);
73
- case ST_Shd.pct30:
64
+ case 'pct30':
74
65
  return colorPercent(color, 0.3);
75
- case ST_Shd.pct35:
66
+ case 'pct35':
76
67
  return colorPercent(color, 0.35);
77
- case ST_Shd.pct37:
68
+ case 'pct37':
78
69
  return colorPercent(color, 0.375);
79
- case ST_Shd.pct40:
70
+ case 'pct40':
80
71
  return colorPercent(color, 0.4);
81
- case ST_Shd.pct45:
72
+ case 'pct45':
82
73
  return colorPercent(color, 0.45);
83
- case ST_Shd.pct5:
74
+ case 'pct5':
84
75
  return colorPercent(color, 0.05);
85
- case ST_Shd.pct50:
76
+ case 'pct50':
86
77
  return colorPercent(color, 0.5);
87
- case ST_Shd.pct55:
78
+ case 'pct55':
88
79
  return colorPercent(color, 0.55);
89
- case ST_Shd.pct60:
80
+ case 'pct60':
90
81
  return colorPercent(color, 0.6);
91
- case ST_Shd.pct65:
82
+ case 'pct65':
92
83
  return colorPercent(color, 0.65);
93
- case ST_Shd.pct70:
84
+ case 'pct70':
94
85
  return colorPercent(color, 0.7);
95
- case ST_Shd.pct75:
86
+ case 'pct75':
96
87
  return colorPercent(color, 0.75);
97
- case ST_Shd.pct80:
88
+ case 'pct80':
98
89
  return colorPercent(color, 0.8);
99
- case ST_Shd.pct85:
90
+ case 'pct85':
100
91
  return colorPercent(color, 0.85);
101
- case ST_Shd.pct87:
92
+ case 'pct87':
102
93
  return colorPercent(color, 0.87);
103
- case ST_Shd.pct90:
94
+ case 'pct90':
104
95
  return colorPercent(color, 0.9);
105
- case ST_Shd.pct95:
96
+ case 'pct95':
106
97
  return colorPercent(color, 0.95);
107
98
  default:
108
99
  console.warn('unsupport shd val', val);
@@ -115,6 +106,10 @@ function parseShdColor(word, element) {
115
106
  * 用 alpha 来模拟 ptc 功能
116
107
  */
117
108
  function colorPercent(color, percent) {
109
+ // 白色取 alpha 没什么意义,转成黑色
110
+ if (color === 'FFFFFF') {
111
+ color = '000000';
112
+ }
118
113
  var r = parseInt(color.substring(0, 2), 16);
119
114
  var g = parseInt(color.substring(2, 4), 16);
120
115
  var b = parseInt(color.substring(4, 6), 16);
@@ -128,4 +123,4 @@ function parseColor(word, element) {
128
123
  return parseColorAttr(word, element, 'w:val');
129
124
  }
130
125
 
131
- export { parseColor, parseColorAttr, parseShdColor };
126
+ export { cssColors, parseColor, parseColorAttr, parseShdColor };
@@ -0,0 +1,3 @@
1
+ import Word from '../Word';
2
+ import { Note } from '../openxml/word/Note';
3
+ export declare function parseEndnotes(word: Word, doc: Document): Record<string, Note>;
@@ -0,0 +1,25 @@
1
+ import { __values } from 'tslib';
2
+ import { Note } from '../openxml/word/Note.js';
3
+
4
+ function parseEndnotes(word, doc) {
5
+ var e_1, _a;
6
+ var endnotes = {};
7
+ var endnotesElement = [].slice.call(doc.getElementsByTagName('w:endnote'));
8
+ try {
9
+ for (var endnotesElement_1 = __values(endnotesElement), endnotesElement_1_1 = endnotesElement_1.next(); !endnotesElement_1_1.done; endnotesElement_1_1 = endnotesElement_1.next()) {
10
+ var endnoteElement = endnotesElement_1_1.value;
11
+ var endnote = Note.fromXML(word, endnoteElement);
12
+ endnotes[endnoteElement.getAttribute('w:id')] = endnote;
13
+ }
14
+ }
15
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
16
+ finally {
17
+ try {
18
+ if (endnotesElement_1_1 && !endnotesElement_1_1.done && (_a = endnotesElement_1.return)) _a.call(endnotesElement_1);
19
+ }
20
+ finally { if (e_1) throw e_1.error; }
21
+ }
22
+ return endnotes;
23
+ }
24
+
25
+ export { parseEndnotes };
@@ -1,4 +1,4 @@
1
- import { __values } from '../node_modules/tslib/tslib.es6.js';
1
+ import { __values } from 'tslib';
2
2
 
3
3
  /**
4
4
  * 解析字体
@@ -0,0 +1,9 @@
1
+ import Word from '../Word';
2
+ /**
3
+ * parseBorders 不支持 insideH 和 insideV,所以单独支持一下
4
+ * 实际显示时需要过滤掉第一列
5
+ */
6
+ export declare function parseInsideBorders(word: Word, element: Element): {
7
+ H: string | undefined;
8
+ V: string | undefined;
9
+ };
@@ -0,0 +1,24 @@
1
+ import { parseBorder } from './parseBorder.js';
2
+
3
+ /**
4
+ * parseBorders 不支持 insideH 和 insideV,所以单独支持一下
5
+ * 实际显示时需要过滤掉第一列
6
+ */
7
+ function parseInsideBorders(word, element) {
8
+ var H;
9
+ var insideH = element.getElementsByTagName('w:insideH').item(0);
10
+ if (insideH) {
11
+ H = parseBorder(word, insideH);
12
+ }
13
+ var V;
14
+ var insideV = element.getElementsByTagName('w:insideV').item(0);
15
+ if (insideV) {
16
+ V = parseBorder(word, insideV);
17
+ }
18
+ return {
19
+ H: H,
20
+ V: V
21
+ };
22
+ }
23
+
24
+ export { parseInsideBorders };
@@ -1,3 +1,6 @@
1
+ /**
2
+ * 包括 rPr 及 pPr 的解析,参考了 docxjs 里的实现
3
+ */
1
4
  import { CSSStyle } from '../openxml/Style';
2
5
  import Word from '../Word';
3
6
  /**
@@ -1,9 +1,9 @@
1
- import { __values } from '../node_modules/tslib/tslib.es6.js';
2
- import { ST_TextAlignment, ST_VerticalAlignRun } from '../openxml/Types.js';
1
+ import { __values } from 'tslib';
3
2
  import { parseSize, LengthUsage } from './parseSize.js';
4
- import { getValBoolean, getVal } from '../OpenXML.js';
3
+ import { getValBoolean, getValNumber, getVal } from '../OpenXML.js';
5
4
  import { parseBorder, parseBorders } from './parseBorder.js';
6
5
  import { parseColorAttr, parseShdColor, parseColor } from './parseColor.js';
6
+ import { parseChildColor } from './parseChildColor.js';
7
7
  import { parseInd } from './parseInd.js';
8
8
  import { parseSpacing } from './parseSpacing.js';
9
9
  import { parseFont } from './parseFont.js';
@@ -11,6 +11,9 @@ import { parseTrHeight } from './parseTrHeight.js';
11
11
  import { jcToTextAlign } from './jcToTextAlign.js';
12
12
  import { parseTextDirection } from './parseTextDirection.js';
13
13
 
14
+ /**
15
+ * 包括 rPr 及 pPr 的解析,参考了 docxjs 里的实现
16
+ */
14
17
  /**
15
18
  * 解析 underline 并附上样式
16
19
  * http://webapp.docx4java.org/OnlineDemo/ecma376/WordML/u.html
@@ -72,6 +75,7 @@ function parseFrame(element, style) {
72
75
  switch (name_1) {
73
76
  case 'w:dropCap':
74
77
  if (value === 'drop') {
78
+ // initial-letter 很少浏览器支持,所以用 float 代替
75
79
  style['float'] = 'left';
76
80
  }
77
81
  break;
@@ -85,6 +89,17 @@ function parseFrame(element, style) {
85
89
  style['width'] = parseSize(value, 'w:w');
86
90
  }
87
91
  break;
92
+ case 'w:hAnchor':
93
+ case 'w:vAnchor':
94
+ case 'w:lines':
95
+ // 目前没有办法做到这些属性的控制
96
+ break;
97
+ case 'w:wrap':
98
+ // 其它不支持,先报错
99
+ if (value !== 'around') {
100
+ console.warn('parseFrame: w:wrap not support ' + value);
101
+ }
102
+ break;
88
103
  default:
89
104
  console.warn('parseFrame: unknown attribute ' + name_1, attribute);
90
105
  }
@@ -98,7 +113,30 @@ function parseFrame(element, style) {
98
113
  finally { if (e_1) throw e_1.error; }
99
114
  }
100
115
  }
101
- var HighLightColor = 'transparent';
116
+ /**
117
+ * 将 em 转成 css 里对应的 text-emphasis 值
118
+ * http://webapp.docx4java.org/OnlineDemo/ecma376/WordML/ST_Em.html
119
+ */
120
+ function convertEm(em, style) {
121
+ switch (em) {
122
+ case 'dot':
123
+ style['text-emphasis'] = 'filled';
124
+ // 按规范里描述应该是在文字上面,但在 word 实际显示的时候是在下面
125
+ // 怀疑是中文场景下做了特殊处理
126
+ style['text-emphasis-position'] = 'under right';
127
+ break;
128
+ case 'comma':
129
+ style['text-emphasis'] = 'filled sesame';
130
+ break;
131
+ case 'circle':
132
+ style['text-emphasis'] = 'open';
133
+ break;
134
+ case 'underDot':
135
+ style['text-emphasis'] = 'filled';
136
+ style['text-emphasis-position'] = 'under right';
137
+ break;
138
+ }
139
+ }
102
140
  /**
103
141
  * 解析各种 pPr 及 rPr,返回样式
104
142
  * @param type 所属类型
@@ -144,16 +182,16 @@ function parsePr(word, element, type) {
144
182
  case 'w:highlight':
145
183
  // http://webapp.docx4java.org/OnlineDemo/ecma376/WordML/highlight.html
146
184
  // 这个按文档是重要性高于 shd
147
- style['background-color'] = parseColorAttr(word, child, 'w:fill', HighLightColor);
185
+ style['background-color'] = parseColorAttr(word, child, 'w:val', 'yellow');
148
186
  break;
149
187
  case 'w:vertAlign':
150
188
  // http://webapp.docx4java.org/OnlineDemo/ecma376/WordML/vertAlign.html
151
189
  // 这个其实和 position 有冲突,但预计这两个同时出现的概率不高
152
190
  var vertAlign = getVal(child);
153
- if (vertAlign === ST_VerticalAlignRun.superscript) {
191
+ if (vertAlign === 'superscript') {
154
192
  style['vertical-align'] = 'super';
155
193
  }
156
- else if (vertAlign === ST_VerticalAlignRun.subscript) {
194
+ else if (vertAlign === 'subscript') {
157
195
  style['vertical-align'] = 'sub';
158
196
  }
159
197
  break;
@@ -227,7 +265,7 @@ function parsePr(word, element, type) {
227
265
  // );
228
266
  break;
229
267
  case 'w:pStyle':
230
- // 这个需要特殊处理
268
+ // 这个在 paragraph 里处理了
231
269
  break;
232
270
  case 'w:lang':
233
271
  case 'w:noProof':
@@ -250,7 +288,14 @@ function parsePr(word, element, type) {
250
288
  // 这个在 parseParagraphProperties 里处理了
251
289
  break;
252
290
  case 'w:rPr':
253
- // TODO: 这个有时候会不正确,需要再看看
291
+ // TODO: 这个有时候和 r 里的 rPr 不一致,不知道如何处理
292
+ var reflection = child.getElementsByTagName('w14:reflection').item(0);
293
+ if (reflection) {
294
+ // css 只支持在块级节点设置
295
+ // 只支持一小部分设置项,另外因为只支持块级别的情况,所以看起来差异较大
296
+ var reflectionDistance = parseSize(reflection, 'w4:dist', LengthUsage.Emu) || '0px';
297
+ style['-webkit-box-reflect'] = "below ".concat(reflectionDistance, " linear-gradient(transparent, white)");
298
+ }
254
299
  break;
255
300
  case 'w:rStyle':
256
301
  // 在 Run 里地方处理了
@@ -266,6 +311,9 @@ function parsePr(word, element, type) {
266
311
  // http://webapp.docx4java.org/OnlineDemo/ecma376/WordML/snapToGrid_2.html
267
312
  // 目前还不支持 grid
268
313
  break;
314
+ case 'w:topLinePunct':
315
+ // 没法支持
316
+ break;
269
317
  case 'w:wordWrap':
270
318
  // 不太确定这里是用 word-break 还是 overflow-wrap
271
319
  if (getValBoolean(child)) {
@@ -275,10 +323,10 @@ function parsePr(word, element, type) {
275
323
  case 'w:textAlignment':
276
324
  // http://webapp.docx4java.org/OnlineDemo/ecma376/WordML/textAlignment.html
277
325
  var alignment = getVal(child);
278
- if (alignment === ST_TextAlignment.center) {
326
+ if (alignment === 'center') {
279
327
  style['vertical-align'] = 'middle';
280
328
  }
281
- else if (alignment !== ST_TextAlignment.auto) {
329
+ else if (alignment !== 'auto') {
282
330
  style['vertical-align'] = alignment;
283
331
  }
284
332
  break;
@@ -307,6 +355,55 @@ function parsePr(word, element, type) {
307
355
  // http://webapp.docx4java.org/OnlineDemo/ecma376/WordML/overflowPunct.html
308
356
  // 支持不了
309
357
  break;
358
+ case 'w:em':
359
+ convertEm(getVal(child), style);
360
+ break;
361
+ case 'w:w':
362
+ // http://webapp.docx4java.org/OnlineDemo/ecma376/WordML/w_1.html
363
+ // 看起来应该是把文字拉伸
364
+ var w = getValNumber(child);
365
+ style['transform'] = "scaleX(".concat(w / 100, ")");
366
+ style['display'] = 'inline-block'; // 需要这样才能生效
367
+ break;
368
+ case 'w:outline':
369
+ style['text-shadow'] =
370
+ '-1px -1px 0 #AAA, 1px -1px 0 #AAA, -1px 1px 0 #AAA, 1px 1px 0 #AAA';
371
+ break;
372
+ case 'w:shadown':
373
+ case 'w:imprint':
374
+ if (getValBoolean(child, true)) {
375
+ style['text-shadow'] = '1px 1px 2px rgba(0, 0, 0, 0.6)';
376
+ }
377
+ break;
378
+ case 'w14:shadow':
379
+ var blurRad = parseSize(child, 'w14:blurRad', LengthUsage.Emu) || '4px';
380
+ // 其它结果算出来不像就先忽略了
381
+ var color = 'rgba(0, 0, 0, 0.6)';
382
+ var childColor = parseChildColor(word, child);
383
+ if (childColor) {
384
+ color = childColor;
385
+ }
386
+ style['text-shadow'] = "1px 1px ".concat(blurRad, " ").concat(color);
387
+ break;
388
+ case 'w14:textOutline':
389
+ var outlineWidth = parseSize(child, 'w14:w', LengthUsage.Emu) || '1px';
390
+ style['-webkit-text-stroke-width'] = outlineWidth;
391
+ var outlineColor = 'white';
392
+ var fillColor = child.getElementsByTagName('w14:solidFill');
393
+ if (fillColor.length > 0) {
394
+ outlineColor = parseChildColor(word, fillColor.item(0)) || 'white';
395
+ }
396
+ style['-webkit-text-stroke-color'] = outlineColor;
397
+ break;
398
+ case 'w14:reflection':
399
+ // 在 rPr 里处理了
400
+ break;
401
+ case 'w14:textFill':
402
+ // color 已经够用了,为了避免 lumMod 计算不正确反而导致问题,所以就不支持了
403
+ break;
404
+ case 'w14:ligatures':
405
+ // 没文档,不知道
406
+ break;
310
407
  default:
311
408
  console.warn('parsePr Unknown tagName', tagName, child);
312
409
  }
@@ -1,4 +1,4 @@
1
- import { __values } from '../node_modules/tslib/tslib.es6.js';
1
+ import { __values } from 'tslib';
2
2
 
3
3
  /**
4
4
  * 解析 _rels/.rels 文件
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 17.5.2 Structured Document Tags
3
+ * 目前 sdt 的做法就是直接忽略,将它的 stdContent 子节点融入上级节点
4
+ */
5
+ export declare function parseSdt(element: Element, arr: Element[], index: number): void;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 解析 shape
3
+ */
4
+ import { Path, PathPoint } from '../openxml/drawing/Path';
5
+ import { Shape, ShapeGuide } from '../openxml/drawing/Shape';
6
+ export declare function parsePts(element: Element): PathPoint[];
7
+ export declare function parsePath(element: Element): Path;
8
+ export declare function parsePathLst(element: Element): Path[];
9
+ export declare function parseShapeGuide(element: Element): ShapeGuide[];
10
+ export declare function parseShape(element: Element): Shape;