abstract-document 6.9.3 → 6.9.5

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 (651) hide show
  1. package/CHANGELOG.md +171 -150
  2. package/LICENSE +21 -21
  3. package/README.md +45 -45
  4. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/group.js +218 -218
  5. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/header-and-footer.js +69 -69
  6. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/{single-image-png.d.ts → hello-arial-font.d.ts} +1 -1
  7. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/hello-arial-font.d.ts.map +1 -0
  8. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/hello-arial-font.js +90 -0
  9. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/hello-arial-font.js.map +1 -0
  10. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/hello.js +51 -51
  11. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/letter-dimensions.js +51 -51
  12. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/mixed-hyperlink-and-textrun.js +115 -115
  13. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/mixed-textrun-and-images.js +169 -169
  14. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/multiple-images.js +141 -141
  15. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/multiple-tables.js +467 -467
  16. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/multiple-textrun-with-center-alignment.js +97 -97
  17. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/multiple-textrun-with-end-alignment.js +97 -97
  18. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/multiple-textrun-with-start-alignment-that-linebreaks.js +96 -96
  19. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/multiple-textrun-with-start-alignment.js +96 -96
  20. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/page-numbering.js +102 -102
  21. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/page-orientation-landscape.js +51 -51
  22. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/page-orientation-portrait.js +51 -51
  23. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/simple-table-colSpan-and-rowSpan.js +498 -498
  24. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/simple-table-without-rows.js +20 -20
  25. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/simple-table.js +167 -167
  26. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/single-hyperlink.js +70 -70
  27. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/single-image.js +97 -97
  28. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/single-textrun-with-center-alignment-that-linebreaks.js +68 -68
  29. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/single-textrun-with-center-alignment.js +68 -68
  30. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/single-textrun-with-end-alignment-that-linebreaks.js +68 -68
  31. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/single-textrun-with-end-alignment.js +68 -68
  32. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/single-textrun-with-start-alignment-that-linebreaks.js +68 -68
  33. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/single-textrun-with-start-alignment.js +68 -68
  34. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/single-textrun.js +68 -68
  35. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/toc-separator.js +48 -48
  36. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/world.js +51 -51
  37. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-group.d.ts.map +1 -1
  38. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-group.js +52 -47
  39. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-group.js.map +1 -1
  40. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-header-and-footer.d.ts.map +1 -1
  41. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-header-and-footer.js +127 -136
  42. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-header-and-footer.js.map +1 -1
  43. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-paragraph.d.ts.map +1 -1
  44. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-paragraph.js +31 -26
  45. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-paragraph.js.map +1 -1
  46. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-group.d.ts.map +1 -1
  47. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-group.js +52 -61
  48. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-group.js.map +1 -1
  49. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-table.d.ts.map +1 -1
  50. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-table.js +82 -87
  51. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-table.js.map +1 -1
  52. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-table.d.ts.map +1 -1
  53. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-table.js +67 -72
  54. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-table.js.map +1 -1
  55. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/date.d.ts.map +1 -1
  56. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/date.js +37 -46
  57. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/date.js.map +1 -1
  58. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-no-keep-together.d.ts.map +1 -1
  59. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-no-keep-together.js +1203 -1219
  60. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-no-keep-together.js.map +1 -1
  61. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-paragraphs.d.ts.map +1 -1
  62. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-paragraphs.js +1203 -1219
  63. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-paragraphs.js.map +1 -1
  64. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-tables.d.ts.map +1 -1
  65. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-tables.js +1233 -1249
  66. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-tables.js.map +1 -1
  67. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-too-big-for-one-page.js +209 -209
  68. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-too-big-for-one-page.js.map +1 -1
  69. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/header-and-footer.d.ts.map +1 -1
  70. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/header-and-footer.js +112 -121
  71. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/header-and-footer.js.map +1 -1
  72. package/lib/abstract-document-exporters/__tests__/{docx2/test-defs/single-image-svg.d.ts → pdf/test-defs/hello-with-different-font.d.ts} +1 -1
  73. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/hello-with-different-font.d.ts.map +1 -0
  74. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/hello-with-different-font.js +70 -0
  75. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/hello-with-different-font.js.map +1 -0
  76. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/hello.d.ts.map +1 -1
  77. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/hello.js +32 -27
  78. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/hello.js.map +1 -1
  79. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/hyperlink-intenal-link-target.d.ts.map +1 -1
  80. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/hyperlink-intenal-link-target.js +707 -751
  81. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/hyperlink-intenal-link-target.js.map +1 -1
  82. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/hyperlink-internal.d.ts.map +1 -1
  83. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/hyperlink-internal.js +707 -751
  84. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/hyperlink-internal.js.map +1 -1
  85. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/margins-header-body-footer.d.ts.map +1 -1
  86. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/margins-header-body-footer.js +933 -949
  87. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/margins-header-body-footer.js.map +1 -1
  88. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-no-underline.d.ts.map +1 -1
  89. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-no-underline.js +82 -91
  90. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-no-underline.js.map +1 -1
  91. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-with-underline.d.ts.map +1 -1
  92. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-with-underline.js +82 -91
  93. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-with-underline.js.map +1 -1
  94. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun.d.ts.map +1 -1
  95. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun.js +82 -91
  96. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun.js.map +1 -1
  97. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-textrun-and-images.d.ts.map +1 -1
  98. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-textrun-and-images.js +52 -61
  99. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/mixed-textrun-and-images.js.map +1 -1
  100. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-images-overflow.d.ts.map +1 -1
  101. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-images-overflow.js +21 -30
  102. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-images-overflow.js.map +1 -1
  103. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-images.d.ts.map +1 -1
  104. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-images.js +21 -30
  105. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-images.js.map +1 -1
  106. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-center-alignment.d.ts.map +1 -1
  107. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-center-alignment.js +67 -76
  108. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-center-alignment.js.map +1 -1
  109. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-end-alignment.d.ts.map +1 -1
  110. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-end-alignment.js +67 -76
  111. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-end-alignment.js.map +1 -1
  112. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-start-alignment-that-linebreaks.d.ts.map +1 -1
  113. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-start-alignment-that-linebreaks.js +82 -91
  114. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-start-alignment-that-linebreaks.js.map +1 -1
  115. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-start-alignment.d.ts.map +1 -1
  116. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-start-alignment.js +67 -76
  117. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-start-alignment.js.map +1 -1
  118. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-row-that-doesnt-fit-page.d.ts.map +1 -1
  119. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-row-that-doesnt-fit-page.js +252 -248
  120. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-row-that-doesnt-fit-page.js.map +1 -1
  121. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-single-row.d.ts.map +1 -1
  122. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-single-row.js +166 -170
  123. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-single-row.js.map +1 -1
  124. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-group.d.ts.map +1 -1
  125. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-group.js +424 -404
  126. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-group.js.map +1 -1
  127. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-header.d.ts.map +1 -1
  128. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-header.js +1454 -1447
  129. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-header.js.map +1 -1
  130. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-header2.d.ts.map +1 -1
  131. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-header2.js +725 -677
  132. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-header2.js.map +1 -1
  133. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-margin-bottom.d.ts.map +1 -1
  134. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-margin-bottom.js +381 -365
  135. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-margin-bottom.js.map +1 -1
  136. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-margin-top-single-table.d.ts.map +1 -1
  137. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-margin-top-single-table.js +295 -287
  138. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-margin-top-single-table.js.map +1 -1
  139. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-margin-top.d.ts.map +1 -1
  140. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-margin-top.js +381 -365
  141. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-margin-top.js.map +1 -1
  142. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-rowSpan-multipages.d.ts.map +1 -1
  143. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-rowSpan-multipages.js +1501 -1494
  144. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-rowSpan-multipages.js.map +1 -1
  145. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-rowSpan.d.ts.map +1 -1
  146. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-rowSpan.js +480 -452
  147. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-rowSpan.js.map +1 -1
  148. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-numbering.d.ts.map +1 -1
  149. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-numbering.js +67 -76
  150. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/page-numbering.js.map +1 -1
  151. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/pagebreak.d.ts.map +1 -1
  152. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/pagebreak.js +63 -79
  153. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/pagebreak.js.map +1 -1
  154. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-all-auto-cell-widths.d.ts.map +1 -1
  155. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-all-auto-cell-widths.js +67 -76
  156. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-all-auto-cell-widths.js.map +1 -1
  157. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-all-fixed-cell-widths.d.ts.map +1 -1
  158. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-all-fixed-cell-widths.js +67 -76
  159. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-all-fixed-cell-widths.js.map +1 -1
  160. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-background.d.ts.map +1 -1
  161. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-background.js +21 -120
  162. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-background.js.map +1 -1
  163. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-cell-padding-image.d.ts.map +1 -1
  164. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-cell-padding-image.js +135 -128
  165. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-cell-padding-image.js.map +1 -1
  166. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-cell-padding-text.d.ts.map +1 -1
  167. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-cell-padding-text.js +282 -267
  168. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-cell-padding-text.js.map +1 -1
  169. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-center-alignment.d.ts.map +1 -1
  170. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-center-alignment.js +67 -72
  171. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-center-alignment.js.map +1 -1
  172. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-colSpan-and-rowSpan.d.ts.map +1 -1
  173. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-colSpan-and-rowSpan.js +368 -345
  174. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-colSpan-and-rowSpan.js.map +1 -1
  175. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/{group.d.ts → simple-table-minimal-row-height.d.ts} +1 -1
  176. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-minimal-row-height.d.ts.map +1 -0
  177. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-minimal-row-height.js +584 -0
  178. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-minimal-row-height.js.map +1 -0
  179. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-mix-auto-fix-cell-widths.d.ts.map +1 -1
  180. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-mix-auto-fix-cell-widths.js +67 -76
  181. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-mix-auto-fix-cell-widths.js.map +1 -1
  182. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-padding.d.ts.map +1 -1
  183. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-padding.js +67 -72
  184. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-padding.js.map +1 -1
  185. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-right-alignment.d.ts.map +1 -1
  186. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-right-alignment.js +67 -72
  187. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-right-alignment.js.map +1 -1
  188. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-row-alignment.d.ts.map +1 -1
  189. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-row-alignment.js +241 -234
  190. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-row-alignment.js.map +1 -1
  191. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-text-alignment-in-cell-wrapping.d.ts.map +1 -1
  192. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-text-alignment-in-cell-wrapping.js +436 -429
  193. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-text-alignment-in-cell-wrapping.js.map +1 -1
  194. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-text-alignment-in-cell.d.ts.map +1 -1
  195. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-text-alignment-in-cell.js +196 -189
  196. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-text-alignment-in-cell.js.map +1 -1
  197. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-default-colored-borders.d.ts.map +1 -1
  198. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-default-colored-borders.js +175 -171
  199. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-default-colored-borders.js.map +1 -1
  200. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-header.d.ts.map +1 -1
  201. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-header.js +411 -384
  202. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-header.js.map +1 -1
  203. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-multi-colored-borders.d.ts.map +1 -1
  204. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-multi-colored-borders.js +175 -183
  205. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-multi-colored-borders.js.map +1 -1
  206. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-single-colored-borders.d.ts.map +1 -1
  207. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-single-colored-borders.js +175 -183
  208. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-single-colored-borders.js.map +1 -1
  209. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-figure.d.ts.map +1 -1
  210. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-figure.js +164 -169
  211. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-figure.js.map +1 -1
  212. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-center.d.ts.map +1 -1
  213. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-center.js +37 -46
  214. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-center.js.map +1 -1
  215. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-no-underline.d.ts.map +1 -1
  216. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-no-underline.js +37 -46
  217. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-no-underline.js.map +1 -1
  218. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-right-aligned.d.ts.map +1 -1
  219. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-right-aligned.js +37 -46
  220. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-right-aligned.js.map +1 -1
  221. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-with-underline.d.ts.map +1 -1
  222. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-with-underline.js +37 -46
  223. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-with-underline.js.map +1 -1
  224. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink.d.ts.map +1 -1
  225. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink.js +37 -46
  226. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink.js.map +1 -1
  227. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-color-hex.d.ts.map +1 -1
  228. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-color-hex.js +217 -226
  229. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-color-hex.js.map +1 -1
  230. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-color-name.d.ts.map +1 -1
  231. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-color-name.js +217 -226
  232. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-color-name.js.map +1 -1
  233. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-color-url.d.ts.map +1 -1
  234. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-color-url.js +36 -46
  235. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-color-url.js.map +1 -1
  236. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-dasharray.d.ts.map +1 -1
  237. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-dasharray.js +30 -38
  238. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-dasharray.js.map +1 -1
  239. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image-url.d.ts.map +1 -1
  240. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image-url.js +21 -30
  241. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image-url.js.map +1 -1
  242. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image.d.ts.map +1 -1
  243. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image.js +21 -30
  244. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-image.js.map +1 -1
  245. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-alphabetic.d.ts.map +1 -1
  246. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-alphabetic.js +31 -26
  247. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-alphabetic.js.map +1 -1
  248. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-bottom.d.ts.map +1 -1
  249. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-bottom.js +31 -26
  250. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-bottom.js.map +1 -1
  251. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-hanging.d.ts.map +1 -1
  252. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-hanging.js +31 -26
  253. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-hanging.js.map +1 -1
  254. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-middle.d.ts.map +1 -1
  255. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-middle.js +31 -26
  256. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-middle.js.map +1 -1
  257. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-top.d.ts.map +1 -1
  258. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-top.js +31 -26
  259. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-top.js.map +1 -1
  260. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-super-subscript.d.ts.map +1 -1
  261. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-super-subscript.js +67 -76
  262. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-super-subscript.js.map +1 -1
  263. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-center-alignment-that-linebreaks.d.ts.map +1 -1
  264. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-center-alignment-that-linebreaks.js +52 -61
  265. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-center-alignment-that-linebreaks.js.map +1 -1
  266. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-center-alignment.d.ts.map +1 -1
  267. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-center-alignment.js +37 -46
  268. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-center-alignment.js.map +1 -1
  269. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-end-alignment-that-linebreaks.d.ts.map +1 -1
  270. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-end-alignment-that-linebreaks.js +52 -61
  271. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-end-alignment-that-linebreaks.js.map +1 -1
  272. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-end-alignment.d.ts.map +1 -1
  273. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-end-alignment.js +37 -46
  274. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-end-alignment.js.map +1 -1
  275. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-justify-alignment.d.ts.map +1 -1
  276. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-justify-alignment.js +37 -46
  277. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-justify-alignment.js.map +1 -1
  278. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-start-alignment-that-linebreaks.d.ts.map +1 -1
  279. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-start-alignment-that-linebreaks.js +52 -61
  280. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-start-alignment-that-linebreaks.js.map +1 -1
  281. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-start-alignment.d.ts.map +1 -1
  282. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-start-alignment.js +37 -46
  283. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-start-alignment.js.map +1 -1
  284. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun.d.ts.map +1 -1
  285. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun.js +37 -26
  286. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun.js.map +1 -1
  287. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/table-of-content-separator.d.ts.map +1 -1
  288. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/table-of-content-separator.js +52 -61
  289. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/table-of-content-separator.js.map +1 -1
  290. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/world.d.ts.map +1 -1
  291. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/world.js +37 -26
  292. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/world.js.map +1 -1
  293. package/lib/abstract-document-exporters/docx2/render.js +4 -4
  294. package/lib/abstract-document-exporters/docx2/render.js.map +1 -1
  295. package/lib/abstract-document-exporters/pdf/measure.d.ts.map +1 -1
  296. package/lib/abstract-document-exporters/pdf/measure.js +31 -2
  297. package/lib/abstract-document-exporters/pdf/measure.js.map +1 -1
  298. package/package.json +3 -3
  299. package/src/abstract-document/__tests__/hello-world-abstract-doc.ts +245 -245
  300. package/src/abstract-document/__tests__/markdown/export-test-def.ts +10 -10
  301. package/src/abstract-document/__tests__/markdown/export.test.tsx +15 -15
  302. package/src/abstract-document/__tests__/markdown/test-defs/markdown-bold-italic.tsx +31 -31
  303. package/src/abstract-document/__tests__/markdown/test-defs/markdown-bold.tsx +31 -31
  304. package/src/abstract-document/__tests__/markdown/test-defs/markdown-empty-keepTogether.tsx +54 -54
  305. package/src/abstract-document/__tests__/markdown/test-defs/markdown-header.tsx +38 -38
  306. package/src/abstract-document/__tests__/markdown/test-defs/markdown-italic.tsx +31 -31
  307. package/src/abstract-document/__tests__/markdown/test-defs/markdown-keepTogether.tsx +61 -61
  308. package/src/abstract-document/__tests__/markdown/test-defs/markdown-subscript.tsx +45 -45
  309. package/src/abstract-document/__tests__/markdown/test-defs/markdown-superscript.tsx +38 -38
  310. package/src/abstract-document/__tests__/model-builder._test.ts +48 -48
  311. package/src/abstract-document/abstract-doc.ts +19 -19
  312. package/src/abstract-document/atoms/atom.ts +14 -14
  313. package/src/abstract-document/atoms/hyper-link.ts +27 -27
  314. package/src/abstract-document/atoms/image.ts +21 -21
  315. package/src/abstract-document/atoms/link-target.ts +15 -15
  316. package/src/abstract-document/atoms/text-field.ts +36 -36
  317. package/src/abstract-document/atoms/text-run.ts +25 -25
  318. package/src/abstract-document/atoms/toc-separator.ts +18 -18
  319. package/src/abstract-document/default-styles.ts +145 -145
  320. package/src/abstract-document/index.ts +89 -89
  321. package/src/abstract-document/markdown/markdown.ts +142 -142
  322. package/src/abstract-document/markdown/types.ts +78 -78
  323. package/src/abstract-document/numberings/numbering-definition.ts +17 -17
  324. package/src/abstract-document/numberings/numbering-format.ts +7 -7
  325. package/src/abstract-document/numberings/numbering-level-definition.ts +42 -42
  326. package/src/abstract-document/numberings/numbering.ts +3 -3
  327. package/src/abstract-document/page/master-page.ts +23 -23
  328. package/src/abstract-document/page/section.ts +27 -27
  329. package/src/abstract-document/primitives/font.ts +37 -37
  330. package/src/abstract-document/primitives/image-resource.ts +27 -27
  331. package/src/abstract-document/primitives/layout-foundation-color.ts +37 -37
  332. package/src/abstract-document/primitives/layout-foundation.ts +37 -37
  333. package/src/abstract-document/primitives/length.ts +11 -11
  334. package/src/abstract-document/primitives/point.ts +11 -11
  335. package/src/abstract-document/primitives/rect.ts +15 -15
  336. package/src/abstract-document/primitives/size.ts +13 -13
  337. package/src/abstract-document/resources.ts +101 -101
  338. package/src/abstract-document/section-elements/group.ts +28 -28
  339. package/src/abstract-document/section-elements/page-break.ts +14 -14
  340. package/src/abstract-document/section-elements/paragraph-numbering.ts +6 -6
  341. package/src/abstract-document/section-elements/paragraph.ts +32 -32
  342. package/src/abstract-document/section-elements/section-element.ts +17 -17
  343. package/src/abstract-document/section-elements/table.ts +34 -34
  344. package/src/abstract-document/styles/group-style.ts +30 -30
  345. package/src/abstract-document/styles/page-style.ts +76 -76
  346. package/src/abstract-document/styles/paragraph-style.ts +49 -49
  347. package/src/abstract-document/styles/position.ts +8 -8
  348. package/src/abstract-document/styles/style-key.ts +5 -5
  349. package/src/abstract-document/styles/style.ts +44 -44
  350. package/src/abstract-document/styles/table-cell-style.ts +59 -59
  351. package/src/abstract-document/styles/table-style.ts +46 -46
  352. package/src/abstract-document/styles/text-style.ts +77 -77
  353. package/src/abstract-document/table/table-cell.ts +31 -31
  354. package/src/abstract-document/table/table-row.ts +14 -14
  355. package/src/abstract-document/types.ts +3 -3
  356. package/src/abstract-document-exporters/__tests__/docx2/export-test-def.ts +10 -10
  357. package/src/abstract-document-exporters/__tests__/docx2/export.test.tsx +67 -67
  358. package/src/abstract-document-exporters/__tests__/docx2/test-defs/group.tsx +267 -267
  359. package/src/abstract-document-exporters/__tests__/docx2/test-defs/header-and-footer.tsx +110 -110
  360. package/src/abstract-document-exporters/__tests__/docx2/test-defs/hello-arial-font.tsx +71 -0
  361. package/src/abstract-document-exporters/__tests__/docx2/test-defs/hello.tsx +70 -70
  362. package/src/abstract-document-exporters/__tests__/docx2/test-defs/letter-dimensions.tsx +74 -74
  363. package/src/abstract-document-exporters/__tests__/docx2/test-defs/mixed-hyperlink-and-textrun.tsx +137 -137
  364. package/src/abstract-document-exporters/__tests__/docx2/test-defs/mixed-textrun-and-images.tsx +217 -217
  365. package/src/abstract-document-exporters/__tests__/docx2/test-defs/multiple-images.tsx +187 -187
  366. package/src/abstract-document-exporters/__tests__/docx2/test-defs/multiple-tables.tsx +553 -553
  367. package/src/abstract-document-exporters/__tests__/docx2/test-defs/multiple-textrun-with-center-alignment.tsx +119 -119
  368. package/src/abstract-document-exporters/__tests__/docx2/test-defs/multiple-textrun-with-end-alignment.tsx +119 -119
  369. package/src/abstract-document-exporters/__tests__/docx2/test-defs/multiple-textrun-with-start-alignment-that-linebreaks.tsx +121 -121
  370. package/src/abstract-document-exporters/__tests__/docx2/test-defs/multiple-textrun-with-start-alignment.tsx +118 -118
  371. package/src/abstract-document-exporters/__tests__/docx2/test-defs/page-numbering.tsx +123 -123
  372. package/src/abstract-document-exporters/__tests__/docx2/test-defs/page-orientation-landscape.tsx +76 -76
  373. package/src/abstract-document-exporters/__tests__/docx2/test-defs/page-orientation-portrait.tsx +76 -76
  374. package/src/abstract-document-exporters/__tests__/docx2/test-defs/simple-table-colSpan-and-rowSpan.tsx +587 -587
  375. package/src/abstract-document-exporters/__tests__/docx2/test-defs/simple-table-without-rows.tsx +45 -45
  376. package/src/abstract-document-exporters/__tests__/docx2/test-defs/simple-table.tsx +210 -210
  377. package/src/abstract-document-exporters/__tests__/docx2/test-defs/single-hyperlink.tsx +89 -89
  378. package/src/abstract-document-exporters/__tests__/docx2/test-defs/single-image.tsx +142 -142
  379. package/src/abstract-document-exporters/__tests__/docx2/test-defs/single-textrun-with-center-alignment-that-linebreaks.tsx +88 -88
  380. package/src/abstract-document-exporters/__tests__/docx2/test-defs/single-textrun-with-center-alignment.tsx +88 -88
  381. package/src/abstract-document-exporters/__tests__/docx2/test-defs/single-textrun-with-end-alignment-that-linebreaks.tsx +88 -88
  382. package/src/abstract-document-exporters/__tests__/docx2/test-defs/single-textrun-with-end-alignment.tsx +88 -88
  383. package/src/abstract-document-exporters/__tests__/docx2/test-defs/single-textrun-with-start-alignment-that-linebreaks.tsx +88 -88
  384. package/src/abstract-document-exporters/__tests__/docx2/test-defs/single-textrun-with-start-alignment.tsx +88 -88
  385. package/src/abstract-document-exporters/__tests__/docx2/test-defs/single-textrun.tsx +87 -87
  386. package/src/abstract-document-exporters/__tests__/docx2/test-defs/toc-separator.tsx +67 -67
  387. package/src/abstract-document-exporters/__tests__/docx2/test-defs/world.tsx +70 -70
  388. package/src/abstract-document-exporters/__tests__/docx2/tmp/Group.docx +0 -0
  389. package/src/abstract-document-exporters/__tests__/docx2/tmp/Header and footer.docx and b/package/src/abstract-document-exporters/__tests__/docx2/tmp/Header → footer.docx +0 -0
  390. package/src/abstract-document-exporters/__tests__/docx2/tmp/Mixed hyperlink and textrun.docx and b/package/src/abstract-document-exporters/__tests__/docx2/tmp/Mixed hyperlink → textrun.docx +0 -0
  391. package/src/abstract-document-exporters/__tests__/docx2/tmp/Mixed textrun and images.docx and b/package/src/abstract-document-exporters/__tests__/docx2/tmp/Mixed textrun → images.docx +0 -0
  392. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple images.docx +0 -0
  393. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple tables.docx +0 -0
  394. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with Center alignment.docx +0 -0
  395. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with End alignment.docx +0 -0
  396. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with Start alignment that linebreaks.docx +0 -0
  397. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with Start alignment.docx +0 -0
  398. package/src/abstract-document-exporters/__tests__/docx2/tmp/Page numbering.docx +0 -0
  399. package/src/abstract-document-exporters/__tests__/docx2/tmp/Simple table colSpan and rowSpan.docx and b/package/src/abstract-document-exporters/__tests__/docx2/tmp/Simple table colSpan → rowSpan.docx +0 -0
  400. package/src/abstract-document-exporters/__tests__/docx2/tmp/Simple table without rows.docx +0 -0
  401. package/src/abstract-document-exporters/__tests__/docx2/tmp/Simple table.docx +0 -0
  402. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single hyperlink.docx +0 -0
  403. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single image.docx +0 -0
  404. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Center alignment that linebreaks.docx +0 -0
  405. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Center alignment.docx +0 -0
  406. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with End alignment that linebreaks.docx +0 -0
  407. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with End alignment.docx +0 -0
  408. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Start alignment that linebreaks.docx +0 -0
  409. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Start alignment.docx +0 -0
  410. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun.docx +0 -0
  411. package/src/abstract-document-exporters/__tests__/docx2/tmp/Table of content separator.docx +0 -0
  412. package/src/abstract-document-exporters/__tests__/docx2/tmp/hello with Arial font.docx +0 -0
  413. package/src/abstract-document-exporters/__tests__/docx2/tmp/hello.docx +0 -0
  414. package/src/abstract-document-exporters/__tests__/docx2/tmp/letter-dimensions.docx +0 -0
  415. package/src/abstract-document-exporters/__tests__/docx2/tmp/page-orientation-landscape.docx +0 -0
  416. package/src/abstract-document-exporters/__tests__/docx2/tmp/page-orientation-portrait.docx +0 -0
  417. package/src/abstract-document-exporters/__tests__/docx2/tmp/tocSeparator.docx +0 -0
  418. package/src/abstract-document-exporters/__tests__/docx2/tmp/world.docx +0 -0
  419. package/src/abstract-document-exporters/__tests__/pdf/export-test-def.ts +10 -10
  420. package/src/abstract-document-exporters/__tests__/pdf/export.test.tsx +46 -46
  421. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-group.tsx +82 -77
  422. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-header-and-footer.tsx +196 -205
  423. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-paragraph.tsx +56 -51
  424. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-group.tsx +87 -96
  425. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-table.tsx +140 -145
  426. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-table.tsx +112 -117
  427. package/src/abstract-document-exporters/__tests__/pdf/test-defs/date.tsx +57 -66
  428. package/src/abstract-document-exporters/__tests__/pdf/test-defs/group-no-keep-together.tsx +1271 -1287
  429. package/src/abstract-document-exporters/__tests__/pdf/test-defs/group-paragraphs.tsx +1275 -1291
  430. package/src/abstract-document-exporters/__tests__/pdf/test-defs/group-tables.tsx +1298 -1314
  431. package/src/abstract-document-exporters/__tests__/pdf/test-defs/group-too-big-for-one-page.tsx +272 -272
  432. package/src/abstract-document-exporters/__tests__/pdf/test-defs/header-and-footer.tsx +153 -162
  433. package/src/abstract-document-exporters/__tests__/pdf/test-defs/hello-with-different-font.tsx +54 -0
  434. package/src/abstract-document-exporters/__tests__/pdf/test-defs/hello.tsx +50 -45
  435. package/src/abstract-document-exporters/__tests__/pdf/test-defs/hyperlink-intenal-link-target.tsx +787 -831
  436. package/src/abstract-document-exporters/__tests__/pdf/test-defs/hyperlink-internal.tsx +767 -811
  437. package/src/abstract-document-exporters/__tests__/pdf/test-defs/margins-header-body-footer.tsx +992 -1008
  438. package/src/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-no-underline.tsx +105 -114
  439. package/src/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun-with-underline.tsx +105 -114
  440. package/src/abstract-document-exporters/__tests__/pdf/test-defs/mixed-hyperlink-and-textrun.tsx +104 -113
  441. package/src/abstract-document-exporters/__tests__/pdf/test-defs/mixed-textrun-and-images.tsx +100 -109
  442. package/src/abstract-document-exporters/__tests__/pdf/test-defs/multiple-images-overflow.tsx +71 -80
  443. package/src/abstract-document-exporters/__tests__/pdf/test-defs/multiple-images.tsx +67 -76
  444. package/src/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-center-alignment.tsx +89 -98
  445. package/src/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-end-alignment.tsx +89 -98
  446. package/src/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-start-alignment-that-linebreaks.tsx +107 -116
  447. package/src/abstract-document-exporters/__tests__/pdf/test-defs/multiple-textrun-with-start-alignment.tsx +89 -98
  448. package/src/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-row-that-doesnt-fit-page.tsx +321 -317
  449. package/src/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-single-row.tsx +223 -227
  450. package/src/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-group.tsx +520 -500
  451. package/src/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-header.tsx +1562 -1555
  452. package/src/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-header2.tsx +872 -824
  453. package/src/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-margin-bottom.tsx +471 -455
  454. package/src/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-margin-top-single-table.tsx +362 -354
  455. package/src/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-margin-top.tsx +471 -455
  456. package/src/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-rowSpan-multipages.tsx +1574 -1567
  457. package/src/abstract-document-exporters/__tests__/pdf/test-defs/page-break-table-with-rowSpan.tsx +573 -545
  458. package/src/abstract-document-exporters/__tests__/pdf/test-defs/page-numbering.tsx +88 -97
  459. package/src/abstract-document-exporters/__tests__/pdf/test-defs/pagebreak.tsx +86 -102
  460. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-all-auto-cell-widths.tsx +110 -119
  461. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-all-fixed-cell-widths.tsx +110 -119
  462. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-background.tsx +83 -182
  463. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-cell-padding-image.tsx +212 -205
  464. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-cell-padding-text.tsx +353 -338
  465. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-center-alignment.tsx +109 -114
  466. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-colSpan-and-rowSpan.tsx +448 -425
  467. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-minimal-row-height.tsx +616 -0
  468. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-mix-auto-fix-cell-widths.tsx +110 -119
  469. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-padding.tsx +110 -115
  470. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-right-alignment.tsx +110 -115
  471. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-row-alignment.tsx +304 -297
  472. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-text-alignment-in-cell-wrapping.tsx +498 -491
  473. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-text-alignment-in-cell.tsx +255 -248
  474. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-default-colored-borders.tsx +227 -223
  475. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-header.tsx +509 -482
  476. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-multi-colored-borders.tsx +228 -236
  477. package/src/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-with-single-colored-borders.tsx +228 -236
  478. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-figure.tsx +318 -323
  479. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-center.tsx +57 -66
  480. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-no-underline.tsx +61 -70
  481. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-right-aligned.tsx +57 -66
  482. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink-with-underline.tsx +61 -70
  483. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-hyperlink.tsx +56 -65
  484. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-color-hex.tsx +268 -277
  485. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-color-name.tsx +268 -277
  486. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-color-url.tsx +92 -102
  487. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-image-svg-dasharray.tsx +82 -90
  488. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-image-url.tsx +66 -75
  489. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-image.tsx +66 -75
  490. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-alphabetic.tsx +51 -46
  491. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-bottom.tsx +51 -46
  492. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-hanging.tsx +51 -46
  493. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-middle.tsx +51 -46
  494. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-baseline-top.tsx +51 -46
  495. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-super-subscript.tsx +89 -98
  496. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-center-alignment-that-linebreaks.tsx +72 -81
  497. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-center-alignment.tsx +57 -66
  498. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-end-alignment-that-linebreaks.tsx +72 -81
  499. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-end-alignment.tsx +57 -66
  500. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-justify-alignment.tsx +57 -66
  501. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-start-alignment-that-linebreaks.tsx +72 -81
  502. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun-with-start-alignment.tsx +57 -66
  503. package/src/abstract-document-exporters/__tests__/pdf/test-defs/single-textrun.tsx +56 -45
  504. package/src/abstract-document-exporters/__tests__/pdf/test-defs/table-of-content-separator.tsx +72 -81
  505. package/src/abstract-document-exporters/__tests__/pdf/test-defs/world.tsx +56 -45
  506. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position group.pdf +2 -2
  507. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position header and footer.pdf +2 -2
  508. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position paragraph.pdf +2 -2
  509. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position section in group.pdf +2 -2
  510. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position section in table.pdf +2 -2
  511. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position table.pdf +2 -2
  512. package/src/abstract-document-exporters/__tests__/pdf/tmp/Empty Paragraph.pdf +91 -0
  513. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group Paragraphs.pdf +2 -2
  514. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group Tables.pdf +2 -2
  515. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group no keeptogether.pdf +2 -2
  516. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group too big for one page.pdf +2 -2
  517. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group.pdf +2 -2
  518. package/src/abstract-document-exporters/__tests__/pdf/tmp/Header and footer.pdf +2 -2
  519. package/src/abstract-document-exporters/__tests__/pdf/tmp/Hyperlink internal linktarget.pdf +2 -2
  520. package/src/abstract-document-exporters/__tests__/pdf/tmp/Hyperlink internal.pdf +2 -2
  521. package/src/abstract-document-exporters/__tests__/pdf/tmp/Margins header body footer.pdf +2 -2
  522. package/src/abstract-document-exporters/__tests__/pdf/tmp/Mixed hyperlink and textrun no underline.pdf +2 -2
  523. package/src/abstract-document-exporters/__tests__/pdf/tmp/Mixed hyperlink and textrun with underline.pdf +2 -2
  524. package/src/abstract-document-exporters/__tests__/pdf/tmp/Mixed hyperlink and textrun.pdf +2 -2
  525. package/src/abstract-document-exporters/__tests__/pdf/tmp/Mixed textrun and images.pdf and b/package/src/abstract-document-exporters/__tests__/pdf/tmp/Mixed textrun → images.pdf +0 -0
  526. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple images overflow.pdf +0 -0
  527. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple images.pdf +0 -0
  528. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with Center alignment.pdf +2 -2
  529. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with End alignment.pdf +2 -2
  530. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with Start alignment that linebreaks.pdf +2 -2
  531. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with Start alignment.pdf +2 -2
  532. package/src/abstract-document-exporters/__tests__/pdf/tmp/Named destination.pdf +1761 -0
  533. package/src/abstract-document-exporters/__tests__/pdf/tmp/Page numbering.pdf +2 -2
  534. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table row that doesnt fit page.pdf +2 -2
  535. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table single row.pdf +2 -2
  536. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with group.pdf +2 -2
  537. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with header 2.pdf +2 -2
  538. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with header.pdf +2 -2
  539. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with margin bottom.pdf +2 -2
  540. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with margin top single table.pdf +2 -2
  541. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with margin top.pdf +2 -2
  542. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with margin.pdf +404 -0
  543. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with rowSpan multipages.pdf +2 -2
  544. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with rowSpan.pdf +2 -2
  545. package/src/abstract-document-exporters/__tests__/pdf/tmp/{Simple table auto.pdf → Paragraph numbering.pdf } +28 -18
  546. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table all auto.pdf +2 -2
  547. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table all fix.pdf +2 -2
  548. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table background.pdf +2 -2
  549. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table cell padding of image.pdf +0 -0
  550. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table cell padding of text.pdf +2 -2
  551. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table center alignment.pdf +2 -2
  552. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table colSpan and rowSpan.pdf +2 -2
  553. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table minimal row height.pdf +463 -0
  554. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table mix auto fix.pdf +2 -2
  555. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table padding.pdf +2 -2
  556. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table right alignment.pdf +2 -2
  557. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table row alignment.pdf +2 -2
  558. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table text alignment in cell with wrapping.pdf +2 -2
  559. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table text alignment in cell.pdf +2 -2
  560. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with default colored borders.pdf +2 -2
  561. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with header.pdf +2 -2
  562. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with multi colored borders.pdf +2 -2
  563. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with single colored borders.pdf +2 -2
  564. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table.pdf +2 -2
  565. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single date.pdf +14 -14
  566. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single figure.pdf +2 -2
  567. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single hyperlink centered.pdf +2 -2
  568. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single hyperlink no underline.pdf +2 -2
  569. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single hyperlink right aligned.pdf +2 -2
  570. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single hyperlink.pdf +2 -2
  571. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image from URL.pdf +0 -0
  572. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image svg color hex.pdf +2 -2
  573. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image svg color name.pdf +2 -2
  574. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image svg color url.pdf +2 -2
  575. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image svg dasharray.pdf +2 -2
  576. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image.pdf +0 -0
  577. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun baseline alphabetic.pdf +2 -2
  578. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun baseline bottom.pdf +2 -2
  579. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun baseline hanging.pdf +2 -2
  580. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun baseline middle.pdf +2 -2
  581. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun baseline top.pdf +2 -2
  582. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Center alignment that linebreaks.pdf +2 -2
  583. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Center alignment.pdf +2 -2
  584. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with End alignment that linebreaks.pdf +2 -2
  585. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with End alignment.pdf +2 -2
  586. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Justify alignment.pdf +2 -2
  587. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Start alignment that linebreaks.pdf +2 -2
  588. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Start alignment.pdf +2 -2
  589. package/src/abstract-document-exporters/__tests__/pdf/tmp/{Simple table one auto.pdf → Single textrun with default alignment.pdf } +14 -34
  590. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with super and subscripts.pdf +2 -2
  591. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun.pdf +2 -2
  592. package/src/abstract-document-exporters/__tests__/pdf/tmp/Table of content separator.pdf +2 -2
  593. package/src/abstract-document-exporters/__tests__/pdf/tmp/hello with roman font.pdf +113 -0
  594. package/src/abstract-document-exporters/__tests__/pdf/tmp/hello.pdf +2 -2
  595. package/src/abstract-document-exporters/__tests__/pdf/tmp/{Simple table padding1.pdf → pagebreak.pdf} +15 -35
  596. package/src/abstract-document-exporters/__tests__/pdf/tmp/world.pdf +2 -2
  597. package/src/abstract-document-exporters/docx/document-container.ts +18 -18
  598. package/src/abstract-document-exporters/docx/docx-constants.ts +46 -46
  599. package/src/abstract-document-exporters/docx/docx-document-renderer.ts +1084 -1084
  600. package/src/abstract-document-exporters/docx/ref-container.ts +53 -53
  601. package/src/abstract-document-exporters/docx/string-utils.ts +39 -39
  602. package/src/abstract-document-exporters/docx/xml-writer.ts +333 -333
  603. package/src/abstract-document-exporters/docx2/render-image.ts +159 -159
  604. package/src/abstract-document-exporters/docx2/render.ts +516 -516
  605. package/src/abstract-document-exporters/index.ts +5 -5
  606. package/src/abstract-document-exporters/pdf/font.ts +76 -76
  607. package/src/abstract-document-exporters/pdf/measure.ts +446 -418
  608. package/src/abstract-document-exporters/pdf/paginate.ts +434 -434
  609. package/src/abstract-document-exporters/pdf/pre-process.ts +389 -389
  610. package/src/abstract-document-exporters/pdf/render-image.ts +221 -221
  611. package/src/abstract-document-exporters/pdf/render.ts +847 -847
  612. package/src/abstract-document-exporters/pdf/update-refs.ts +163 -163
  613. package/src/abstract-document-exporters/shared/get_resources.ts +71 -71
  614. package/src/abstract-document-jsx/index.ts +86 -86
  615. package/src/custom_typings/@textlint/markdown-to-ast/index.d.ts +1 -1
  616. package/src/custom_typings/json-diff/index.d.ts +1 -1
  617. package/src/custom_typings/markdown-parser/index.d.ts +1 -1
  618. package/src/custom_typings/pdf2json/index.d.ts +1 -1
  619. package/src/custom_typings/remark-parse/index.d.ts +1 -1
  620. package/src/custom_typings/remark-sub-super/index.d.ts +1 -1
  621. package/src/custom_typings/svg-to-pdfkit/index.d.ts +1 -1
  622. package/src/custom_typings/unified/index.d.ts +1 -1
  623. package/src/index.ts +5 -5
  624. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/single-image-png.d.ts.map +0 -1
  625. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/single-image-png.js +0 -149
  626. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/single-image-png.js.map +0 -1
  627. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/single-image-svg.d.ts.map +0 -1
  628. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/single-image-svg.js +0 -149
  629. package/lib/abstract-document-exporters/__tests__/docx2/test-defs/single-image-svg.js.map +0 -1
  630. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group.d.ts.map +0 -1
  631. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group.js +0 -83
  632. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group.js.map +0 -1
  633. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-auto-cell-widths.d.ts +0 -3
  634. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-auto-cell-widths.d.ts.map +0 -1
  635. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-auto-cell-widths.js +0 -105
  636. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-auto-cell-widths.js.map +0 -1
  637. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-fixed-cell-widths.d.ts +0 -3
  638. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-fixed-cell-widths.d.ts.map +0 -1
  639. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-fixed-cell-widths.js +0 -104
  640. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table-fixed-cell-widths.js.map +0 -1
  641. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table.d.ts +0 -3
  642. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table.d.ts.map +0 -1
  643. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table.js +0 -104
  644. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/simple-table.js.map +0 -1
  645. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single image svg.docx +0 -0
  646. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group Paratraphs.pdf +0 -912
  647. package/src/abstract-document-exporters/__tests__/pdf/tmp/Margins header body footer1.pdf +0 -640
  648. package/src/abstract-document-exporters/__tests__/pdf/tmp/Margins header body footer2.pdf +0 -609
  649. package/src/abstract-document-exporters/__tests__/pdf/tmp/Margins header body footer3.pdf +0 -1188
  650. package/src/abstract-document-exporters/__tests__/pdf/tmp/Margins header body footer4.pdf +0 -1188
  651. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image svg color.pdf +0 -179
@@ -1,516 +1,516 @@
1
- import * as AD from "../../abstract-document";
2
- import * as DOCXJS from "docx";
3
- import { renderImage } from "./render-image";
4
- import { Readable } from "stream";
5
-
6
- const abstractDocToDocxFontRatio = 2;
7
- const abstractDocPixelToDocxDXARatio = 20;
8
-
9
- export function exportToHTML5Blob(doc: AD.AbstractDoc.AbstractDoc): Promise<Blob> {
10
- return new Promise((resolve) => {
11
- const docx = createDocument(doc);
12
- DOCXJS.Packer.toBlob(docx).then((blob) => {
13
- resolve(blob);
14
- });
15
- });
16
- }
17
-
18
- export function exportToStream(blobStream: NodeJS.WritableStream, doc: AD.AbstractDoc.AbstractDoc): void {
19
- const docx = createDocument(doc);
20
-
21
- DOCXJS.Packer.toBuffer(docx).then((buffer) => {
22
- const readableStream = new Readable();
23
- readableStream.push(buffer);
24
- readableStream.push(null);
25
- readableStream.pipe(blobStream);
26
- });
27
- }
28
-
29
- /**
30
- * On the client side the stream can be a BlobStream from the blob-stream package.
31
- * On the server-side the stream can be a file stream from the fs package.
32
- * @param blobStream
33
- * @param doc
34
- */
35
-
36
- function createDocument(doc: AD.AbstractDoc.AbstractDoc): DOCXJS.Document {
37
- const docx = new DOCXJS.Document({
38
- sections: doc.children.map((s) => renderSection(s, doc)),
39
- });
40
- return docx;
41
- }
42
-
43
- function renderSection(section: AD.Section.Section, parentResources: AD.Resources.Resources): DOCXJS.ISectionOptions {
44
- const pageWidth = AD.PageStyle.getWidth(section.page.style);
45
- const pageHeight = AD.PageStyle.getHeight(section.page.style);
46
-
47
- const contentAvailableWidth =
48
- pageWidth - (section.page.style.contentMargins.left + section.page.style.contentMargins.right);
49
-
50
- const resources = AD.Resources.mergeResources([parentResources, section]);
51
-
52
- const headerChildren = section.page.header.reduce((sofar, c) => {
53
- sofar.push(...renderSectionElement(c, resources, contentAvailableWidth));
54
- return sofar;
55
- }, [] as Array<DOCXJS.Paragraph | DOCXJS.Table>);
56
-
57
- const footerChildren = [
58
- ...section.page.footer.reduce((sofar, c) => {
59
- sofar.push(...renderSectionElement(c, resources, contentAvailableWidth));
60
- return sofar;
61
- }, [] as Array<DOCXJS.Paragraph | DOCXJS.Table>),
62
- ];
63
-
64
- const contentChildren = [
65
- new DOCXJS.Paragraph({
66
- spacing: { before: 0, after: 0, line: 1 },
67
- children: [
68
- new DOCXJS.Bookmark({
69
- id: section.id,
70
- children: [],
71
- }),
72
- ],
73
- }),
74
- ...section.children.reduce((sofar, c) => {
75
- sofar.push(...renderSectionElement(c, resources, contentAvailableWidth));
76
- return sofar;
77
- }, [] as Array<DOCXJS.Paragraph | DOCXJS.Table>),
78
- ];
79
-
80
- return {
81
- properties: {
82
- page: {
83
- size: {
84
- //DOC JS does the orientation after the width and height are set
85
- width: AD.PageStyle.getPaperWidth(section.page.style.paperSize) * abstractDocPixelToDocxDXARatio,
86
- height: AD.PageStyle.getPaperHeight(section.page.style.paperSize) * abstractDocPixelToDocxDXARatio,
87
- orientation:
88
- section.page.style.orientation === "Landscape"
89
- ? DOCXJS.PageOrientation.LANDSCAPE
90
- : DOCXJS.PageOrientation.PORTRAIT,
91
- },
92
- margin: {
93
- bottom: section.page.style.contentMargins.bottom * abstractDocPixelToDocxDXARatio,
94
- top: section.page.style.contentMargins.top * abstractDocPixelToDocxDXARatio,
95
- right: section.page.style.contentMargins.right * abstractDocPixelToDocxDXARatio,
96
- left: section.page.style.contentMargins.left * abstractDocPixelToDocxDXARatio,
97
- header: section.page.style.headerMargins.top * abstractDocPixelToDocxDXARatio,
98
- footer: section.page.style.footerMargins.bottom * abstractDocPixelToDocxDXARatio,
99
- },
100
- },
101
- },
102
- headers: {
103
- default: new DOCXJS.Header({
104
- children: headerChildren,
105
- }),
106
- },
107
- footers: {
108
- default: new DOCXJS.Footer({
109
- children: footerChildren,
110
- }),
111
- },
112
- children: contentChildren,
113
- };
114
- }
115
-
116
- function renderHyperLink(
117
- hyperLink: AD.HyperLink.HyperLink,
118
- style: AD.TextStyle.TextStyle
119
- ): DOCXJS.InternalHyperlink | DOCXJS.ExternalHyperlink {
120
- const fontSize = AD.TextStyle.calculateFontSize(style, 10) * 2;
121
- const textRun = new DOCXJS.TextRun({
122
- text: hyperLink.text,
123
- font: "Arial",
124
- size: fontSize,
125
- color: style.color || "blue",
126
- bold: style.bold,
127
- underline: style.underline
128
- ? {
129
- color: style.color || "blue",
130
- type: DOCXJS.UnderlineType.SINGLE,
131
- }
132
- : undefined,
133
- });
134
-
135
- if (hyperLink.target.startsWith("#") && !hyperLink.target.startsWith("#page=")) {
136
- return new DOCXJS.InternalHyperlink({
137
- anchor: hyperLink.target,
138
- child: textRun,
139
- });
140
- } else {
141
- return new DOCXJS.ExternalHyperlink({
142
- link: hyperLink.target,
143
- child: textRun,
144
- });
145
- }
146
- }
147
-
148
- function renderSectionElement(
149
- element: AD.SectionElement.SectionElement,
150
- parentResources: AD.Resources.Resources,
151
- contentAvailableWidth: number,
152
- keepNext: boolean = false
153
- ): ReadonlyArray<DOCXJS.Paragraph | DOCXJS.Table> /*| DOCXJS.TableOfContents | DOCXJS.HyperlinkRef */ {
154
- const resources = AD.Resources.mergeResources([parentResources, element]);
155
- switch (element.type) {
156
- case "Paragraph":
157
- return [renderParagraph(element, resources, keepNext)];
158
- case "Group":
159
- return [...renderGroup(element, parentResources, contentAvailableWidth)];
160
- case "Table":
161
- const table = renderTable(element, resources, contentAvailableWidth, keepNext);
162
- return table
163
- ? [
164
- table,
165
- new DOCXJS.Paragraph({ keepNext: keepNext, children: [new DOCXJS.TextRun({ text: ".", size: 0.000001 })] }),
166
- ]
167
- : [];
168
- case "PageBreak":
169
- return [
170
- new DOCXJS.Paragraph({
171
- pageBreakBefore: true,
172
- }),
173
- ];
174
- default:
175
- return [new DOCXJS.Paragraph({})];
176
- }
177
- }
178
-
179
- function renderTable(
180
- table: AD.Table.Table,
181
- resources: AD.Resources.Resources,
182
- contentAvailableWidth: number,
183
- keepNext: boolean
184
- ): DOCXJS.Table | undefined {
185
- const style = AD.Resources.getStyle(
186
- undefined,
187
- table.style,
188
- "TableStyle",
189
- table.styleName,
190
- resources
191
- ) as AD.TableStyle.TableStyle;
192
-
193
- if (table.children.length === 0) {
194
- return undefined;
195
- }
196
-
197
- const tableWidthWithoutInfinity = table.columnWidths.reduce(
198
- (sofar, c) => (Number.isFinite(c) ? sofar + c : sofar),
199
- 0
200
- );
201
- const amountOfInfinity = table.columnWidths.reduce((sofar, c) => (!Number.isFinite(c) ? sofar + 1 : sofar), 0);
202
- const infinityCellWidth = (contentAvailableWidth - tableWidthWithoutInfinity) / amountOfInfinity;
203
- const columnWidths = table.columnWidths.map((w) =>
204
- Number.isFinite(w) ? w * abstractDocPixelToDocxDXARatio : infinityCellWidth * abstractDocPixelToDocxDXARatio
205
- );
206
-
207
- return new DOCXJS.Table({
208
- alignment:
209
- style.alignment === "Left"
210
- ? DOCXJS.AlignmentType.LEFT
211
- : style.alignment === "Right"
212
- ? DOCXJS.AlignmentType.RIGHT
213
- : DOCXJS.AlignmentType.CENTER,
214
- margins: {
215
- top: style.margins.top * abstractDocPixelToDocxDXARatio,
216
- bottom: style.margins.bottom * abstractDocPixelToDocxDXARatio,
217
- left: style.margins.left * abstractDocPixelToDocxDXARatio,
218
- right: style.margins.right * abstractDocPixelToDocxDXARatio,
219
- },
220
- width: {
221
- type: DOCXJS.WidthType.DXA,
222
- size: columnWidths.reduce((a, b) => a + b),
223
- },
224
- borders: {
225
- top: {
226
- color: style.cellStyle.borderColor ?? "",
227
- size: 0,
228
- style: DOCXJS.BorderStyle.NONE,
229
- },
230
- right: {
231
- color: style.cellStyle.borderColor ?? "",
232
- size: 0,
233
- style: DOCXJS.BorderStyle.NONE,
234
- },
235
- bottom: {
236
- color: style.cellStyle.borderColor ?? "",
237
- size: 0,
238
- style: DOCXJS.BorderStyle.NONE,
239
- },
240
- left: {
241
- color: style.cellStyle.borderColor ?? "",
242
- size: 0,
243
- style: DOCXJS.BorderStyle.NONE,
244
- },
245
- insideHorizontal: {
246
- color: style.cellStyle.borderColor ?? "",
247
- size: 0,
248
- style: DOCXJS.BorderStyle.NONE,
249
- },
250
- insideVertical: {
251
- color: style.cellStyle.borderColor ?? "",
252
- size: 0,
253
- style: DOCXJS.BorderStyle.NONE,
254
- },
255
- },
256
- rows: table.children.map((c) => renderRow(c, resources, style.cellStyle, columnWidths, keepNext)),
257
- });
258
- }
259
-
260
- function renderRow(
261
- row: AD.TableRow.TableRow,
262
- resources: AD.Resources.Resources,
263
- tableCellStyle: AD.TableCellStyle.TableCellStyle,
264
- columnWidths: ReadonlyArray<number>,
265
- keepNext: boolean
266
- ): DOCXJS.TableRow {
267
- return new DOCXJS.TableRow({
268
- cantSplit: true,
269
- children: row.children.map((c, ix) => renderCell(c, resources, tableCellStyle, columnWidths[ix], keepNext)),
270
- });
271
- }
272
-
273
- function renderCell(
274
- cell: AD.TableCell.TableCell,
275
- resources: AD.Resources.Resources,
276
- tableCellStyle: AD.TableCellStyle.TableCellStyle,
277
- width: number,
278
- keepNext: boolean
279
- ): DOCXJS.TableCell {
280
- const style = AD.Resources.getStyle(
281
- tableCellStyle,
282
- cell.style,
283
- "TableCellStyle",
284
- cell.styleName,
285
- resources
286
- ) as AD.TableCellStyle.TableCellStyle;
287
-
288
- return new DOCXJS.TableCell({
289
- verticalAlign:
290
- (style.verticalAlignment && style.verticalAlignment === "Top"
291
- ? DOCXJS.VerticalAlign.TOP
292
- : style.verticalAlignment === "Bottom"
293
- ? DOCXJS.VerticalAlign.BOTTOM
294
- : DOCXJS.VerticalAlign.CENTER) || undefined,
295
- shading: {
296
- fill: style.background ? style.background : undefined,
297
- },
298
- columnSpan: cell.columnSpan,
299
- rowSpan: cell.rowSpan,
300
- width: {
301
- type: DOCXJS.WidthType.DXA,
302
- size: width,
303
- },
304
- margins: {
305
- top: Math.max(style.padding.top, 0) * abstractDocPixelToDocxDXARatio,
306
- bottom: Math.max(style.padding.bottom, 0) * abstractDocPixelToDocxDXARatio,
307
- left: Math.max(style.padding.left, 0) * abstractDocPixelToDocxDXARatio,
308
- right: Math.max(style.padding.right, 0) * abstractDocPixelToDocxDXARatio,
309
- },
310
- borders: {
311
- top: {
312
- color: style.borderColor ?? "",
313
- size: style.borders.top,
314
- style: style.borders.top ? DOCXJS.BorderStyle.SINGLE : DOCXJS.BorderStyle.NONE,
315
- },
316
- right: {
317
- color: style.borderColor ?? "",
318
- size: style.borders.right,
319
- style: style.borders.right ? DOCXJS.BorderStyle.SINGLE : DOCXJS.BorderStyle.NONE,
320
- },
321
- bottom: {
322
- color: style.borderColor ?? "",
323
- size: style.borders.bottom,
324
- style: style.borders.bottom ? DOCXJS.BorderStyle.SINGLE : DOCXJS.BorderStyle.NONE,
325
- },
326
- left: {
327
- color: style.borderColor ?? "",
328
- size: style.borders.left,
329
- style: style.borders.left ? DOCXJS.BorderStyle.SINGLE : DOCXJS.BorderStyle.NONE,
330
- },
331
- },
332
-
333
- children: cell.children.reduce((sofar, c) => {
334
- sofar.push(...renderSectionElement(c, resources, width, keepNext));
335
- return sofar;
336
- }, [] as Array<DOCXJS.Paragraph | DOCXJS.Table>),
337
- });
338
- }
339
-
340
- function renderAtom(
341
- resources: AD.Resources.Resources,
342
- textStyle: AD.TextStyle.TextStyle,
343
- atom: AD.Atom.Atom
344
- ):
345
- | DOCXJS.TextRun
346
- | DOCXJS.ImageRun
347
- | DOCXJS.SymbolRun
348
- | DOCXJS.Bookmark
349
- | DOCXJS.PageBreak
350
- | DOCXJS.SequentialIdentifier
351
- | DOCXJS.FootnoteReferenceRun
352
- | DOCXJS.InsertedTextRun
353
- | DOCXJS.DeletedTextRun
354
- | DOCXJS.InternalHyperlink
355
- | DOCXJS.ExternalHyperlink
356
- | DOCXJS.Math {
357
- switch (atom.type) {
358
- case "TextField":
359
- return renderTextField(resources, textStyle, atom);
360
- case "TextRun":
361
- return renderTextRun(resources, textStyle, atom);
362
- case "Image":
363
- return renderImage(atom, textStyle);
364
- case "HyperLink":
365
- return renderHyperLink(atom, textStyle);
366
- case "TocSeparator":
367
- return new DOCXJS.TextRun({ text: "..." });
368
- default:
369
- return new DOCXJS.TextRun({ text: "missed" }); // TODO
370
- }
371
- }
372
-
373
- function renderTextField(
374
- resources: AD.Resources.Resources,
375
- textStyle: AD.TextStyle.TextStyle,
376
- textField: AD.TextField.TextField
377
- ): DOCXJS.TextRun {
378
- const style = AD.Resources.getStyle(
379
- textStyle,
380
- textField.style,
381
- "TextStyle",
382
- textField.styleName,
383
- resources
384
- ) as AD.TextStyle.TextStyle;
385
- switch (textField.fieldType) {
386
- case "Date":
387
- return renderText(style, new Date(Date.now()).toDateString());
388
- case "PageNumber":
389
- return renderPageNumber(style);
390
- case "TotalPages":
391
- return renderTotalPages(style);
392
- default:
393
- return renderText(style, "");
394
- }
395
- }
396
-
397
- function renderTextRun(
398
- resources: AD.Resources.Resources,
399
- textStyle: AD.TextStyle.TextStyle,
400
- textRun: AD.TextRun.TextRun
401
- ): DOCXJS.TextRun {
402
- const style = AD.Resources.getNestedStyle(
403
- textStyle,
404
- textRun.style,
405
- "TextStyle",
406
- textRun.styleName,
407
- resources,
408
- textRun.nestedStyleNames || []
409
- ) as AD.TextStyle.TextStyle;
410
-
411
- return renderText(style, textRun.text);
412
- }
413
-
414
- function renderPageNumber(style: AD.TextStyle.TextStyle): DOCXJS.TextRun {
415
- const fontSize = AD.TextStyle.calculateFontSize(style, 10) * abstractDocToDocxFontRatio;
416
- return new DOCXJS.TextRun({
417
- font: "Arial",
418
- size: fontSize,
419
- color: style.color || "black",
420
- bold: style.bold,
421
- underline: style.underline
422
- ? {
423
- color: style.color,
424
- type: DOCXJS.UnderlineType.SINGLE,
425
- }
426
- : undefined,
427
- children: [DOCXJS.PageNumber.CURRENT],
428
- });
429
- }
430
-
431
- function renderTotalPages(style: AD.TextStyle.TextStyle): DOCXJS.TextRun {
432
- const fontSize = AD.TextStyle.calculateFontSize(style, 10) * abstractDocToDocxFontRatio;
433
- return new DOCXJS.TextRun({
434
- font: "Arial",
435
- size: fontSize,
436
- color: style.color || "black",
437
- bold: style.bold,
438
- underline: style.underline
439
- ? {
440
- color: style.color,
441
- type: DOCXJS.UnderlineType.SINGLE,
442
- }
443
- : undefined,
444
- children: [DOCXJS.PageNumber.TOTAL_PAGES],
445
- });
446
- }
447
-
448
- function renderText(style: AD.TextStyle.TextStyle, text: string): DOCXJS.TextRun {
449
- const fontSize = AD.TextStyle.calculateFontSize(style, 10) * abstractDocToDocxFontRatio;
450
-
451
- return new DOCXJS.TextRun({
452
- text: text,
453
- font: "Arial",
454
- size: fontSize,
455
- color: style.color || "black",
456
- bold: style.bold,
457
- underline: style.underline
458
- ? {
459
- color: style.color,
460
- type: DOCXJS.UnderlineType.SINGLE,
461
- }
462
- : undefined,
463
- });
464
- }
465
-
466
- function renderGroup(
467
- group: AD.Group.Group,
468
- resources: AD.Resources.Resources,
469
- availabelWidth: number
470
- ): Array<DOCXJS.Paragraph | DOCXJS.Table> {
471
- let sofar = Array<DOCXJS.Paragraph | DOCXJS.Table>();
472
- let keepNext = true;
473
- for (let index = 0; index < group.children.length; index++) {
474
- if (index == group.children.length - 1) {
475
- keepNext = false;
476
- }
477
- sofar.push(...renderSectionElement(group.children[index], resources, availabelWidth, keepNext));
478
- }
479
- return sofar;
480
- }
481
-
482
- function renderParagraph(
483
- paragraph: AD.Paragraph.Paragraph,
484
- resources: AD.Resources.Resources,
485
- keepNext: boolean
486
- ): DOCXJS.Paragraph {
487
- const style = AD.Resources.getStyle(
488
- undefined,
489
- paragraph.style,
490
- "ParagraphStyle",
491
- paragraph.styleName,
492
- resources
493
- ) as AD.ParagraphStyle.ParagraphStyle;
494
-
495
- return new DOCXJS.Paragraph({
496
- keepNext: keepNext,
497
- alignment:
498
- (style.alignment &&
499
- (style.alignment === "Center"
500
- ? DOCXJS.AlignmentType.CENTER
501
- : style.alignment === "End"
502
- ? DOCXJS.AlignmentType.END
503
- : DOCXJS.AlignmentType.START)) ||
504
- undefined,
505
-
506
- spacing: {
507
- before: Math.max(style.margins.top, 0) * abstractDocPixelToDocxDXARatio,
508
- after: Math.max(style.margins.bottom, 0) * abstractDocPixelToDocxDXARatio,
509
- },
510
- indent: {
511
- left: Math.max(style.margins.left, 0) * abstractDocPixelToDocxDXARatio,
512
- right: Math.max(style.margins.right, 0) * abstractDocPixelToDocxDXARatio,
513
- },
514
- children: paragraph.children.map((atom) => renderAtom(resources, style.textStyle, atom)),
515
- });
516
- }
1
+ import * as AD from "../../abstract-document";
2
+ import * as DOCXJS from "docx";
3
+ import { renderImage } from "./render-image";
4
+ import { Readable } from "stream";
5
+
6
+ const abstractDocToDocxFontRatio = 2;
7
+ const abstractDocPixelToDocxDXARatio = 20;
8
+
9
+ export function exportToHTML5Blob(doc: AD.AbstractDoc.AbstractDoc): Promise<Blob> {
10
+ return new Promise((resolve) => {
11
+ const docx = createDocument(doc);
12
+ DOCXJS.Packer.toBlob(docx).then((blob) => {
13
+ resolve(blob);
14
+ });
15
+ });
16
+ }
17
+
18
+ export function exportToStream(blobStream: NodeJS.WritableStream, doc: AD.AbstractDoc.AbstractDoc): void {
19
+ const docx = createDocument(doc);
20
+
21
+ DOCXJS.Packer.toBuffer(docx).then((buffer) => {
22
+ const readableStream = new Readable();
23
+ readableStream.push(buffer);
24
+ readableStream.push(null);
25
+ readableStream.pipe(blobStream);
26
+ });
27
+ }
28
+
29
+ /**
30
+ * On the client side the stream can be a BlobStream from the blob-stream package.
31
+ * On the server-side the stream can be a file stream from the fs package.
32
+ * @param blobStream
33
+ * @param doc
34
+ */
35
+
36
+ function createDocument(doc: AD.AbstractDoc.AbstractDoc): DOCXJS.Document {
37
+ const docx = new DOCXJS.Document({
38
+ sections: doc.children.map((s) => renderSection(s, doc)),
39
+ });
40
+ return docx;
41
+ }
42
+
43
+ function renderSection(section: AD.Section.Section, parentResources: AD.Resources.Resources): DOCXJS.ISectionOptions {
44
+ const pageWidth = AD.PageStyle.getWidth(section.page.style);
45
+ const pageHeight = AD.PageStyle.getHeight(section.page.style);
46
+
47
+ const contentAvailableWidth =
48
+ pageWidth - (section.page.style.contentMargins.left + section.page.style.contentMargins.right);
49
+
50
+ const resources = AD.Resources.mergeResources([parentResources, section]);
51
+
52
+ const headerChildren = section.page.header.reduce((sofar, c) => {
53
+ sofar.push(...renderSectionElement(c, resources, contentAvailableWidth));
54
+ return sofar;
55
+ }, [] as Array<DOCXJS.Paragraph | DOCXJS.Table>);
56
+
57
+ const footerChildren = [
58
+ ...section.page.footer.reduce((sofar, c) => {
59
+ sofar.push(...renderSectionElement(c, resources, contentAvailableWidth));
60
+ return sofar;
61
+ }, [] as Array<DOCXJS.Paragraph | DOCXJS.Table>),
62
+ ];
63
+
64
+ const contentChildren = [
65
+ new DOCXJS.Paragraph({
66
+ spacing: { before: 0, after: 0, line: 1 },
67
+ children: [
68
+ new DOCXJS.Bookmark({
69
+ id: section.id,
70
+ children: [],
71
+ }),
72
+ ],
73
+ }),
74
+ ...section.children.reduce((sofar, c) => {
75
+ sofar.push(...renderSectionElement(c, resources, contentAvailableWidth));
76
+ return sofar;
77
+ }, [] as Array<DOCXJS.Paragraph | DOCXJS.Table>),
78
+ ];
79
+
80
+ return {
81
+ properties: {
82
+ page: {
83
+ size: {
84
+ //DOC JS does the orientation after the width and height are set
85
+ width: AD.PageStyle.getPaperWidth(section.page.style.paperSize) * abstractDocPixelToDocxDXARatio,
86
+ height: AD.PageStyle.getPaperHeight(section.page.style.paperSize) * abstractDocPixelToDocxDXARatio,
87
+ orientation:
88
+ section.page.style.orientation === "Landscape"
89
+ ? DOCXJS.PageOrientation.LANDSCAPE
90
+ : DOCXJS.PageOrientation.PORTRAIT,
91
+ },
92
+ margin: {
93
+ bottom: section.page.style.contentMargins.bottom * abstractDocPixelToDocxDXARatio,
94
+ top: section.page.style.contentMargins.top * abstractDocPixelToDocxDXARatio,
95
+ right: section.page.style.contentMargins.right * abstractDocPixelToDocxDXARatio,
96
+ left: section.page.style.contentMargins.left * abstractDocPixelToDocxDXARatio,
97
+ header: section.page.style.headerMargins.top * abstractDocPixelToDocxDXARatio,
98
+ footer: section.page.style.footerMargins.bottom * abstractDocPixelToDocxDXARatio,
99
+ },
100
+ },
101
+ },
102
+ headers: {
103
+ default: new DOCXJS.Header({
104
+ children: headerChildren,
105
+ }),
106
+ },
107
+ footers: {
108
+ default: new DOCXJS.Footer({
109
+ children: footerChildren,
110
+ }),
111
+ },
112
+ children: contentChildren,
113
+ };
114
+ }
115
+
116
+ function renderHyperLink(
117
+ hyperLink: AD.HyperLink.HyperLink,
118
+ style: AD.TextStyle.TextStyle
119
+ ): DOCXJS.InternalHyperlink | DOCXJS.ExternalHyperlink {
120
+ const fontSize = AD.TextStyle.calculateFontSize(style, 10) * 2;
121
+ const textRun = new DOCXJS.TextRun({
122
+ text: hyperLink.text,
123
+ font: style.fontFamily || "Arial",
124
+ size: fontSize,
125
+ color: style.color || "blue",
126
+ bold: style.bold,
127
+ underline: style.underline
128
+ ? {
129
+ color: style.color || "blue",
130
+ type: DOCXJS.UnderlineType.SINGLE,
131
+ }
132
+ : undefined,
133
+ });
134
+
135
+ if (hyperLink.target.startsWith("#") && !hyperLink.target.startsWith("#page=")) {
136
+ return new DOCXJS.InternalHyperlink({
137
+ anchor: hyperLink.target,
138
+ child: textRun,
139
+ });
140
+ } else {
141
+ return new DOCXJS.ExternalHyperlink({
142
+ link: hyperLink.target,
143
+ child: textRun,
144
+ });
145
+ }
146
+ }
147
+
148
+ function renderSectionElement(
149
+ element: AD.SectionElement.SectionElement,
150
+ parentResources: AD.Resources.Resources,
151
+ contentAvailableWidth: number,
152
+ keepNext: boolean = false
153
+ ): ReadonlyArray<DOCXJS.Paragraph | DOCXJS.Table> /*| DOCXJS.TableOfContents | DOCXJS.HyperlinkRef */ {
154
+ const resources = AD.Resources.mergeResources([parentResources, element]);
155
+ switch (element.type) {
156
+ case "Paragraph":
157
+ return [renderParagraph(element, resources, keepNext)];
158
+ case "Group":
159
+ return [...renderGroup(element, parentResources, contentAvailableWidth)];
160
+ case "Table":
161
+ const table = renderTable(element, resources, contentAvailableWidth, keepNext);
162
+ return table
163
+ ? [
164
+ table,
165
+ new DOCXJS.Paragraph({ keepNext: keepNext, children: [new DOCXJS.TextRun({ text: ".", size: 0.000001 })] }),
166
+ ]
167
+ : [];
168
+ case "PageBreak":
169
+ return [
170
+ new DOCXJS.Paragraph({
171
+ pageBreakBefore: true,
172
+ }),
173
+ ];
174
+ default:
175
+ return [new DOCXJS.Paragraph({})];
176
+ }
177
+ }
178
+
179
+ function renderTable(
180
+ table: AD.Table.Table,
181
+ resources: AD.Resources.Resources,
182
+ contentAvailableWidth: number,
183
+ keepNext: boolean
184
+ ): DOCXJS.Table | undefined {
185
+ const style = AD.Resources.getStyle(
186
+ undefined,
187
+ table.style,
188
+ "TableStyle",
189
+ table.styleName,
190
+ resources
191
+ ) as AD.TableStyle.TableStyle;
192
+
193
+ if (table.children.length === 0) {
194
+ return undefined;
195
+ }
196
+
197
+ const tableWidthWithoutInfinity = table.columnWidths.reduce(
198
+ (sofar, c) => (Number.isFinite(c) ? sofar + c : sofar),
199
+ 0
200
+ );
201
+ const amountOfInfinity = table.columnWidths.reduce((sofar, c) => (!Number.isFinite(c) ? sofar + 1 : sofar), 0);
202
+ const infinityCellWidth = (contentAvailableWidth - tableWidthWithoutInfinity) / amountOfInfinity;
203
+ const columnWidths = table.columnWidths.map((w) =>
204
+ Number.isFinite(w) ? w * abstractDocPixelToDocxDXARatio : infinityCellWidth * abstractDocPixelToDocxDXARatio
205
+ );
206
+
207
+ return new DOCXJS.Table({
208
+ alignment:
209
+ style.alignment === "Left"
210
+ ? DOCXJS.AlignmentType.LEFT
211
+ : style.alignment === "Right"
212
+ ? DOCXJS.AlignmentType.RIGHT
213
+ : DOCXJS.AlignmentType.CENTER,
214
+ margins: {
215
+ top: style.margins.top * abstractDocPixelToDocxDXARatio,
216
+ bottom: style.margins.bottom * abstractDocPixelToDocxDXARatio,
217
+ left: style.margins.left * abstractDocPixelToDocxDXARatio,
218
+ right: style.margins.right * abstractDocPixelToDocxDXARatio,
219
+ },
220
+ width: {
221
+ type: DOCXJS.WidthType.DXA,
222
+ size: columnWidths.reduce((a, b) => a + b),
223
+ },
224
+ borders: {
225
+ top: {
226
+ color: style.cellStyle.borderColor ?? "",
227
+ size: 0,
228
+ style: DOCXJS.BorderStyle.NONE,
229
+ },
230
+ right: {
231
+ color: style.cellStyle.borderColor ?? "",
232
+ size: 0,
233
+ style: DOCXJS.BorderStyle.NONE,
234
+ },
235
+ bottom: {
236
+ color: style.cellStyle.borderColor ?? "",
237
+ size: 0,
238
+ style: DOCXJS.BorderStyle.NONE,
239
+ },
240
+ left: {
241
+ color: style.cellStyle.borderColor ?? "",
242
+ size: 0,
243
+ style: DOCXJS.BorderStyle.NONE,
244
+ },
245
+ insideHorizontal: {
246
+ color: style.cellStyle.borderColor ?? "",
247
+ size: 0,
248
+ style: DOCXJS.BorderStyle.NONE,
249
+ },
250
+ insideVertical: {
251
+ color: style.cellStyle.borderColor ?? "",
252
+ size: 0,
253
+ style: DOCXJS.BorderStyle.NONE,
254
+ },
255
+ },
256
+ rows: table.children.map((c) => renderRow(c, resources, style.cellStyle, columnWidths, keepNext)),
257
+ });
258
+ }
259
+
260
+ function renderRow(
261
+ row: AD.TableRow.TableRow,
262
+ resources: AD.Resources.Resources,
263
+ tableCellStyle: AD.TableCellStyle.TableCellStyle,
264
+ columnWidths: ReadonlyArray<number>,
265
+ keepNext: boolean
266
+ ): DOCXJS.TableRow {
267
+ return new DOCXJS.TableRow({
268
+ cantSplit: true,
269
+ children: row.children.map((c, ix) => renderCell(c, resources, tableCellStyle, columnWidths[ix], keepNext)),
270
+ });
271
+ }
272
+
273
+ function renderCell(
274
+ cell: AD.TableCell.TableCell,
275
+ resources: AD.Resources.Resources,
276
+ tableCellStyle: AD.TableCellStyle.TableCellStyle,
277
+ width: number,
278
+ keepNext: boolean
279
+ ): DOCXJS.TableCell {
280
+ const style = AD.Resources.getStyle(
281
+ tableCellStyle,
282
+ cell.style,
283
+ "TableCellStyle",
284
+ cell.styleName,
285
+ resources
286
+ ) as AD.TableCellStyle.TableCellStyle;
287
+
288
+ return new DOCXJS.TableCell({
289
+ verticalAlign:
290
+ (style.verticalAlignment && style.verticalAlignment === "Top"
291
+ ? DOCXJS.VerticalAlign.TOP
292
+ : style.verticalAlignment === "Bottom"
293
+ ? DOCXJS.VerticalAlign.BOTTOM
294
+ : DOCXJS.VerticalAlign.CENTER) || undefined,
295
+ shading: {
296
+ fill: style.background ? style.background : undefined,
297
+ },
298
+ columnSpan: cell.columnSpan,
299
+ rowSpan: cell.rowSpan,
300
+ width: {
301
+ type: DOCXJS.WidthType.DXA,
302
+ size: width,
303
+ },
304
+ margins: {
305
+ top: Math.max(style.padding.top, 0) * abstractDocPixelToDocxDXARatio,
306
+ bottom: Math.max(style.padding.bottom, 0) * abstractDocPixelToDocxDXARatio,
307
+ left: Math.max(style.padding.left, 0) * abstractDocPixelToDocxDXARatio,
308
+ right: Math.max(style.padding.right, 0) * abstractDocPixelToDocxDXARatio,
309
+ },
310
+ borders: {
311
+ top: {
312
+ color: style.borderColor ?? "",
313
+ size: style.borders.top,
314
+ style: style.borders.top ? DOCXJS.BorderStyle.SINGLE : DOCXJS.BorderStyle.NONE,
315
+ },
316
+ right: {
317
+ color: style.borderColor ?? "",
318
+ size: style.borders.right,
319
+ style: style.borders.right ? DOCXJS.BorderStyle.SINGLE : DOCXJS.BorderStyle.NONE,
320
+ },
321
+ bottom: {
322
+ color: style.borderColor ?? "",
323
+ size: style.borders.bottom,
324
+ style: style.borders.bottom ? DOCXJS.BorderStyle.SINGLE : DOCXJS.BorderStyle.NONE,
325
+ },
326
+ left: {
327
+ color: style.borderColor ?? "",
328
+ size: style.borders.left,
329
+ style: style.borders.left ? DOCXJS.BorderStyle.SINGLE : DOCXJS.BorderStyle.NONE,
330
+ },
331
+ },
332
+
333
+ children: cell.children.reduce((sofar, c) => {
334
+ sofar.push(...renderSectionElement(c, resources, width, keepNext));
335
+ return sofar;
336
+ }, [] as Array<DOCXJS.Paragraph | DOCXJS.Table>),
337
+ });
338
+ }
339
+
340
+ function renderAtom(
341
+ resources: AD.Resources.Resources,
342
+ textStyle: AD.TextStyle.TextStyle,
343
+ atom: AD.Atom.Atom
344
+ ):
345
+ | DOCXJS.TextRun
346
+ | DOCXJS.ImageRun
347
+ | DOCXJS.SymbolRun
348
+ | DOCXJS.Bookmark
349
+ | DOCXJS.PageBreak
350
+ | DOCXJS.SequentialIdentifier
351
+ | DOCXJS.FootnoteReferenceRun
352
+ | DOCXJS.InsertedTextRun
353
+ | DOCXJS.DeletedTextRun
354
+ | DOCXJS.InternalHyperlink
355
+ | DOCXJS.ExternalHyperlink
356
+ | DOCXJS.Math {
357
+ switch (atom.type) {
358
+ case "TextField":
359
+ return renderTextField(resources, textStyle, atom);
360
+ case "TextRun":
361
+ return renderTextRun(resources, textStyle, atom);
362
+ case "Image":
363
+ return renderImage(atom, textStyle);
364
+ case "HyperLink":
365
+ return renderHyperLink(atom, textStyle);
366
+ case "TocSeparator":
367
+ return new DOCXJS.TextRun({ text: "..." });
368
+ default:
369
+ return new DOCXJS.TextRun({ text: "missed" }); // TODO
370
+ }
371
+ }
372
+
373
+ function renderTextField(
374
+ resources: AD.Resources.Resources,
375
+ textStyle: AD.TextStyle.TextStyle,
376
+ textField: AD.TextField.TextField
377
+ ): DOCXJS.TextRun {
378
+ const style = AD.Resources.getStyle(
379
+ textStyle,
380
+ textField.style,
381
+ "TextStyle",
382
+ textField.styleName,
383
+ resources
384
+ ) as AD.TextStyle.TextStyle;
385
+ switch (textField.fieldType) {
386
+ case "Date":
387
+ return renderText(style, new Date(Date.now()).toDateString());
388
+ case "PageNumber":
389
+ return renderPageNumber(style);
390
+ case "TotalPages":
391
+ return renderTotalPages(style);
392
+ default:
393
+ return renderText(style, "");
394
+ }
395
+ }
396
+
397
+ function renderTextRun(
398
+ resources: AD.Resources.Resources,
399
+ textStyle: AD.TextStyle.TextStyle,
400
+ textRun: AD.TextRun.TextRun
401
+ ): DOCXJS.TextRun {
402
+ const style = AD.Resources.getNestedStyle(
403
+ textStyle,
404
+ textRun.style,
405
+ "TextStyle",
406
+ textRun.styleName,
407
+ resources,
408
+ textRun.nestedStyleNames || []
409
+ ) as AD.TextStyle.TextStyle;
410
+
411
+ return renderText(style, textRun.text);
412
+ }
413
+
414
+ function renderPageNumber(style: AD.TextStyle.TextStyle): DOCXJS.TextRun {
415
+ const fontSize = AD.TextStyle.calculateFontSize(style, 10) * abstractDocToDocxFontRatio;
416
+ return new DOCXJS.TextRun({
417
+ font: style.fontFamily || "Arial",
418
+ size: fontSize,
419
+ color: style.color || "black",
420
+ bold: style.bold,
421
+ underline: style.underline
422
+ ? {
423
+ color: style.color,
424
+ type: DOCXJS.UnderlineType.SINGLE,
425
+ }
426
+ : undefined,
427
+ children: [DOCXJS.PageNumber.CURRENT],
428
+ });
429
+ }
430
+
431
+ function renderTotalPages(style: AD.TextStyle.TextStyle): DOCXJS.TextRun {
432
+ const fontSize = AD.TextStyle.calculateFontSize(style, 10) * abstractDocToDocxFontRatio;
433
+ return new DOCXJS.TextRun({
434
+ font: style.fontFamily || "Arial",
435
+ size: fontSize,
436
+ color: style.color || "black",
437
+ bold: style.bold,
438
+ underline: style.underline
439
+ ? {
440
+ color: style.color,
441
+ type: DOCXJS.UnderlineType.SINGLE,
442
+ }
443
+ : undefined,
444
+ children: [DOCXJS.PageNumber.TOTAL_PAGES],
445
+ });
446
+ }
447
+
448
+ function renderText(style: AD.TextStyle.TextStyle, text: string): DOCXJS.TextRun {
449
+ const fontSize = AD.TextStyle.calculateFontSize(style, 10) * abstractDocToDocxFontRatio;
450
+
451
+ return new DOCXJS.TextRun({
452
+ text: text,
453
+ font: style.fontFamily || "Arial",
454
+ size: fontSize,
455
+ color: style.color || "black",
456
+ bold: style.bold,
457
+ underline: style.underline
458
+ ? {
459
+ color: style.color,
460
+ type: DOCXJS.UnderlineType.SINGLE,
461
+ }
462
+ : undefined,
463
+ });
464
+ }
465
+
466
+ function renderGroup(
467
+ group: AD.Group.Group,
468
+ resources: AD.Resources.Resources,
469
+ availabelWidth: number
470
+ ): Array<DOCXJS.Paragraph | DOCXJS.Table> {
471
+ let sofar = Array<DOCXJS.Paragraph | DOCXJS.Table>();
472
+ let keepNext = true;
473
+ for (let index = 0; index < group.children.length; index++) {
474
+ if (index == group.children.length - 1) {
475
+ keepNext = false;
476
+ }
477
+ sofar.push(...renderSectionElement(group.children[index], resources, availabelWidth, keepNext));
478
+ }
479
+ return sofar;
480
+ }
481
+
482
+ function renderParagraph(
483
+ paragraph: AD.Paragraph.Paragraph,
484
+ resources: AD.Resources.Resources,
485
+ keepNext: boolean
486
+ ): DOCXJS.Paragraph {
487
+ const style = AD.Resources.getStyle(
488
+ undefined,
489
+ paragraph.style,
490
+ "ParagraphStyle",
491
+ paragraph.styleName,
492
+ resources
493
+ ) as AD.ParagraphStyle.ParagraphStyle;
494
+
495
+ return new DOCXJS.Paragraph({
496
+ keepNext: keepNext,
497
+ alignment:
498
+ (style.alignment &&
499
+ (style.alignment === "Center"
500
+ ? DOCXJS.AlignmentType.CENTER
501
+ : style.alignment === "End"
502
+ ? DOCXJS.AlignmentType.END
503
+ : DOCXJS.AlignmentType.START)) ||
504
+ undefined,
505
+
506
+ spacing: {
507
+ before: Math.max(style.margins.top, 0) * abstractDocPixelToDocxDXARatio,
508
+ after: Math.max(style.margins.bottom, 0) * abstractDocPixelToDocxDXARatio,
509
+ },
510
+ indent: {
511
+ left: Math.max(style.margins.left, 0) * abstractDocPixelToDocxDXARatio,
512
+ right: Math.max(style.margins.right, 0) * abstractDocPixelToDocxDXARatio,
513
+ },
514
+ children: paragraph.children.map((atom) => renderAtom(resources, style.textStyle, atom)),
515
+ });
516
+ }