abstract-document 6.5.1 → 6.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-bold-italic.d.ts.map +1 -1
  3. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-bold-italic.js +1 -0
  4. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-bold-italic.js.map +1 -1
  5. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-bold.d.ts.map +1 -1
  6. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-bold.js +1 -0
  7. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-bold.js.map +1 -1
  8. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-empty-keepTogether.d.ts.map +1 -1
  9. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-empty-keepTogether.js +11 -0
  10. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-empty-keepTogether.js.map +1 -1
  11. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-header.d.ts.map +1 -1
  12. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-header.js +1 -0
  13. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-header.js.map +1 -1
  14. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-italic.d.ts.map +1 -1
  15. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-italic.js +1 -0
  16. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-italic.js.map +1 -1
  17. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-keepTogether.d.ts.map +1 -1
  18. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-keepTogether.js +11 -0
  19. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-keepTogether.js.map +1 -1
  20. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-subscript.d.ts.map +1 -1
  21. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-subscript.js +1 -0
  22. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-subscript.js.map +1 -1
  23. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-superscript.d.ts.map +1 -1
  24. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-superscript.js +1 -0
  25. package/lib/abstract-document/__tests__/markdown/test-defs/markdown-superscript.js.map +1 -1
  26. package/lib/abstract-document/index.d.ts +3 -1
  27. package/lib/abstract-document/index.d.ts.map +1 -1
  28. package/lib/abstract-document/index.js +5 -1
  29. package/lib/abstract-document/index.js.map +1 -1
  30. package/lib/abstract-document/section-elements/group.d.ts +5 -1
  31. package/lib/abstract-document/section-elements/group.d.ts.map +1 -1
  32. package/lib/abstract-document/section-elements/group.js +24 -3
  33. package/lib/abstract-document/section-elements/group.js.map +1 -1
  34. package/lib/abstract-document/section-elements/paragraph.d.ts +2 -1
  35. package/lib/abstract-document/section-elements/paragraph.d.ts.map +1 -1
  36. package/lib/abstract-document/section-elements/paragraph.js +3 -2
  37. package/lib/abstract-document/section-elements/paragraph.js.map +1 -1
  38. package/lib/abstract-document/section-elements/section-element.d.ts +10 -5
  39. package/lib/abstract-document/section-elements/section-element.d.ts.map +1 -1
  40. package/lib/abstract-document/section-elements/section-element.js +32 -0
  41. package/lib/abstract-document/section-elements/section-element.js.map +1 -1
  42. package/lib/abstract-document/section-elements/table.d.ts +2 -1
  43. package/lib/abstract-document/section-elements/table.d.ts.map +1 -1
  44. package/lib/abstract-document/section-elements/table.js +3 -2
  45. package/lib/abstract-document/section-elements/table.js.map +1 -1
  46. package/lib/abstract-document/styles/group-style.d.ts +14 -0
  47. package/lib/abstract-document/styles/group-style.d.ts.map +1 -0
  48. package/lib/abstract-document/styles/group-style.js +41 -0
  49. package/lib/abstract-document/styles/group-style.js.map +1 -0
  50. package/lib/abstract-document/styles/paragraph-style.d.ts +3 -0
  51. package/lib/abstract-document/styles/paragraph-style.d.ts.map +1 -1
  52. package/lib/abstract-document/styles/paragraph-style.js +4 -3
  53. package/lib/abstract-document/styles/paragraph-style.js.map +1 -1
  54. package/lib/abstract-document/styles/position.d.ts +4 -0
  55. package/lib/abstract-document/styles/position.d.ts.map +1 -0
  56. package/lib/abstract-document/styles/position.js +29 -0
  57. package/lib/abstract-document/styles/position.js.map +1 -0
  58. package/lib/abstract-document/styles/table-style.d.ts +3 -0
  59. package/lib/abstract-document/styles/table-style.d.ts.map +1 -1
  60. package/lib/abstract-document/styles/table-style.js +4 -3
  61. package/lib/abstract-document/styles/table-style.js.map +1 -1
  62. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-group.d.ts +3 -0
  63. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-group.d.ts.map +1 -0
  64. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-group.js +92 -0
  65. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-group.js.map +1 -0
  66. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-header-and-footer.d.ts +3 -0
  67. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-header-and-footer.d.ts.map +1 -0
  68. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-header-and-footer.js +199 -0
  69. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-header-and-footer.js.map +1 -0
  70. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-paragraph.d.ts +3 -0
  71. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-paragraph.d.ts.map +1 -0
  72. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-paragraph.js +68 -0
  73. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-paragraph.js.map +1 -0
  74. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-group.d.ts +3 -0
  75. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-group.d.ts.map +1 -0
  76. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-group.js +109 -0
  77. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-group.js.map +1 -0
  78. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-table.d.ts +3 -0
  79. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-table.d.ts.map +1 -0
  80. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-table.js +146 -0
  81. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-table.js.map +1 -0
  82. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-table.d.ts +3 -0
  83. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-table.d.ts.map +1 -0
  84. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-table.js +121 -0
  85. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-table.js.map +1 -0
  86. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-no-keep-together.d.ts +3 -0
  87. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-no-keep-together.d.ts.map +1 -0
  88. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-no-keep-together.js +1270 -0
  89. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/group-no-keep-together.js.map +1 -0
  90. package/lib/abstract-document-exporters/pdf/measure.d.ts.map +1 -1
  91. package/lib/abstract-document-exporters/pdf/measure.js +7 -3
  92. package/lib/abstract-document-exporters/pdf/measure.js.map +1 -1
  93. package/lib/abstract-document-exporters/pdf/paginate.js +3 -2
  94. package/lib/abstract-document-exporters/pdf/paginate.js.map +1 -1
  95. package/lib/abstract-document-exporters/pdf/pre-process.js +2 -2
  96. package/lib/abstract-document-exporters/pdf/pre-process.js.map +1 -1
  97. package/lib/abstract-document-exporters/pdf/render.js +45 -16
  98. package/lib/abstract-document-exporters/pdf/render.js.map +1 -1
  99. package/package.json +2 -2
  100. package/src/abstract-document/__tests__/markdown/test-defs/markdown-bold-italic.tsx +1 -0
  101. package/src/abstract-document/__tests__/markdown/test-defs/markdown-bold.tsx +1 -0
  102. package/src/abstract-document/__tests__/markdown/test-defs/markdown-empty-keepTogether.tsx +11 -0
  103. package/src/abstract-document/__tests__/markdown/test-defs/markdown-header.tsx +1 -0
  104. package/src/abstract-document/__tests__/markdown/test-defs/markdown-italic.tsx +1 -0
  105. package/src/abstract-document/__tests__/markdown/test-defs/markdown-keepTogether.tsx +11 -0
  106. package/src/abstract-document/__tests__/markdown/test-defs/markdown-subscript.tsx +1 -0
  107. package/src/abstract-document/__tests__/markdown/test-defs/markdown-superscript.tsx +1 -0
  108. package/src/abstract-document/index.ts +4 -0
  109. package/src/abstract-document/section-elements/group.ts +11 -8
  110. package/src/abstract-document/section-elements/paragraph.ts +4 -2
  111. package/src/abstract-document/section-elements/section-element.ts +16 -5
  112. package/src/abstract-document/section-elements/table.ts +4 -2
  113. package/src/abstract-document/styles/group-style.ts +30 -0
  114. package/src/abstract-document/styles/paragraph-style.ts +9 -5
  115. package/src/abstract-document/styles/position.ts +8 -0
  116. package/src/abstract-document/styles/table-style.ts +10 -9
  117. package/src/abstract-document-exporters/__tests__/docx2/tmp/Group.docx +0 -0
  118. 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
  119. 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
  120. 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
  121. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple images.docx +0 -0
  122. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple tables.docx +0 -0
  123. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with Center alignment.docx +0 -0
  124. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with End alignment.docx +0 -0
  125. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with Start alignment that linebreaks.docx +0 -0
  126. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with Start alignment.docx +0 -0
  127. package/src/abstract-document-exporters/__tests__/docx2/tmp/Page numbering.docx +0 -0
  128. 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
  129. package/src/abstract-document-exporters/__tests__/docx2/tmp/Simple table without rows.docx +0 -0
  130. package/src/abstract-document-exporters/__tests__/docx2/tmp/Simple table.docx +0 -0
  131. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single hyperlink.docx +0 -0
  132. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single image.docx +0 -0
  133. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Center alignment that linebreaks.docx +0 -0
  134. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Center alignment.docx +0 -0
  135. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with End alignment that linebreaks.docx +0 -0
  136. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with End alignment.docx +0 -0
  137. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Start alignment that linebreaks.docx +0 -0
  138. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Start alignment.docx +0 -0
  139. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun.docx +0 -0
  140. package/src/abstract-document-exporters/__tests__/docx2/tmp/hello.docx +0 -0
  141. package/src/abstract-document-exporters/__tests__/docx2/tmp/world.docx +0 -0
  142. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-group.tsx +77 -0
  143. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-header-and-footer.tsx +197 -0
  144. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-paragraph.tsx +51 -0
  145. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-group.tsx +96 -0
  146. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-section-in-table.tsx +145 -0
  147. package/src/abstract-document-exporters/__tests__/pdf/test-defs/absolute-position-table.tsx +117 -0
  148. package/src/abstract-document-exporters/__tests__/pdf/test-defs/group-no-keep-together.tsx +1287 -0
  149. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position group.pdf +123 -0
  150. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position header and footer.pdf +173 -0
  151. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position paragraph.pdf +113 -0
  152. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position section in group.pdf +123 -0
  153. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position section in table.pdf +147 -0
  154. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position table.pdf +137 -0
  155. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group Paragraphs.pdf +2 -2
  156. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group Tables.pdf +2 -2
  157. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group no keeptogether.pdf +912 -0
  158. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group too big for one page.pdf +2 -2
  159. package/src/abstract-document-exporters/__tests__/pdf/tmp/Header and footer.pdf +2 -2
  160. package/src/abstract-document-exporters/__tests__/pdf/tmp/Hyperlink internal linktarget.pdf +2 -2
  161. package/src/abstract-document-exporters/__tests__/pdf/tmp/Hyperlink internal.pdf +2 -2
  162. package/src/abstract-document-exporters/__tests__/pdf/tmp/Margins header body footer.pdf +2 -2
  163. package/src/abstract-document-exporters/__tests__/pdf/tmp/Mixed hyperlink and textrun.pdf +2 -2
  164. 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
  165. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple images overflow.pdf +0 -0
  166. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple images.pdf +0 -0
  167. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with Center alignment.pdf +2 -2
  168. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with End alignment.pdf +2 -2
  169. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with Start alignment that linebreaks.pdf +2 -2
  170. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with Start alignment.pdf +2 -2
  171. package/src/abstract-document-exporters/__tests__/pdf/tmp/Page numbering.pdf +2 -2
  172. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table row that doesnt fit page.pdf +2 -2
  173. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table single row.pdf +2 -2
  174. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with group.pdf +2 -2
  175. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with header 2.pdf +2 -2
  176. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with header.pdf +2 -2
  177. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with margin bottom.pdf +2 -2
  178. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with margin top single table.pdf +2 -2
  179. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with margin top.pdf +2 -2
  180. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with rowSpan multipages.pdf +2 -2
  181. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with rowSpan.pdf +2 -2
  182. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table all auto.pdf +2 -2
  183. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table all fix.pdf +2 -2
  184. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table background.pdf +2 -2
  185. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table cell padding of image.pdf +0 -0
  186. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table cell padding of text.pdf +2 -2
  187. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table center alignment.pdf +2 -2
  188. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table colSpan and rowSpan.pdf +2 -2
  189. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table mix auto fix.pdf +2 -2
  190. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table padding.pdf +2 -2
  191. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table right alignment.pdf +2 -2
  192. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table row alignment.pdf +2 -2
  193. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table text alignment in cell with wrapping.pdf +2 -2
  194. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table text alignment in cell.pdf +2 -2
  195. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with default colored borders.pdf +2 -2
  196. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with header.pdf +2 -2
  197. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with multi colored borders.pdf +2 -2
  198. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with single colored borders.pdf +2 -2
  199. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single date.pdf +14 -14
  200. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single figure.pdf +2 -2
  201. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single hyperlink centered.pdf +2 -2
  202. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single hyperlink right aligned.pdf +2 -2
  203. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single hyperlink.pdf +2 -2
  204. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image svg color hex.pdf +2 -2
  205. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image svg color name.pdf +2 -2
  206. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image svg color url.pdf +2 -2
  207. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image.pdf +0 -0
  208. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Center alignment that linebreaks.pdf +2 -2
  209. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Center alignment.pdf +2 -2
  210. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with End alignment that linebreaks.pdf +2 -2
  211. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with End alignment.pdf +2 -2
  212. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Justify alignment.pdf +2 -2
  213. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Start alignment that linebreaks.pdf +2 -2
  214. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Start alignment.pdf +2 -2
  215. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with super and subscripts.pdf +2 -2
  216. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun.pdf +2 -2
  217. package/src/abstract-document-exporters/__tests__/pdf/tmp/Table of content separator.pdf +2 -2
  218. package/src/abstract-document-exporters/__tests__/pdf/tmp/hello.pdf +2 -2
  219. package/src/abstract-document-exporters/__tests__/pdf/tmp/world.pdf +2 -2
  220. package/src/abstract-document-exporters/pdf/measure.ts +11 -3
  221. package/src/abstract-document-exporters/pdf/paginate.ts +3 -2
  222. package/src/abstract-document-exporters/pdf/pre-process.ts +2 -1
  223. package/src/abstract-document-exporters/pdf/render.ts +45 -16
@@ -147,7 +147,7 @@ endobj
147
147
  (PDFKit)
148
148
  endobj
149
149
  12 0 obj
150
- (D:20220105141307Z)
150
+ (D:20220210110012Z)
151
151
  endobj
152
152
  9 0 obj
153
153
  <<
@@ -210,7 +210,7 @@ trailer
210
210
  /Size 13
211
211
  /Root 3 0 R
212
212
  /Info 9 0 R
213
- /ID [<e3ef9678edb0b0c420dda06e64f7a099> <e3ef9678edb0b0c420dda06e64f7a099>]
213
+ /ID [<59c55c0ea2fa967955a057a9a1e8943d> <59c55c0ea2fa967955a057a9a1e8943d>]
214
214
  >>
215
215
  startxref
216
216
  1873
@@ -147,7 +147,7 @@ endobj
147
147
  (PDFKit)
148
148
  endobj
149
149
  12 0 obj
150
- (D:20220105141307Z)
150
+ (D:20220210110012Z)
151
151
  endobj
152
152
  9 0 obj
153
153
  <<
@@ -210,7 +210,7 @@ trailer
210
210
  /Size 13
211
211
  /Root 3 0 R
212
212
  /Info 9 0 R
213
- /ID [<557f3de35560597846b0376bf4edfb51> <557f3de35560597846b0376bf4edfb51>]
213
+ /ID [<0576de8bfc0f24935f01bb08d2a74a2b> <0576de8bfc0f24935f01bb08d2a74a2b>]
214
214
  >>
215
215
  startxref
216
216
  1822
@@ -19,7 +19,7 @@ endobj
19
19
  endobj
20
20
  5 0 obj
21
21
  <<
22
- /Length 152
22
+ /Length 146
23
23
  >>
24
24
  stream
25
25
  1 0 0 -1 0 842 cm
@@ -30,7 +30,7 @@ q
30
30
  BT
31
31
  1 0 0 1 0 834.82 Tm
32
32
  /F1 10 Tf
33
- [<57> 30 <6564204a> 20 <616e2030352032303232> 0] TJ
33
+ [<5468752046> 30 <65622031302032303232> 0] TJ
34
34
  ET
35
35
  Q
36
36
 
@@ -43,7 +43,7 @@ endobj
43
43
  (PDFKit)
44
44
  endobj
45
45
  12 0 obj
46
- (D:20220105141306Z)
46
+ (D:20220210110010Z)
47
47
  endobj
48
48
  9 0 obj
49
49
  <<
@@ -89,25 +89,25 @@ endobj
89
89
  xref
90
90
  0 13
91
91
  0000000000 65535 f
92
- 0000000752 00000 n
93
- 0000000809 00000 n
94
- 0000000690 00000 n
95
- 0000000669 00000 n
92
+ 0000000746 00000 n
93
+ 0000000803 00000 n
94
+ 0000000684 00000 n
95
+ 0000000663 00000 n
96
96
  0000000208 00000 n
97
97
  0000000119 00000 n
98
98
  0000000015 00000 n
99
- 0000000572 00000 n
100
- 0000000497 00000 n
101
- 0000000411 00000 n
102
- 0000000436 00000 n
103
- 0000000461 00000 n
99
+ 0000000566 00000 n
100
+ 0000000491 00000 n
101
+ 0000000405 00000 n
102
+ 0000000430 00000 n
103
+ 0000000455 00000 n
104
104
  trailer
105
105
  <<
106
106
  /Size 13
107
107
  /Root 3 0 R
108
108
  /Info 9 0 R
109
- /ID [<46c073ab9ebb71a45a4b50da923d32eb> <46c073ab9ebb71a45a4b50da923d32eb>]
109
+ /ID [<4484938b24fa1adadf8e162315766c2e> <4484938b24fa1adadf8e162315766c2e>]
110
110
  >>
111
111
  startxref
112
- 856
112
+ 850
113
113
  %%EOF
@@ -133,7 +133,7 @@ endobj
133
133
  (PDFKit)
134
134
  endobj
135
135
  13 0 obj
136
- (D:20220105141307Z)
136
+ (D:20220210110012Z)
137
137
  endobj
138
138
  10 0 obj
139
139
  <<
@@ -197,7 +197,7 @@ trailer
197
197
  /Size 14
198
198
  /Root 3 0 R
199
199
  /Info 10 0 R
200
- /ID [<db0e9317edd5001838c618aa4309c452> <db0e9317edd5001838c618aa4309c452>]
200
+ /ID [<919808f3f406d15e81f648a7736dee6d> <919808f3f406d15e81f648a7736dee6d>]
201
201
  >>
202
202
  startxref
203
203
  1761
@@ -73,7 +73,7 @@ endobj
73
73
  (PDFKit)
74
74
  endobj
75
75
  15 0 obj
76
- (D:20220105141307Z)
76
+ (D:20220210110012Z)
77
77
  endobj
78
78
  12 0 obj
79
79
  <<
@@ -139,7 +139,7 @@ trailer
139
139
  /Size 16
140
140
  /Root 3 0 R
141
141
  /Info 12 0 R
142
- /ID [<fe6f55fa5afaa376102f8c3796dbe172> <fe6f55fa5afaa376102f8c3796dbe172>]
142
+ /ID [<51679d92983990409d53d48551b68e58> <51679d92983990409d53d48551b68e58>]
143
143
  >>
144
144
  startxref
145
145
  1242
@@ -73,7 +73,7 @@ endobj
73
73
  (PDFKit)
74
74
  endobj
75
75
  15 0 obj
76
- (D:20220105141307Z)
76
+ (D:20220210110012Z)
77
77
  endobj
78
78
  12 0 obj
79
79
  <<
@@ -139,7 +139,7 @@ trailer
139
139
  /Size 16
140
140
  /Root 3 0 R
141
141
  /Info 12 0 R
142
- /ID [<292acc6b74873eb3165156b4765d32f6> <292acc6b74873eb3165156b4765d32f6>]
142
+ /ID [<5a3799666d49dac6a96233360ef727ca> <5a3799666d49dac6a96233360ef727ca>]
143
143
  >>
144
144
  startxref
145
145
  1228
@@ -73,7 +73,7 @@ endobj
73
73
  (PDFKit)
74
74
  endobj
75
75
  15 0 obj
76
- (D:20220105141307Z)
76
+ (D:20220210110012Z)
77
77
  endobj
78
78
  12 0 obj
79
79
  <<
@@ -139,7 +139,7 @@ trailer
139
139
  /Size 16
140
140
  /Root 3 0 R
141
141
  /Info 12 0 R
142
- /ID [<49ebf714736b5e00f2d5b0e2493746e7> <49ebf714736b5e00f2d5b0e2493746e7>]
142
+ /ID [<eac98d9316920b946d869903b272eb0b> <eac98d9316920b946d869903b272eb0b>]
143
143
  >>
144
144
  startxref
145
145
  1209
@@ -108,7 +108,7 @@ endobj
108
108
  (PDFKit)
109
109
  endobj
110
110
  13 0 obj
111
- (D:20220105141307Z)
111
+ (D:20220210110012Z)
112
112
  endobj
113
113
  10 0 obj
114
114
  <<
@@ -172,7 +172,7 @@ trailer
172
172
  /Size 14
173
173
  /Root 3 0 R
174
174
  /Info 10 0 R
175
- /ID [<136b21712e916d94ce04ade13d9af411> <136b21712e916d94ce04ade13d9af411>]
175
+ /ID [<a8405eb37016fa3f1601ae2a0584c8dd> <a8405eb37016fa3f1601ae2a0584c8dd>]
176
176
  >>
177
177
  startxref
178
178
  1530
@@ -108,7 +108,7 @@ endobj
108
108
  (PDFKit)
109
109
  endobj
110
110
  13 0 obj
111
- (D:20220105141307Z)
111
+ (D:20220210110012Z)
112
112
  endobj
113
113
  10 0 obj
114
114
  <<
@@ -172,7 +172,7 @@ trailer
172
172
  /Size 14
173
173
  /Root 3 0 R
174
174
  /Info 10 0 R
175
- /ID [<50e0e1212fcc557e4fe351b43ff84b44> <50e0e1212fcc557e4fe351b43ff84b44>]
175
+ /ID [<6867c37dc9164f6906c191957cf14d28> <6867c37dc9164f6906c191957cf14d28>]
176
176
  >>
177
177
  startxref
178
178
  1530
@@ -154,7 +154,7 @@ endobj
154
154
  (PDFKit)
155
155
  endobj
156
156
  18 0 obj
157
- (D:20220105141307Z)
157
+ (D:20220210110012Z)
158
158
  endobj
159
159
  15 0 obj
160
160
  <<
@@ -215,7 +215,7 @@ trailer
215
215
  /Size 19
216
216
  /Root 3 0 R
217
217
  /Info 15 0 R
218
- /ID [<93791fa2ec3d2ec7399f89ea4d33cf84> <93791fa2ec3d2ec7399f89ea4d33cf84>]
218
+ /ID [<0caef2246b4a90f9295bfad8eddefab9> <0caef2246b4a90f9295bfad8eddefab9>]
219
219
  >>
220
220
  startxref
221
221
  1798
@@ -51,7 +51,7 @@ endobj
51
51
  (PDFKit)
52
52
  endobj
53
53
  12 0 obj
54
- (D:20220105141307Z)
54
+ (D:20220210110012Z)
55
55
  endobj
56
56
  9 0 obj
57
57
  <<
@@ -114,7 +114,7 @@ trailer
114
114
  /Size 13
115
115
  /Root 3 0 R
116
116
  /Info 9 0 R
117
- /ID [<3c2711558dd2781b20915f96040e1526> <3c2711558dd2781b20915f96040e1526>]
117
+ /ID [<b77f4af86a61753cacef191cdb6d9b66> <b77f4af86a61753cacef191cdb6d9b66>]
118
118
  >>
119
119
  startxref
120
120
  1427
@@ -43,7 +43,7 @@ endobj
43
43
  (PDFKit)
44
44
  endobj
45
45
  12 0 obj
46
- (D:20220105141307Z)
46
+ (D:20220210110012Z)
47
47
  endobj
48
48
  9 0 obj
49
49
  <<
@@ -106,7 +106,7 @@ trailer
106
106
  /Size 13
107
107
  /Root 3 0 R
108
108
  /Info 9 0 R
109
- /ID [<0db75c6289677f1ad17ef668515fa7d2> <0db75c6289677f1ad17ef668515fa7d2>]
109
+ /ID [<84e95a07ba80fed6ccfe4bf7e0ccc3b4> <84e95a07ba80fed6ccfe4bf7e0ccc3b4>]
110
110
  >>
111
111
  startxref
112
112
  854
@@ -51,7 +51,7 @@ endobj
51
51
  (PDFKit)
52
52
  endobj
53
53
  12 0 obj
54
- (D:20220105141308Z)
54
+ (D:20220210110012Z)
55
55
  endobj
56
56
  9 0 obj
57
57
  <<
@@ -114,7 +114,7 @@ trailer
114
114
  /Size 13
115
115
  /Root 3 0 R
116
116
  /Info 9 0 R
117
- /ID [<f83f69ea152c953d9f3747868dcf40eb> <f83f69ea152c953d9f3747868dcf40eb>]
117
+ /ID [<e70a7db1e022a4b2abad194e10d4b0a2> <e70a7db1e022a4b2abad194e10d4b0a2>]
118
118
  >>
119
119
  startxref
120
120
  1427
@@ -43,7 +43,7 @@ endobj
43
43
  (PDFKit)
44
44
  endobj
45
45
  12 0 obj
46
- (D:20220105141308Z)
46
+ (D:20220210110012Z)
47
47
  endobj
48
48
  9 0 obj
49
49
  <<
@@ -106,7 +106,7 @@ trailer
106
106
  /Size 13
107
107
  /Root 3 0 R
108
108
  /Info 9 0 R
109
- /ID [<68d6858f9ade17df31d28c966a48cddb> <68d6858f9ade17df31d28c966a48cddb>]
109
+ /ID [<53c70d832f878e100fc401f8c84eba1a> <53c70d832f878e100fc401f8c84eba1a>]
110
110
  >>
111
111
  startxref
112
112
  853
@@ -43,7 +43,7 @@ endobj
43
43
  (PDFKit)
44
44
  endobj
45
45
  12 0 obj
46
- (D:20220105141308Z)
46
+ (D:20220210110012Z)
47
47
  endobj
48
48
  9 0 obj
49
49
  <<
@@ -106,7 +106,7 @@ trailer
106
106
  /Size 13
107
107
  /Root 3 0 R
108
108
  /Info 9 0 R
109
- /ID [<4df806dfcdd26f1dc01e62d192258a34> <4df806dfcdd26f1dc01e62d192258a34>]
109
+ /ID [<9a736f4011d79600cde2839cf49b3107> <9a736f4011d79600cde2839cf49b3107>]
110
110
  >>
111
111
  startxref
112
112
  848
@@ -51,7 +51,7 @@ endobj
51
51
  (PDFKit)
52
52
  endobj
53
53
  12 0 obj
54
- (D:20220105141308Z)
54
+ (D:20220210110012Z)
55
55
  endobj
56
56
  9 0 obj
57
57
  <<
@@ -114,7 +114,7 @@ trailer
114
114
  /Size 13
115
115
  /Root 3 0 R
116
116
  /Info 9 0 R
117
- /ID [<625a2072f50ef946504b36e8857533f5> <625a2072f50ef946504b36e8857533f5>]
117
+ /ID [<1e0fe2c0ff41bd82b1424e3e2955d7c0> <1e0fe2c0ff41bd82b1424e3e2955d7c0>]
118
118
  >>
119
119
  startxref
120
120
  1418
@@ -43,7 +43,7 @@ endobj
43
43
  (PDFKit)
44
44
  endobj
45
45
  12 0 obj
46
- (D:20220105141308Z)
46
+ (D:20220210110012Z)
47
47
  endobj
48
48
  9 0 obj
49
49
  <<
@@ -106,7 +106,7 @@ trailer
106
106
  /Size 13
107
107
  /Root 3 0 R
108
108
  /Info 9 0 R
109
- /ID [<922a6b4f464a68b0aec8899672882b99> <922a6b4f464a68b0aec8899672882b99>]
109
+ /ID [<b0d4ecd32973ffb8709efc0c67c8d1c3> <b0d4ecd32973ffb8709efc0c67c8d1c3>]
110
110
  >>
111
111
  startxref
112
112
  848
@@ -63,7 +63,7 @@ endobj
63
63
  (PDFKit)
64
64
  endobj
65
65
  12 0 obj
66
- (D:20220105141307Z)
66
+ (D:20220210110012Z)
67
67
  endobj
68
68
  9 0 obj
69
69
  <<
@@ -126,7 +126,7 @@ trailer
126
126
  /Size 13
127
127
  /Root 3 0 R
128
128
  /Info 9 0 R
129
- /ID [<5ce2a3270d9dd3762de37b24368a8488> <5ce2a3270d9dd3762de37b24368a8488>]
129
+ /ID [<1d168725e819c4655ff7c67433df3543> <1d168725e819c4655ff7c67433df3543>]
130
130
  >>
131
131
  startxref
132
132
  1076
@@ -43,7 +43,7 @@ endobj
43
43
  (PDFKit)
44
44
  endobj
45
45
  12 0 obj
46
- (D:20220105141308Z)
46
+ (D:20220210110012Z)
47
47
  endobj
48
48
  9 0 obj
49
49
  <<
@@ -106,7 +106,7 @@ trailer
106
106
  /Size 13
107
107
  /Root 3 0 R
108
108
  /Info 9 0 R
109
- /ID [<f72ca66521f8ca61a6d10642fcbf6e53> <f72ca66521f8ca61a6d10642fcbf6e53>]
109
+ /ID [<6eab2ab582bee7dc6558902e5c4bc13d> <6eab2ab582bee7dc6558902e5c4bc13d>]
110
110
  >>
111
111
  startxref
112
112
  824
@@ -84,7 +84,7 @@ endobj
84
84
  (PDFKit)
85
85
  endobj
86
86
  15 0 obj
87
- (D:20220105141308Z)
87
+ (D:20220210110012Z)
88
88
  endobj
89
89
  12 0 obj
90
90
  <<
@@ -150,7 +150,7 @@ trailer
150
150
  /Size 16
151
151
  /Root 3 0 R
152
152
  /Info 12 0 R
153
- /ID [<2d8f748580b709d467a8dfc2d8cedb2b> <2d8f748580b709d467a8dfc2d8cedb2b>]
153
+ /ID [<d1b51f09c76840eacb334de461938b21> <d1b51f09c76840eacb334de461938b21>]
154
154
  >>
155
155
  startxref
156
156
  1439
@@ -79,7 +79,7 @@ endobj
79
79
  (PDFKit)
80
80
  endobj
81
81
  15 0 obj
82
- (D:20220105141307Z)
82
+ (D:20220210110011Z)
83
83
  endobj
84
84
  12 0 obj
85
85
  <<
@@ -145,7 +145,7 @@ trailer
145
145
  /Size 16
146
146
  /Root 3 0 R
147
147
  /Info 12 0 R
148
- /ID [<3c7e24947b3759fe250cc7ebd277f800> <3c7e24947b3759fe250cc7ebd277f800>]
148
+ /ID [<8f23dc9fcd536a8abfa75eaa701e8a0c> <8f23dc9fcd536a8abfa75eaa701e8a0c>]
149
149
  >>
150
150
  startxref
151
151
  1212
@@ -43,7 +43,7 @@ endobj
43
43
  (PDFKit)
44
44
  endobj
45
45
  12 0 obj
46
- (D:20220105141308Z)
46
+ (D:20220210110012Z)
47
47
  endobj
48
48
  9 0 obj
49
49
  <<
@@ -106,7 +106,7 @@ trailer
106
106
  /Size 13
107
107
  /Root 3 0 R
108
108
  /Info 9 0 R
109
- /ID [<80a4a883addd5daa68f7e212d82ef986> <80a4a883addd5daa68f7e212d82ef986>]
109
+ /ID [<65fe1a3be09de80cff5ca9a7fe3b832f> <65fe1a3be09de80cff5ca9a7fe3b832f>]
110
110
  >>
111
111
  startxref
112
112
  837
@@ -98,7 +98,7 @@ function measureParagraph(
98
98
  paragraph.styleName,
99
99
  resources
100
100
  ) as AD.ParagraphStyle.ParagraphStyle;
101
- const contentAvailableWidth = availableSize.width - (style.margins.left + style.margins.left);
101
+ const contentAvailableWidth = availableSize.width - (style.margins.left + style.margins.right);
102
102
  const contentAvailableHeight = availableSize.height - (style.margins.top + style.margins.bottom);
103
103
  const contentAvailableSize = AD.Size.create(contentAvailableWidth, contentAvailableHeight);
104
104
 
@@ -216,7 +216,9 @@ export function measureTable(
216
216
  const elementSizes = measureSectionElement(pdf, resources, elementAvailableSize, element);
217
217
  elementSizes.forEach((v, k) => desiredSizes.set(k, v));
218
218
  const elementSize = getDesiredSize(element, desiredSizes);
219
- cellDesiredHeight += elementSize.height;
219
+ if (!AD.Position.isPositionAbsolute(element)) {
220
+ cellDesiredHeight += elementSize.height;
221
+ }
220
222
  }
221
223
 
222
224
  desiredSizes.set(cell, AD.Size.create(cellWidth, cellDesiredHeight));
@@ -253,7 +255,13 @@ function measureGroup(
253
255
  let desiredSizes = mergeMaps(
254
256
  keepTogether.children.map((e) => measureSectionElement(pdf, resources, availableSize, e))
255
257
  );
256
- let desiredHeight = R.reduce((sum, e) => sum + getDesiredSize(e, desiredSizes).height, 0.0, keepTogether.children);
258
+ let desiredHeight = R.reduce(
259
+ (sum, e) => {
260
+ return sum + (AD.Position.isPositionAbsolute(e) ? 0 : getDesiredSize(e, desiredSizes).height);
261
+ },
262
+ 0.0,
263
+ keepTogether.children
264
+ );
257
265
  desiredSizes.set(keepTogether, AD.Size.create(availableSize.width, desiredHeight));
258
266
  return desiredSizes;
259
267
  }
@@ -75,9 +75,10 @@ function splitSection(
75
75
  i--;
76
76
  continue;
77
77
  }
78
+ const isPositionAbsolute = AD.Position.isPositionAbsolute(element);
78
79
 
79
80
  elements.push(element);
80
- elementsHeight += elementSize.height;
81
+ elementsHeight += isPositionAbsolute ? 0 : elementSize.height;
81
82
 
82
83
  const [leadingSpace, trailingSpace] = getLeadingAndTrailingSpace(resources, section, elements);
83
84
  const availableHeight = contentRect.height + leadingSpace + trailingSpace;
@@ -85,7 +86,7 @@ function splitSection(
85
86
  if (element.type === "Table" && element.children.length > 1) {
86
87
  //Remove last element
87
88
  elements.pop();
88
- elementsHeight -= elementSize.height;
89
+ elementsHeight -= elementSize.height; //TODO: handle absolute positioned elements
89
90
 
90
91
  //Try to split table
91
92
  const [tableHead, tableTail] = splitTable(
@@ -373,11 +373,12 @@ function preProcessGroup(
373
373
  const children = R.unnest<AD.SectionElement.SectionElement>(
374
374
  group.children.map((e) => preProcessSectionElement(e, parentResources))
375
375
  );
376
- if (group.keepTogether || AD.Resources.hasResources(group)) {
376
+ if (group.keepTogether || AD.Resources.hasResources(group) || group.style.position === "absolute") {
377
377
  return [
378
378
  AD.Group.create(
379
379
  {
380
380
  keepTogether: group.keepTogether,
381
+ style: group.style,
381
382
  ...AD.Resources.extractResources(group),
382
383
  },
383
384
  children
@@ -94,17 +94,21 @@ function renderPage(
94
94
  });
95
95
 
96
96
  const headerX = style.headerMargins.left;
97
- let headerY = style.headerMargins.top;
97
+ const headerStart = style.headerMargins.top;
98
+ let headerY = headerStart;
98
99
  for (let element of page.header) {
99
100
  const elementSize = getDesiredSize(element, desiredSizes);
101
+ const isAbsolute = AD.Position.isPositionAbsolute(element);
100
102
  renderSectionElement(
101
103
  resources,
102
104
  pdf,
103
105
  desiredSizes,
104
- AD.Rect.create(headerX, headerY, elementSize.width, elementSize.height),
106
+ AD.Rect.create(headerX, isAbsolute ? headerStart : headerY, elementSize.width, elementSize.height),
105
107
  element
106
108
  );
107
- headerY += elementSize.height;
109
+ if (!isAbsolute) {
110
+ headerY += elementSize.height;
111
+ }
108
112
  }
109
113
  headerY += style.headerMargins.bottom;
110
114
 
@@ -113,30 +117,38 @@ function renderPage(
113
117
  style.footerMargins.top + style.footerMargins.bottom
114
118
  );
115
119
  const footerX = style.footerMargins.left;
116
- let footerY = pageHeight - (footerHeight - style.footerMargins.top);
120
+ const footerStart = pageHeight - (footerHeight - style.footerMargins.top);
121
+ let footerY = footerStart;
117
122
  for (let element of page.footer) {
118
123
  const elementSize = getDesiredSize(element, desiredSizes);
124
+ const isAbsolute = AD.Position.isPositionAbsolute(element);
119
125
  renderSectionElement(
120
126
  resources,
121
127
  pdf,
122
128
  desiredSizes,
123
- AD.Rect.create(footerX, footerY, elementSize.width, elementSize.height),
129
+ AD.Rect.create(footerX, isAbsolute ? footerStart : footerY, elementSize.width, elementSize.height),
124
130
  element
125
131
  );
126
- footerY += elementSize.height;
132
+ if (!isAbsolute) {
133
+ footerY += elementSize.height;
134
+ }
127
135
  }
128
136
 
129
- let y = contentRect.y;
137
+ const elementStart = contentRect.y;
138
+ let y = elementStart;
130
139
  for (const element of page.elements) {
131
140
  const elementSize = getDesiredSize(element, desiredSizes);
141
+ const isAbsolute = AD.Position.isPositionAbsolute(element);
132
142
  renderSectionElement(
133
143
  resources,
134
144
  pdf,
135
145
  desiredSizes,
136
- AD.Rect.create(contentRect.x, y, elementSize.width, elementSize.height),
146
+ AD.Rect.create(contentRect.x, isAbsolute ? elementStart : y, elementSize.width, elementSize.height),
137
147
  element
138
148
  );
139
- y += elementSize.height;
149
+ if (!isAbsolute) {
150
+ y += elementSize.height;
151
+ }
140
152
  }
141
153
  }
142
154
 
@@ -189,17 +201,22 @@ function renderGroup(
189
201
  finalRect: AD.Rect.Rect,
190
202
  group: AD.Group.Group
191
203
  ): void {
192
- let y = finalRect.y;
204
+ const finalX = finalRect.x + group.style.margins.left;
205
+ const startY = finalRect.y + group.style.margins.top;
206
+ let y = startY;
193
207
  for (const element of group.children) {
194
208
  const elementSize = getDesiredSize(element, desiredSizes);
209
+ const isAbsolute = AD.Position.isPositionAbsolute(element);
195
210
  renderSectionElement(
196
211
  resources,
197
212
  pdf,
198
213
  desiredSizes,
199
- AD.Rect.create(finalRect.x, y, elementSize.width, elementSize.height),
214
+ AD.Rect.create(finalX, isAbsolute ? startY : y, elementSize.width, elementSize.height),
200
215
  element
201
216
  );
202
- y += elementSize.height;
217
+ if (!isAbsolute) {
218
+ y += elementSize.height;
219
+ }
203
220
  }
204
221
  }
205
222
 
@@ -283,6 +300,12 @@ function renderParagraph(
283
300
  const rowWidth = row.reduce((a, b) => a + getDesiredSize(b, desiredSizes).width, 0);
284
301
  let x = finalRect.x;
285
302
 
303
+ if (style.alignment === "Start" || style.alignment === "Justify") {
304
+ x += style.margins.left;
305
+ } else if (style.alignment === "End") {
306
+ x -= style.margins.right;
307
+ }
308
+
286
309
  if (row.length > 1 || row[0].type === "Image") {
287
310
  // Using continued with alignment "center" or "right" is broken:
288
311
  // https://github.com/foliojs/pdfkit/issues/240
@@ -704,8 +727,11 @@ function renderCell(
704
727
 
705
728
  let x = finalRect.x + style.padding.left;
706
729
  const availableHeight = finalRect.height;
707
- let contentHeight = cell.children.map((c) => getDesiredSize(c, desiredSizes).height).reduce((a, b) => a + b, 0);
708
- let y = finalRect.y + style.padding.top;
730
+ let contentHeight = cell.children
731
+ .map((c) => (AD.Position.isPositionAbsolute(c) ? 0 : getDesiredSize(c, desiredSizes).height))
732
+ .reduce((a, b) => a + b, 0);
733
+ const startY = finalRect.y + style.padding.top;
734
+ let y = startY;
709
735
  if (style.verticalAlignment === "Middle")
710
736
  y += 0.5 * (availableHeight - contentHeight - style.padding.top - style.padding.bottom);
711
737
  else if (style.verticalAlignment === "Bottom")
@@ -713,9 +739,12 @@ function renderCell(
713
739
 
714
740
  for (const element of cell.children) {
715
741
  const elementSize = getDesiredSize(element, desiredSizes);
716
- const elementRect = AD.Rect.create(x, y, elementSize.width, elementSize.height);
742
+ const isAbsolute = AD.Position.isPositionAbsolute(element);
743
+ const elementRect = AD.Rect.create(x, isAbsolute ? startY : y, elementSize.width, elementSize.height);
717
744
  renderSectionElement(resources, pdf, desiredSizes, elementRect, element);
718
- y += elementSize.height;
745
+ if (!isAbsolute) {
746
+ y += elementSize.height;
747
+ }
719
748
  }
720
749
 
721
750
  //Needed to counter aliasing caused by the cells background fill