office-viewer 0.1.0 → 0.1.4

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 (446) hide show
  1. package/README.md +6 -1
  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 +239 -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 +37 -0
  20. package/esm/openxml/drawing/Drawing.js +173 -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 +4 -1
  30. package/esm/openxml/drawing/Transform.js +63 -0
  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/Tab.d.ts +1 -1
  82. package/esm/openxml/word/Table.d.ts +4 -9
  83. package/esm/openxml/word/Table.js +0 -235
  84. package/esm/openxml/word/WDocument.d.ts +1 -2
  85. package/esm/openxml/word/WDocument.js +53 -7
  86. package/esm/openxml/word/numbering/AbstractNum.js +4 -2
  87. package/esm/openxml/word/numbering/Lvl.js +10 -4
  88. package/esm/openxml/word/numbering/Num.js +12 -4
  89. package/esm/openxml/word/numbering/NumberProperties.js +2 -2
  90. package/esm/openxml/word/numbering/Numbering.js +1 -1
  91. package/esm/openxml/word/table/Tc.d.ts +1 -22
  92. package/esm/openxml/word/table/Tc.js +1 -221
  93. package/esm/openxml/word/table/Tr.d.ts +0 -5
  94. package/esm/openxml/word/table/Tr.js +0 -97
  95. package/esm/openxml/word/wps/WPG.d.ts +14 -0
  96. package/esm/openxml/word/wps/WPG.js +56 -0
  97. package/esm/openxml/word/wps/WPS.d.ts +18 -0
  98. package/esm/openxml/word/wps/WPS.js +148 -0
  99. package/esm/openxml/word/wps/WPSStyle.d.ts +10 -0
  100. package/esm/openxml/word/wps/WPSStyle.js +42 -0
  101. package/esm/package/PackageParser.d.ts +1 -1
  102. package/esm/package/XMLPackageParser.d.ts +3 -3
  103. package/esm/package/ZipPackageParser.d.ts +1 -1
  104. package/esm/package/ZipPackageParser.js +7 -8
  105. package/esm/parse/Footnotes.d.ts +3 -0
  106. package/esm/parse/Footnotes.js +25 -0
  107. package/esm/parse/colorNameMap.d.ts +6 -0
  108. package/esm/parse/colorNameMap.js +201 -0
  109. package/esm/parse/jcToTextAlign.js +1 -0
  110. package/esm/parse/mergeSdt.d.ts +4 -0
  111. package/esm/parse/mergeSdt.js +57 -0
  112. package/esm/parse/modifyColor.d.ts +1 -0
  113. package/esm/parse/modifyColor.js +106 -0
  114. package/esm/parse/parseBorder.js +2 -21
  115. package/esm/parse/parseCellMargin.d.ts +2 -0
  116. package/esm/parse/parseCellMargin.js +38 -0
  117. package/esm/parse/parseChildColor.d.ts +5 -0
  118. package/esm/parse/parseChildColor.js +66 -0
  119. package/esm/parse/parseColor.d.ts +4 -0
  120. package/esm/parse/parseColor.js +41 -46
  121. package/esm/parse/parseEndnotes.d.ts +3 -0
  122. package/esm/parse/parseEndnotes.js +25 -0
  123. package/esm/parse/parseFont.js +1 -1
  124. package/esm/parse/parseInsideBorders.d.ts +9 -0
  125. package/esm/parse/parseInsideBorders.js +24 -0
  126. package/esm/parse/parsePr.d.ts +3 -0
  127. package/esm/parse/parsePr.js +108 -11
  128. package/esm/parse/parseRelationship.js +1 -1
  129. package/esm/parse/parseSdt.d.ts +5 -0
  130. package/esm/parse/parseShape.d.ts +10 -0
  131. package/esm/parse/parseShape.js +239 -0
  132. package/esm/parse/parseSize.d.ts +2 -1
  133. package/esm/parse/parseSize.js +7 -1
  134. package/esm/parse/parseSpacing.js +1 -1
  135. package/esm/parse/parseTable.d.ts +3 -0
  136. package/esm/parse/parseTable.js +62 -0
  137. package/esm/parse/parseTablePr.d.ts +3 -0
  138. package/esm/parse/parseTablePr.js +185 -0
  139. package/esm/parse/parseTblWidth.d.ts +4 -0
  140. package/esm/parse/parseTblWidth.js +23 -0
  141. package/esm/parse/parseTc.d.ts +10 -0
  142. package/esm/parse/parseTc.js +64 -0
  143. package/esm/parse/parseTcPr.d.ts +5 -0
  144. package/esm/parse/parseTcPr.js +99 -0
  145. package/esm/parse/parseTextDirection.js +4 -6
  146. package/esm/parse/parseTr.d.ts +6 -0
  147. package/esm/parse/parseTr.js +49 -0
  148. package/esm/parse/parseTrPr.d.ts +3 -0
  149. package/esm/parse/parseTrPr.js +59 -0
  150. package/esm/render/fixAbsolutePosition.d.ts +8 -0
  151. package/esm/render/renderBody.d.ts +6 -2
  152. package/esm/render/renderBody.js +184 -30
  153. package/esm/render/renderBr.d.ts +2 -1
  154. package/esm/render/renderBr.js +4 -1
  155. package/esm/render/renderCustGeom.d.ts +4 -0
  156. package/esm/render/renderCustGeom.js +10 -0
  157. package/esm/render/renderDocument.d.ts +2 -2
  158. package/esm/render/renderDocument.js +2 -2
  159. package/esm/render/renderDrawing.d.ts +3 -2
  160. package/esm/render/renderDrawing.js +238 -21
  161. package/esm/render/renderFont.d.ts +5 -0
  162. package/esm/render/renderFont.js +39 -0
  163. package/esm/render/renderGeom.d.ts +4 -0
  164. package/esm/render/renderGeom.js +14 -0
  165. package/esm/render/renderHeader.d.ts +6 -0
  166. package/esm/render/renderHeader.js +40 -0
  167. package/esm/render/renderHyperLink.js +4 -1
  168. package/esm/render/renderInlineText.js +1 -1
  169. package/esm/render/renderInstrText.js +1 -1
  170. package/esm/render/renderMath.d.ts +3 -0
  171. package/esm/render/renderMath.js +7 -0
  172. package/esm/render/renderNoBreakHyphen.d.ts +1 -0
  173. package/esm/render/renderNoBreakHyphen.js +9 -0
  174. package/esm/render/renderNotes.d.ts +5 -0
  175. package/esm/render/renderNotes.js +77 -0
  176. package/esm/render/renderNumbering.js +8 -10
  177. package/esm/render/renderParagraph.d.ts +1 -1
  178. package/esm/render/renderParagraph.js +58 -18
  179. package/esm/render/renderPict.js +5 -10
  180. package/esm/render/renderRuby.js +1 -1
  181. package/esm/render/renderRun.d.ts +4 -2
  182. package/esm/render/renderRun.js +42 -12
  183. package/esm/render/renderSection.d.ts +3 -2
  184. package/esm/render/renderSection.js +79 -5
  185. package/esm/render/renderSeparator.d.ts +1 -0
  186. package/esm/render/renderSeparator.js +9 -0
  187. package/esm/render/renderSoftHyphen.d.ts +1 -0
  188. package/esm/render/renderSoftHyphen.js +9 -0
  189. package/esm/render/renderStyle.js +36 -35
  190. package/esm/render/renderTab.d.ts +2 -1
  191. package/esm/render/renderTab.js +10 -6
  192. package/esm/render/renderTable.js +23 -20
  193. package/esm/render/setElementStyle.js +7 -2
  194. package/esm/render/zindex.d.ts +1 -0
  195. package/esm/util/blob.js +1 -10
  196. package/esm/util/color.d.ts +48 -0
  197. package/esm/util/color.js +211 -0
  198. package/esm/util/createObject.d.ts +10 -0
  199. package/esm/util/createObject.js +48 -0
  200. package/esm/util/dom.d.ts +8 -4
  201. package/esm/util/dom.js +21 -4
  202. package/esm/util/get.d.ts +4 -0
  203. package/esm/util/get.js +18 -0
  204. package/esm/util/mergeRun.js +1 -1
  205. package/esm/util/parseSides.d.ts +11 -0
  206. package/esm/util/print.d.ts +5 -0
  207. package/esm/util/print.js +54 -0
  208. package/esm/util/replaceVar.d.ts +10 -0
  209. package/esm/util/replaceVar.js +215 -0
  210. package/esm/util/xml.js +4 -1
  211. package/lib/OpenXML.d.ts +19 -0
  212. package/lib/OpenXML.js +44 -1
  213. package/lib/Word.d.ts +132 -15
  214. package/lib/Word.js +244 -59
  215. package/lib/openxml/ContentType.js +20 -6
  216. package/lib/openxml/Settings.d.ts +10 -0
  217. package/lib/openxml/Settings.js +97 -0
  218. package/lib/openxml/Style.d.ts +1 -1
  219. package/lib/openxml/Style.js +15 -15
  220. package/lib/openxml/Theme.js +31 -7
  221. package/lib/openxml/Types.d.ts +179 -2472
  222. package/lib/openxml/drawing/Blip.d.ts +7 -0
  223. package/lib/openxml/{word/drawing → drawing}/Blip.js +2 -1
  224. package/{esm/openxml/word → lib/openxml}/drawing/BlipFill.d.ts +1 -1
  225. package/lib/openxml/{word/drawing → drawing}/BlipFill.js +1 -1
  226. package/lib/openxml/drawing/CustomGeom.d.ts +9 -0
  227. package/lib/openxml/drawing/CustomGeom.js +21 -0
  228. package/lib/openxml/drawing/Drawing.d.ts +37 -0
  229. package/lib/openxml/drawing/Drawing.js +177 -0
  230. package/lib/openxml/drawing/Geom.d.ts +11 -0
  231. package/lib/openxml/drawing/Geom.js +38 -0
  232. package/lib/openxml/drawing/Path.d.ts +37 -0
  233. package/lib/openxml/drawing/Pic.d.ts +16 -0
  234. package/lib/openxml/drawing/Pic.js +30 -0
  235. package/lib/openxml/drawing/Shape.d.ts +20 -0
  236. package/lib/openxml/drawing/ShapeProperties.d.ts +22 -0
  237. package/lib/openxml/drawing/ShapeProperties.js +123 -0
  238. package/{esm/openxml/word → lib/openxml}/drawing/Transform.d.ts +4 -1
  239. package/lib/openxml/drawing/Transform.js +67 -0
  240. package/lib/openxml/drawing/diagram/Diagram.d.ts +7 -0
  241. package/lib/openxml/drawing/diagram/Diagram.js +28 -0
  242. package/lib/openxml/drawing/diagram/Sp.d.ts +2 -0
  243. package/lib/openxml/drawing/diagram/SpTree.d.ts +5 -0
  244. package/lib/openxml/drawing/presetShape.d.ts +3 -0
  245. package/lib/openxml/drawing/presetShape.js +38789 -0
  246. package/lib/openxml/drawing/svg/arcToA.d.ts +13 -0
  247. package/lib/openxml/drawing/svg/arcToA.js +92 -0
  248. package/lib/openxml/drawing/svg/formulas.d.ts +29 -0
  249. package/lib/openxml/drawing/svg/formulas.js +108 -0
  250. package/lib/openxml/drawing/svg/generateDefines.d.ts +12 -0
  251. package/lib/openxml/drawing/svg/generateDefines.js +148 -0
  252. package/lib/openxml/drawing/svg/presetVal.d.ts +43 -0
  253. package/lib/openxml/drawing/svg/presetVal.js +57 -0
  254. package/lib/openxml/drawing/svg/shapeToSVG.d.ts +9 -0
  255. package/lib/openxml/drawing/svg/shapeToSVG.js +155 -0
  256. package/lib/openxml/math/OMath.d.ts +5 -0
  257. package/lib/openxml/math/OMath.js +16 -0
  258. package/lib/openxml/math/convertOOML.d.ts +4 -0
  259. package/lib/openxml/math/convertOOML.js +17 -0
  260. package/lib/openxml/math/xsl.d.ts +4 -0
  261. package/lib/openxml/math/xsl.js +12 -0
  262. package/lib/openxml/word/Body.js +11 -7
  263. package/lib/openxml/word/Break.js +1 -3
  264. package/lib/openxml/word/Font.d.ts +16 -0
  265. package/lib/openxml/word/Font.js +83 -0
  266. package/lib/openxml/word/FontTable.d.ts +9 -0
  267. package/lib/openxml/word/FontTable.js +38 -0
  268. package/lib/openxml/word/Header.d.ts +11 -0
  269. package/lib/openxml/word/Header.js +58 -0
  270. package/lib/openxml/word/Hyperlink.d.ts +1 -0
  271. package/lib/openxml/word/Hyperlink.js +8 -4
  272. package/lib/openxml/word/InlineText.js +2 -2
  273. package/lib/openxml/word/NoBreakHyphen.d.ts +2 -0
  274. package/lib/openxml/word/NoBreakHyphen.js +11 -0
  275. package/lib/openxml/word/Note.d.ts +12 -0
  276. package/lib/openxml/word/Note.js +52 -0
  277. package/lib/openxml/word/Paragraph.d.ts +2 -2
  278. package/lib/openxml/word/Paragraph.js +11 -10
  279. package/lib/openxml/word/Pict.d.ts +1 -2
  280. package/lib/openxml/word/Pict.js +5 -3
  281. package/lib/openxml/word/Ruby.js +4 -4
  282. package/lib/openxml/word/Run.d.ts +7 -3
  283. package/lib/openxml/word/Run.js +29 -5
  284. package/lib/openxml/word/Section.d.ts +18 -5
  285. package/lib/openxml/word/Section.js +47 -3
  286. package/lib/openxml/word/Separator.d.ts +5 -0
  287. package/lib/openxml/word/Separator.js +14 -0
  288. package/lib/openxml/word/SoftHyphen.d.ts +5 -0
  289. package/lib/openxml/word/SoftHyphen.js +14 -0
  290. package/lib/openxml/word/Tab.d.ts +1 -1
  291. package/lib/openxml/word/Table.d.ts +4 -9
  292. package/lib/openxml/word/Table.js +0 -235
  293. package/lib/openxml/word/WDocument.d.ts +1 -2
  294. package/lib/openxml/word/WDocument.js +53 -7
  295. package/lib/openxml/word/numbering/AbstractNum.js +5 -3
  296. package/lib/openxml/word/numbering/Lvl.js +11 -5
  297. package/lib/openxml/word/numbering/Num.js +12 -4
  298. package/lib/openxml/word/numbering/NumberProperties.js +2 -2
  299. package/lib/openxml/word/numbering/Numbering.js +3 -3
  300. package/lib/openxml/word/table/Tc.d.ts +1 -22
  301. package/lib/openxml/word/table/Tc.js +0 -224
  302. package/lib/openxml/word/table/Tr.d.ts +0 -5
  303. package/lib/openxml/word/table/Tr.js +0 -97
  304. package/lib/openxml/word/wps/WPG.d.ts +14 -0
  305. package/lib/openxml/word/wps/WPG.js +60 -0
  306. package/lib/openxml/word/wps/WPS.d.ts +18 -0
  307. package/lib/openxml/word/wps/WPS.js +152 -0
  308. package/lib/openxml/word/wps/WPSStyle.d.ts +10 -0
  309. package/lib/openxml/word/wps/WPSStyle.js +46 -0
  310. package/lib/package/PackageParser.d.ts +1 -1
  311. package/lib/package/XMLPackageParser.d.ts +3 -3
  312. package/lib/package/ZipPackageParser.d.ts +1 -1
  313. package/lib/package/ZipPackageParser.js +7 -8
  314. package/lib/parse/Footnotes.d.ts +3 -0
  315. package/lib/parse/Footnotes.js +29 -0
  316. package/lib/parse/colorNameMap.d.ts +6 -0
  317. package/lib/parse/colorNameMap.js +205 -0
  318. package/lib/parse/jcToTextAlign.js +1 -0
  319. package/lib/parse/mergeSdt.d.ts +4 -0
  320. package/lib/parse/mergeSdt.js +61 -0
  321. package/lib/parse/modifyColor.d.ts +1 -0
  322. package/lib/parse/modifyColor.js +110 -0
  323. package/lib/parse/parseBorder.js +3 -22
  324. package/lib/parse/parseCellMargin.d.ts +2 -0
  325. package/lib/parse/parseCellMargin.js +42 -0
  326. package/lib/parse/parseChildColor.d.ts +5 -0
  327. package/lib/parse/parseChildColor.js +70 -0
  328. package/lib/parse/parseColor.d.ts +4 -0
  329. package/lib/parse/parseColor.js +41 -45
  330. package/lib/parse/parseEndnotes.d.ts +3 -0
  331. package/lib/parse/parseEndnotes.js +29 -0
  332. package/lib/parse/parseFont.js +2 -2
  333. package/lib/parse/parseInsideBorders.d.ts +9 -0
  334. package/lib/parse/parseInsideBorders.js +28 -0
  335. package/lib/parse/parsePr.d.ts +3 -0
  336. package/lib/parse/parsePr.js +109 -12
  337. package/lib/parse/parseRelationship.js +2 -2
  338. package/lib/parse/parseSdt.d.ts +5 -0
  339. package/lib/parse/parseShape.d.ts +10 -0
  340. package/lib/parse/parseShape.js +247 -0
  341. package/lib/parse/parseSize.d.ts +2 -1
  342. package/lib/parse/parseSize.js +7 -0
  343. package/lib/parse/parseSpacing.js +1 -1
  344. package/lib/parse/parseTable.d.ts +3 -0
  345. package/lib/parse/parseTable.js +66 -0
  346. package/lib/parse/parseTablePr.d.ts +3 -0
  347. package/lib/parse/parseTablePr.js +189 -0
  348. package/lib/parse/parseTblWidth.d.ts +4 -0
  349. package/lib/parse/parseTblWidth.js +27 -0
  350. package/lib/parse/parseTc.d.ts +10 -0
  351. package/lib/parse/parseTc.js +68 -0
  352. package/lib/parse/parseTcPr.d.ts +5 -0
  353. package/lib/parse/parseTcPr.js +104 -0
  354. package/lib/parse/parseTextDirection.js +4 -6
  355. package/lib/parse/parseTr.d.ts +6 -0
  356. package/lib/parse/parseTr.js +53 -0
  357. package/lib/parse/parseTrPr.d.ts +3 -0
  358. package/lib/parse/parseTrPr.js +63 -0
  359. package/lib/render/fixAbsolutePosition.d.ts +8 -0
  360. package/lib/render/renderBody.d.ts +6 -2
  361. package/lib/render/renderBody.js +183 -29
  362. package/lib/render/renderBr.d.ts +2 -1
  363. package/lib/render/renderBr.js +4 -1
  364. package/lib/render/renderCustGeom.d.ts +4 -0
  365. package/lib/render/renderCustGeom.js +14 -0
  366. package/lib/render/renderDocument.d.ts +2 -2
  367. package/lib/render/renderDocument.js +2 -2
  368. package/lib/render/renderDrawing.d.ts +3 -2
  369. package/lib/render/renderDrawing.js +238 -21
  370. package/lib/render/renderFont.d.ts +5 -0
  371. package/lib/render/renderFont.js +43 -0
  372. package/lib/render/renderGeom.d.ts +4 -0
  373. package/lib/render/renderGeom.js +18 -0
  374. package/lib/render/renderHeader.d.ts +6 -0
  375. package/lib/render/renderHeader.js +44 -0
  376. package/lib/render/renderHyperLink.js +5 -2
  377. package/lib/render/renderInlineText.js +2 -2
  378. package/lib/render/renderInstrText.js +2 -2
  379. package/lib/render/renderMath.d.ts +3 -0
  380. package/lib/render/renderMath.js +11 -0
  381. package/lib/render/renderNoBreakHyphen.d.ts +1 -0
  382. package/lib/render/renderNoBreakHyphen.js +13 -0
  383. package/lib/render/renderNotes.d.ts +5 -0
  384. package/lib/render/renderNotes.js +81 -0
  385. package/lib/render/renderNumbering.js +9 -11
  386. package/lib/render/renderParagraph.d.ts +1 -1
  387. package/lib/render/renderParagraph.js +58 -18
  388. package/lib/render/renderPict.js +5 -10
  389. package/lib/render/renderRuby.js +3 -3
  390. package/lib/render/renderRun.d.ts +4 -2
  391. package/lib/render/renderRun.js +41 -11
  392. package/lib/render/renderSection.d.ts +3 -2
  393. package/lib/render/renderSection.js +79 -5
  394. package/lib/render/renderSeparator.d.ts +1 -0
  395. package/lib/render/renderSeparator.js +13 -0
  396. package/lib/render/renderSoftHyphen.d.ts +1 -0
  397. package/lib/render/renderSoftHyphen.js +13 -0
  398. package/lib/render/renderStyle.js +37 -36
  399. package/lib/render/renderTab.d.ts +2 -1
  400. package/lib/render/renderTab.js +10 -6
  401. package/lib/render/renderTable.js +25 -22
  402. package/lib/render/setElementStyle.js +6 -1
  403. package/lib/render/zindex.d.ts +1 -0
  404. package/lib/util/blob.js +0 -10
  405. package/lib/util/color.d.ts +48 -0
  406. package/lib/util/color.js +215 -0
  407. package/lib/util/createObject.d.ts +10 -0
  408. package/lib/util/createObject.js +54 -0
  409. package/lib/util/dom.d.ts +8 -4
  410. package/lib/util/dom.js +24 -5
  411. package/lib/util/get.d.ts +4 -0
  412. package/lib/util/get.js +22 -0
  413. package/lib/util/mergeRun.js +5 -5
  414. package/lib/util/parseSides.d.ts +11 -0
  415. package/lib/util/print.d.ts +5 -0
  416. package/lib/util/print.js +58 -0
  417. package/lib/util/replaceVar.d.ts +10 -0
  418. package/lib/util/replaceVar.js +220 -0
  419. package/lib/util/xml.js +4 -0
  420. package/package.json +17 -7
  421. package/esm/node_modules/tslib/tslib.es6.js +0 -120
  422. package/esm/openxml/Types.js +0 -1003
  423. package/esm/openxml/word/CustomXml.d.ts +0 -8
  424. package/esm/openxml/word/SmartTag.d.ts +0 -8
  425. package/esm/openxml/word/SmartTag.js +0 -18
  426. package/esm/openxml/word/drawing/Blip.d.ts +0 -6
  427. package/esm/openxml/word/drawing/Drawing.d.ts +0 -6
  428. package/esm/openxml/word/drawing/Drawing.js +0 -15
  429. package/esm/openxml/word/drawing/Pic.d.ts +0 -8
  430. package/esm/openxml/word/drawing/Pic.js +0 -16
  431. package/esm/openxml/word/drawing/ShapeProperties.d.ts +0 -9
  432. package/esm/openxml/word/drawing/ShapeProperties.js +0 -20
  433. package/esm/openxml/word/drawing/Transform.js +0 -30
  434. package/lib/node_modules/tslib/tslib.es6.js +0 -129
  435. package/lib/openxml/Types.js +0 -1005
  436. package/lib/openxml/word/CustomXml.d.ts +0 -8
  437. package/lib/openxml/word/SmartTag.d.ts +0 -8
  438. package/lib/openxml/word/SmartTag.js +0 -22
  439. package/lib/openxml/word/drawing/Blip.d.ts +0 -6
  440. package/lib/openxml/word/drawing/Drawing.d.ts +0 -6
  441. package/lib/openxml/word/drawing/Drawing.js +0 -19
  442. package/lib/openxml/word/drawing/Pic.d.ts +0 -8
  443. package/lib/openxml/word/drawing/Pic.js +0 -20
  444. package/lib/openxml/word/drawing/ShapeProperties.d.ts +0 -9
  445. package/lib/openxml/word/drawing/ShapeProperties.js +0 -24
  446. package/lib/openxml/word/drawing/Transform.js +0 -34
package/README.md CHANGED
@@ -6,8 +6,13 @@ docx 渲染器,原理是将 docx 里的 xml 格式转成 html
6
6
 
7
7
  相对于 Canvas 渲染,这个实现方案比较简单,最终页面也可以很方便复制,但无法保证和原始 docx 文件展现一致,因为有部分功能难以在 HTML 中实现,比如图文环绕效果。
8
8
 
9
- ## 还不支持的功能
9
+ ## 已知不支持的功能
10
10
 
11
+ - 分页符
12
+ - 形状
13
+ - 艺术字
14
+ - 域
15
+ - 对象
11
16
  - wmf,需要使用 https://github.com/SheetJS/js-wmf
12
17
 
13
18
  ## 参考资料
package/esm/OpenXML.d.ts CHANGED
@@ -18,4 +18,23 @@ export declare function getValNumber(element: Element): number;
18
18
  export declare function normalizeBoolean(value: string | boolean | null, defaultValue?: boolean): boolean;
19
19
  export declare function getValBoolean(element: Element, defaultValue?: boolean): boolean;
20
20
  export declare function getAttrBoolean(element: Element, attr: string, defaultValue?: boolean): boolean;
21
+ /**
22
+ * 获取属性值,转成数字
23
+ *
24
+ * @param attr 属性名
25
+ * @param defaultValue 默认值
26
+ * @returns 解析后的数字
27
+ */
28
+ export declare function getAttrNumber(element: Element, attr: string, defaultValue?: number): number;
29
+ /**
30
+ * 获取百分比值,没测过
31
+ * http://webapp.docx4java.org/OnlineDemo/ecma376/DrawingML/ST_Percentage.html
32
+ * https://c-rex.net/projects/samples/ooxml/e1/Part4/OOXML_P4_DOCX_ST_Percentage_topic_ID0EY3XNB.html#topic_ID0EY3XNB
33
+ *
34
+ * @returns 0-1 之间的小数
35
+ */
36
+ export declare function getAttrPercent(element: Element, attr: string): number;
37
+ /**
38
+ * 获取属性的 hex 值
39
+ */
21
40
  export declare function getValHex(element: Element): number;
package/esm/OpenXML.js CHANGED
@@ -5,7 +5,10 @@
5
5
  * 获取 w:val 的值
6
6
  */
7
7
  function getVal(element) {
8
- return element.getAttribute('w:val') || '';
8
+ return (element.getAttribute('w:val') ||
9
+ element.getAttribute('w14:val') ||
10
+ element.getAttribute('val') ||
11
+ '');
9
12
  }
10
13
  /**
11
14
  * 获取 w:val 的值,转成 number 类型
@@ -53,8 +56,46 @@ function getAttrBoolean(element, attr, defaultValue) {
53
56
  if (defaultValue === void 0) { defaultValue = true; }
54
57
  return normalizeBoolean(element.getAttribute(attr), defaultValue);
55
58
  }
59
+ /**
60
+ * 获取属性值,转成数字
61
+ *
62
+ * @param attr 属性名
63
+ * @param defaultValue 默认值
64
+ * @returns 解析后的数字
65
+ */
66
+ function getAttrNumber(element, attr, defaultValue) {
67
+ if (defaultValue === void 0) { defaultValue = 0; }
68
+ var value = element.getAttribute(attr);
69
+ if (value) {
70
+ return parseInt(value, 10);
71
+ }
72
+ else {
73
+ return defaultValue;
74
+ }
75
+ }
76
+ /**
77
+ * 获取百分比值,没测过
78
+ * http://webapp.docx4java.org/OnlineDemo/ecma376/DrawingML/ST_Percentage.html
79
+ * https://c-rex.net/projects/samples/ooxml/e1/Part4/OOXML_P4_DOCX_ST_Percentage_topic_ID0EY3XNB.html#topic_ID0EY3XNB
80
+ *
81
+ * @returns 0-1 之间的小数
82
+ */
83
+ function getAttrPercent(element, attr) {
84
+ var value = element.getAttribute(attr);
85
+ if (value) {
86
+ if (value.endsWith('%')) {
87
+ return parseInt(value, 10) / 100;
88
+ }
89
+ var num = parseInt(value, 10);
90
+ return num / 100000;
91
+ }
92
+ return 1;
93
+ }
94
+ /**
95
+ * 获取属性的 hex 值
96
+ */
56
97
  function getValHex(element) {
57
98
  return parseInt(getVal(element) || '0', 16);
58
99
  }
59
100
 
60
- export { getAttrBoolean, getVal, getValBoolean, getValHex, getValNumber, normalizeBoolean };
101
+ export { getAttrBoolean, getAttrNumber, getAttrPercent, getVal, getValBoolean, getValHex, getValNumber, normalizeBoolean };
package/esm/Word.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { FontTable } from './openxml/word/FontTable';
1
2
  /**
2
3
  * 总入口,它将包括所有 word 文档信息,后续渲染的时候依赖它来获取关联信息
3
4
  */
@@ -8,6 +9,9 @@ import { Theme } from './openxml/Theme';
8
9
  import { Numbering } from './openxml/word/numbering/Numbering';
9
10
  import { PackageParser } from './package/PackageParser';
10
11
  import { Paragraph } from './openxml/word/Paragraph';
12
+ import { Note } from './openxml/word/Note';
13
+ import { Section } from './openxml/word/Section';
14
+ import { Settings } from './openxml/Settings';
11
15
  /**
12
16
  * 渲染配置
13
17
  */
@@ -16,16 +20,10 @@ export interface WordRenderOptions {
16
20
  * css 类前缀
17
21
  */
18
22
  classPrefix: string;
19
- /** 图片是否使用 data url */
20
- imageDataURL: boolean;
21
23
  /**
22
24
  * 列表使用字体渲染,需要自行引入 Windings 字体
23
25
  */
24
26
  bulletUseFont: boolean;
25
- /**
26
- * 是否包裹出页面效果
27
- */
28
- inWrap: boolean;
29
27
  /**
30
28
  * 是否忽略文档宽度设置
31
29
  */
@@ -47,9 +45,13 @@ export interface WordRenderOptions {
47
45
  */
48
46
  enableVar?: boolean;
49
47
  /**
50
- * 进行模板替换的函数
48
+ * 上下文数据,用于替换变量
49
+ */
50
+ data?: any;
51
+ /**
52
+ * 进行表达式计算的函数,第一个参数是文本变量,第二个参数是上下文数据
51
53
  */
52
- replaceText?: (text: string) => string;
54
+ evalVar: (text: string, data?: Object) => Object | string | number | boolean | null | undefined;
53
55
  /**
54
56
  * 是否开启调试模式
55
57
  */
@@ -62,6 +64,59 @@ export interface WordRenderOptions {
62
64
  * 强制行高,设置之后所有文本都使用这个行高,可以优化排版效果
63
65
  */
64
66
  forceLineHeight?: string;
67
+ /**
68
+ * 打印等待时间,单位毫秒,可能有的文档有很多图片,如果等待时间太短图片还没加载完,所以加这个配置项可控
69
+ */
70
+ printWaitTime?: number;
71
+ /**
72
+ * 是否使用分页的方式来渲染内容,使用这种方式还原度更高,但不支持打印功能
73
+ * 设置后会自动将 ignoreHeight 和 ignoreWidth 设置为 false
74
+ */
75
+ page?: boolean;
76
+ /**
77
+ * 每页之间的间距
78
+ */
79
+ pageMarginBottom?: number;
80
+ /**
81
+ * 页面背景色
82
+ */
83
+ pageBackground?: string;
84
+ /**
85
+ * 是否显示页面阴影,只有在 page 为 true 的时候才生效
86
+ */
87
+ pageShadow?: boolean;
88
+ /**
89
+ * 显示页面包裹效果,只有在 page 为 true 的时候才生效
90
+ */
91
+ pageWrap?: boolean;
92
+ /**
93
+ * 页面包裹宽度
94
+ */
95
+ pageWrapPadding?: number;
96
+ /**
97
+ * 页面包裹背景色
98
+ */
99
+ pageWrapBackground?: string;
100
+ /**
101
+ * 缩放比例,取值 0-1 之间
102
+ */
103
+ zoom?: number;
104
+ /**
105
+ * 自适应宽度,如果设置了 zoom,那么 zoom 优先级更高,这个设置只在 ignoreWidth 为 false 的时候生效
106
+ */
107
+ zoomFitWidth?: boolean;
108
+ /**
109
+ * 打印可以覆盖其它配置
110
+ */
111
+ printOptions?: WordRenderOptions;
112
+ /**
113
+ * 是否渲染 header
114
+ */
115
+ renderHeader?: boolean;
116
+ /**
117
+ * 是否渲染 footer
118
+ */
119
+ renderFooter?: boolean;
65
120
  }
66
121
  export default class Word {
67
122
  /**
@@ -88,12 +143,28 @@ export default class Word {
88
143
  * 解析 numbering.xml 里的数据
89
144
  */
90
145
  numbering: Numbering;
146
+ settings: Settings;
91
147
  /**
92
148
  * 解析 styles.xml 里的数据
93
149
  */
94
150
  styles: Styles;
95
151
  renderOptions: WordRenderOptions;
152
+ /**
153
+ * 全局关系表
154
+ */
96
155
  relationships: Record<string, Relationship>;
156
+ /**
157
+ * 文档关系表
158
+ */
159
+ documentRels: Record<string, Relationship>;
160
+ /**
161
+ * 当前文档使用的关系表,比如 headers.xml 里的图片是
162
+ */
163
+ currentDocumentRels: Record<string, Relationship>;
164
+ /**
165
+ * 字体关系表
166
+ */
167
+ fontTableRels: Record<string, Relationship>;
97
168
  /**
98
169
  * 样式名映射,因为自定义样式名有可能不符合 css 命名规范,因此实际使用这个名字
99
170
  */
@@ -102,6 +173,10 @@ export default class Word {
102
173
  * 用于自动生成样式名时的计数,保证每次都是唯一的
103
174
  */
104
175
  styleIdNum: number;
176
+ /**
177
+ * 内置字体标
178
+ */
179
+ fontTable?: FontTable;
105
180
  /**
106
181
  * 渲染根节点
107
182
  */
@@ -111,6 +186,12 @@ export default class Word {
111
186
  * 当前渲染的段落,主要用于获取 fldSimple
112
187
  */
113
188
  currentParagraph: Paragraph;
189
+ footNotes: Record<string, Note>;
190
+ endNotes: Record<string, Note>;
191
+ /**
192
+ * 当前页码
193
+ */
194
+ currentPage: 0;
114
195
  /**
115
196
  * 构建 word
116
197
  *
@@ -120,6 +201,14 @@ export default class Word {
120
201
  */
121
202
  constructor(docFile: ArrayBuffer | string, renderOptions?: Partial<WordRenderOptions>, parser?: PackageParser);
122
203
  inited: boolean;
204
+ /**
205
+ * 分页标记,如果为 true,那么在渲染的时候会强制分页
206
+ */
207
+ breakPage: boolean;
208
+ /**
209
+ * 当前渲染的段,因为很多渲染需要,所以为了避免大量传参,这里直接挂在这里
210
+ */
211
+ currentSection: Section;
123
212
  /**
124
213
  * 初始化一些公共资源,比如
125
214
  */
@@ -132,6 +221,14 @@ export default class Word {
132
221
  * 解析全局样式
133
222
  */
134
223
  initStyle(): void;
224
+ /**
225
+ * 解析全局配置
226
+ */
227
+ initSettings(): void;
228
+ /**
229
+ * 解析字体表
230
+ */
231
+ initFontTable(): void;
135
232
  /**
136
233
  * 解析关系
137
234
  */
@@ -144,18 +241,29 @@ export default class Word {
144
241
  * 解析 numbering
145
242
  */
146
243
  initNumbering(): void;
244
+ initNotes(): void;
147
245
  /**
148
- * 根据 id 获取关系
246
+ * 获取全局关系
149
247
  */
150
248
  getRelationship(id?: string): Relationship | null;
151
249
  /**
152
- * 进行文本替换
250
+ * 获取文档对应的关系
251
+ */
252
+ getDocumentRels(id?: string): Relationship | null;
253
+ /**
254
+ * 获取字体对应的关系
255
+ */
256
+ getFontTableRels(id?: string): Relationship | null;
257
+ /**
258
+ * 进行单个文本替换
153
259
  */
154
260
  replaceText(text: string): string;
261
+ loadWordRelXML(relation: Relationship): Document;
155
262
  /**
156
263
  * 加载图片
157
264
  */
158
- loadImage(relation: Relationship): Promise<string> | null;
265
+ loadImage(relation: Relationship): string | null;
266
+ loadFont(rId: string, key: string): string | null;
159
267
  /**
160
268
  * 解析 html
161
269
  */
@@ -171,21 +279,29 @@ export default class Word {
171
279
  /**
172
280
  * 添加新样式,主要用于表格的单元格样式
173
281
  */
174
- appendStyle(style: string): void;
282
+ appendStyle(style?: string): void;
175
283
  /**
176
284
  * 返回样式表名及它的父级样式表名
177
285
  * @param styleId 样式表里的 style 名称
178
286
  * @returns 返回 className 数组
179
287
  */
180
288
  getStyleClassName(stylId: string): string[];
289
+ /**
290
+ * 根据 id 获取样式
291
+ * @param styleId
292
+ */
293
+ getStyle(styleId: string): import("./openxml/Style").Style;
181
294
  /**
182
295
  * 渲染时的 css 类前缀
183
296
  */
184
297
  getClassPrefix(): string;
185
298
  /**
186
- * 获取主题色,目前基于 css 变量实现,方便动态修改
299
+ * 获取主题色
187
300
  */
188
301
  getThemeColor(name: string): string;
302
+ /**
303
+ * 添加类,自动加上前缀
304
+ */
189
305
  addClass(element: HTMLElement, className: string): void;
190
306
  /**
191
307
  * 更新页面中的变量,这个要在 render 后运行
@@ -198,11 +314,12 @@ export default class Word {
198
314
  /**
199
315
  * 打印功能
200
316
  */
201
- print(): Promise<void>;
317
+ print(): Promise<any>;
202
318
  /**
203
319
  * 渲染文档入口
204
320
  *
205
321
  * @param root 渲染的根节点
322
+ * @param renderOptionsOverride 临时覆盖某些渲选项
206
323
  */
207
- render(root: HTMLElement): Promise<void>;
324
+ render(root: HTMLElement, renderOptionsOverride?: Partial<WordRenderOptions>): Promise<void>;
208
325
  }