abstract-document 6.10.4 → 6.11.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 (160) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/abstract-document/atoms/atom.d.ts +2 -1
  3. package/lib/abstract-document/atoms/atom.d.ts.map +1 -1
  4. package/lib/abstract-document/atoms/line-break.d.ts +7 -0
  5. package/lib/abstract-document/atoms/line-break.d.ts.map +1 -0
  6. package/lib/abstract-document/atoms/line-break.js +10 -0
  7. package/lib/abstract-document/atoms/line-break.js.map +1 -0
  8. package/lib/abstract-document/index.d.ts +2 -1
  9. package/lib/abstract-document/index.d.ts.map +1 -1
  10. package/lib/abstract-document/index.js +3 -1
  11. package/lib/abstract-document/index.js.map +1 -1
  12. package/lib/abstract-document/markdown/markdown.d.ts.map +1 -1
  13. package/lib/abstract-document/markdown/markdown.js +5 -2
  14. package/lib/abstract-document/markdown/markdown.js.map +1 -1
  15. package/lib/abstract-document/markdown/types.d.ts +4 -1
  16. package/lib/abstract-document/markdown/types.d.ts.map +1 -1
  17. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/manual-line-break-empty-lines.d.ts +3 -0
  18. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/manual-line-break-empty-lines.d.ts.map +1 -0
  19. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/manual-line-break-empty-lines.js +76 -0
  20. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/manual-line-break-empty-lines.js.map +1 -0
  21. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/manual-line-break.d.ts +3 -0
  22. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/manual-line-break.d.ts.map +1 -0
  23. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/manual-line-break.js +73 -0
  24. package/lib/abstract-document-exporters/__tests__/pdf/test-defs/manual-line-break.js.map +1 -0
  25. package/lib/abstract-document-exporters/pdf/measure.d.ts.map +1 -1
  26. package/lib/abstract-document-exporters/pdf/measure.js +54 -30
  27. package/lib/abstract-document-exporters/pdf/measure.js.map +1 -1
  28. package/lib/abstract-document-exporters/pdf/render.js +10 -1
  29. package/lib/abstract-document-exporters/pdf/render.js.map +1 -1
  30. package/lib/abstract-document-jsx/index.d.ts +2 -1
  31. package/lib/abstract-document-jsx/index.d.ts.map +1 -1
  32. package/lib/abstract-document-jsx/index.js +3 -1
  33. package/lib/abstract-document-jsx/index.js.map +1 -1
  34. package/package.json +2 -2
  35. package/src/abstract-document/atoms/atom.ts +2 -7
  36. package/src/abstract-document/atoms/line-break.ts +11 -0
  37. package/src/abstract-document/index.ts +2 -0
  38. package/src/abstract-document/markdown/markdown.ts +4 -2
  39. package/src/abstract-document/markdown/types.ts +6 -1
  40. package/src/abstract-document-exporters/__tests__/docx2/tmp/Group.docx +0 -0
  41. 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
  42. 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
  43. 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
  44. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple images.docx +0 -0
  45. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple tables.docx +0 -0
  46. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with Center alignment.docx +0 -0
  47. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with End alignment.docx +0 -0
  48. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with Start alignment that linebreaks.docx +0 -0
  49. package/src/abstract-document-exporters/__tests__/docx2/tmp/Multiple textrun with Start alignment.docx +0 -0
  50. package/src/abstract-document-exporters/__tests__/docx2/tmp/Page numbering.docx +0 -0
  51. 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
  52. package/src/abstract-document-exporters/__tests__/docx2/tmp/Simple table without rows.docx +0 -0
  53. package/src/abstract-document-exporters/__tests__/docx2/tmp/Simple table.docx +0 -0
  54. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single hyperlink.docx +0 -0
  55. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single image.docx +0 -0
  56. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Center alignment that linebreaks.docx +0 -0
  57. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Center alignment.docx +0 -0
  58. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with End alignment that linebreaks.docx +0 -0
  59. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with End alignment.docx +0 -0
  60. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Start alignment that linebreaks.docx +0 -0
  61. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun with Start alignment.docx +0 -0
  62. package/src/abstract-document-exporters/__tests__/docx2/tmp/Single textrun.docx +0 -0
  63. package/src/abstract-document-exporters/__tests__/docx2/tmp/hello with Arial font.docx +0 -0
  64. package/src/abstract-document-exporters/__tests__/docx2/tmp/hello.docx +0 -0
  65. package/src/abstract-document-exporters/__tests__/docx2/tmp/letter-dimensions.docx +0 -0
  66. package/src/abstract-document-exporters/__tests__/docx2/tmp/page-orientation-landscape.docx +0 -0
  67. package/src/abstract-document-exporters/__tests__/docx2/tmp/page-orientation-portrait.docx +0 -0
  68. package/src/abstract-document-exporters/__tests__/docx2/tmp/tocSeparator.docx +0 -0
  69. package/src/abstract-document-exporters/__tests__/docx2/tmp/world.docx +0 -0
  70. package/src/abstract-document-exporters/__tests__/pdf/test-defs/manual-line-break-empty-lines.tsx +77 -0
  71. package/src/abstract-document-exporters/__tests__/pdf/test-defs/manual-line-break.tsx +73 -0
  72. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position group.pdf +2 -2
  73. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position header and footer.pdf +2 -2
  74. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position paragraph.pdf +2 -2
  75. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position section in group.pdf +2 -2
  76. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position section in table.pdf +2 -2
  77. package/src/abstract-document-exporters/__tests__/pdf/tmp/Absolute position table.pdf +2 -2
  78. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group Paragraphs.pdf +2 -2
  79. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group Tables.pdf +2 -2
  80. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group no keeptogether.pdf +2 -2
  81. package/src/abstract-document-exporters/__tests__/pdf/tmp/Group too big for one page.pdf +2 -2
  82. package/src/abstract-document-exporters/__tests__/pdf/tmp/Header and footer.pdf +2 -2
  83. package/src/abstract-document-exporters/__tests__/pdf/tmp/Hyperlink internal linktarget.pdf +2 -2
  84. package/src/abstract-document-exporters/__tests__/pdf/tmp/Hyperlink internal.pdf +2 -2
  85. package/src/abstract-document-exporters/__tests__/pdf/tmp/Manual line break.pdf +123 -0
  86. package/src/abstract-document-exporters/__tests__/pdf/tmp/Manual line breaks empty lines.pdf +123 -0
  87. package/src/abstract-document-exporters/__tests__/pdf/tmp/Margins header body footer.pdf +2 -2
  88. package/src/abstract-document-exporters/__tests__/pdf/tmp/Mixed hyperlink and textrun no underline.pdf +2 -2
  89. package/src/abstract-document-exporters/__tests__/pdf/tmp/Mixed hyperlink and textrun with underline.pdf +2 -2
  90. package/src/abstract-document-exporters/__tests__/pdf/tmp/Mixed hyperlink and textrun.pdf +2 -2
  91. 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
  92. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple images overflow.pdf +0 -0
  93. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple images.pdf +0 -0
  94. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with Center alignment.pdf +2 -2
  95. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with End alignment.pdf +2 -2
  96. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with Start alignment that linebreaks.pdf +2 -2
  97. package/src/abstract-document-exporters/__tests__/pdf/tmp/Multiple textrun with Start alignment.pdf +2 -2
  98. package/src/abstract-document-exporters/__tests__/pdf/tmp/Page numbering.pdf +2 -2
  99. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table row that doesnt fit page.pdf +2 -2
  100. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table single row.pdf +2 -2
  101. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with group.pdf +2 -2
  102. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with header 2.pdf +2 -2
  103. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with header.pdf +2 -2
  104. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with margin bottom.pdf +2 -2
  105. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with margin top single table.pdf +2 -2
  106. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with margin top.pdf +2 -2
  107. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with rowSpan multipages.pdf +2 -2
  108. package/src/abstract-document-exporters/__tests__/pdf/tmp/Pagebreak table with rowSpan.pdf +2 -2
  109. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table all auto.pdf +2 -2
  110. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table all fix.pdf +2 -2
  111. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table background.pdf +2 -2
  112. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table cell padding of image.pdf +0 -0
  113. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table cell padding of text.pdf +2 -2
  114. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table center alignment.pdf +2 -2
  115. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table colSpan and rowSpan.pdf +2 -2
  116. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table minimal row height.pdf +2 -2
  117. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table mix auto fix.pdf +2 -2
  118. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table padding.pdf +2 -2
  119. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table right alignment.pdf +2 -2
  120. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table row alignment.pdf +2 -2
  121. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table text alignment in cell with wrapping.pdf +2 -2
  122. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table text alignment in cell.pdf +2 -2
  123. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with default colored borders.pdf +2 -2
  124. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with header.pdf +2 -2
  125. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with multi colored borders.pdf +2 -2
  126. package/src/abstract-document-exporters/__tests__/pdf/tmp/Simple table with single colored borders.pdf +2 -2
  127. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single date.pdf +3 -3
  128. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single figure.pdf +2 -2
  129. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single hyperlink centered.pdf +2 -2
  130. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single hyperlink no underline.pdf +2 -2
  131. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single hyperlink right aligned.pdf +2 -2
  132. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single hyperlink.pdf +2 -2
  133. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image from URL.pdf +0 -0
  134. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image svg color hex.pdf +2 -2
  135. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image svg color name.pdf +2 -2
  136. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image svg color url.pdf +2 -2
  137. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image svg dasharray.pdf +2 -2
  138. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single image.pdf +0 -0
  139. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun baseline alphabetic.pdf +2 -2
  140. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun baseline bottom.pdf +2 -2
  141. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun baseline hanging.pdf +2 -2
  142. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun baseline middle.pdf +2 -2
  143. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun baseline top.pdf +2 -2
  144. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Center alignment that linebreaks.pdf +2 -2
  145. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Center alignment.pdf +2 -2
  146. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with End alignment that linebreaks.pdf +2 -2
  147. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with End alignment.pdf +2 -2
  148. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Justify alignment.pdf +2 -2
  149. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Start alignment that linebreaks.pdf +2 -2
  150. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with Start alignment.pdf +2 -2
  151. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun with super and subscripts.pdf +2 -2
  152. package/src/abstract-document-exporters/__tests__/pdf/tmp/Single textrun.pdf +2 -2
  153. package/src/abstract-document-exporters/__tests__/pdf/tmp/Table of content separator.pdf +2 -2
  154. package/src/abstract-document-exporters/__tests__/pdf/tmp/hello with roman font.pdf +2 -2
  155. package/src/abstract-document-exporters/__tests__/pdf/tmp/hello.pdf +2 -2
  156. package/src/abstract-document-exporters/__tests__/pdf/tmp/pagebreak.pdf +2 -2
  157. package/src/abstract-document-exporters/__tests__/pdf/tmp/world.pdf +2 -2
  158. package/src/abstract-document-exporters/pdf/measure.ts +68 -37
  159. package/src/abstract-document-exporters/pdf/render.ts +10 -1
  160. package/src/abstract-document-jsx/index.ts +2 -0
@@ -51,7 +51,7 @@ endobj
51
51
  (PDFKit)
52
52
  endobj
53
53
  12 0 obj
54
- (D:20230525131543Z)
54
+ (D:20230608065812Z)
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 [<1e8f742f019fed6c07d991fdedd94e00> <1e8f742f019fed6c07d991fdedd94e00>]
117
+ /ID [<5aa8c31db49da96a882ad12308004bce> <5aa8c31db49da96a882ad12308004bce>]
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:20230525131543Z)
46
+ (D:20230608065812Z)
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 [<8c3220ee8968c0d9769bd110e2a320f3> <8c3220ee8968c0d9769bd110e2a320f3>]
109
+ /ID [<e9d4f28e7d854cb346d3e6ba388f946c> <e9d4f28e7d854cb346d3e6ba388f946c>]
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:20230525131543Z)
54
+ (D:20230608065812Z)
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 [<3f5f622a2c97d6ba5d93d7e396dde755> <3f5f622a2c97d6ba5d93d7e396dde755>]
117
+ /ID [<93d9a8db60abda27b0487774741b48a5> <93d9a8db60abda27b0487774741b48a5>]
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:20230525131543Z)
46
+ (D:20230608065812Z)
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 [<8648768a38a6d173d82f80ac8fcecab9> <8648768a38a6d173d82f80ac8fcecab9>]
109
+ /ID [<d97f18a85e933a40e5e66524c283a493> <d97f18a85e933a40e5e66524c283a493>]
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:20230525131543Z)
46
+ (D:20230608065812Z)
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 [<377927c194d231b2e736820c362dc124> <377927c194d231b2e736820c362dc124>]
109
+ /ID [<0e6de0384d1fc397480213f663476d17> <0e6de0384d1fc397480213f663476d17>]
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:20230525131543Z)
54
+ (D:20230608065812Z)
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 [<eb088bfc6ef16e967dcb9bc85e2fd5c5> <eb088bfc6ef16e967dcb9bc85e2fd5c5>]
117
+ /ID [<d727fcc1be4b0b5c5335cba92fe3e6b2> <d727fcc1be4b0b5c5335cba92fe3e6b2>]
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:20230525131543Z)
46
+ (D:20230608065812Z)
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 [<67e2d0ec43d2ce24d49e0f271a51e41f> <67e2d0ec43d2ce24d49e0f271a51e41f>]
109
+ /ID [<b4e937497ce7da3cf087843f1dd36485> <b4e937497ce7da3cf087843f1dd36485>]
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:20230525131543Z)
66
+ (D:20230608065812Z)
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 [<a0f26c0a6aebb1b0dcb160868ea332be> <a0f26c0a6aebb1b0dcb160868ea332be>]
129
+ /ID [<c947cc1fbc46d25a2ca6e0998ca880fb> <c947cc1fbc46d25a2ca6e0998ca880fb>]
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:20230525131543Z)
46
+ (D:20230608065812Z)
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 [<c9b6be6bccaf465d4a348af322e457a4> <c9b6be6bccaf465d4a348af322e457a4>]
109
+ /ID [<ff6e69619150df3b6db0d42e3e69ecb0> <ff6e69619150df3b6db0d42e3e69ecb0>]
110
110
  >>
111
111
  startxref
112
112
  824
@@ -71,7 +71,7 @@ endobj
71
71
  (PDFKit)
72
72
  endobj
73
73
  14 0 obj
74
- (D:20230525131543Z)
74
+ (D:20230608065812Z)
75
75
  endobj
76
76
  11 0 obj
77
77
  <<
@@ -136,7 +136,7 @@ trailer
136
136
  /Size 15
137
137
  /Root 3 0 R
138
138
  /Info 11 0 R
139
- /ID [<e5a41a4afd04adc92da7a2227a7abdf4> <e5a41a4afd04adc92da7a2227a7abdf4>]
139
+ /ID [<3e87d7be7742d4546833e51d430b2636> <3e87d7be7742d4546833e51d430b2636>]
140
140
  >>
141
141
  startxref
142
142
  1232
@@ -43,7 +43,7 @@ endobj
43
43
  (PDFKit)
44
44
  endobj
45
45
  12 0 obj
46
- (D:20230525131541Z)
46
+ (D:20230608065810Z)
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 [<82b0555981391f5535bad2d51a0b9262> <82b0555981391f5535bad2d51a0b9262>]
109
+ /ID [<934112d90e67c46dbc73bdd5306c4e9d> <934112d90e67c46dbc73bdd5306c4e9d>]
110
110
  >>
111
111
  startxref
112
112
  894
@@ -79,7 +79,7 @@ endobj
79
79
  (PDFKit)
80
80
  endobj
81
81
  15 0 obj
82
- (D:20230525131542Z)
82
+ (D:20230608065811Z)
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 [<00c51155fa8490c248759740d85ae566> <00c51155fa8490c248759740d85ae566>]
148
+ /ID [<f9cc22232a65c37d0c256468909cf644> <f9cc22232a65c37d0c256468909cf644>]
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:20230525131541Z)
46
+ (D:20230608065810Z)
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 [<72b0a8f7056a98574b479c589a1496d4> <72b0a8f7056a98574b479c589a1496d4>]
109
+ /ID [<04e05e7e8ee47a45ab26c110b7d0e49b> <04e05e7e8ee47a45ab26c110b7d0e49b>]
110
110
  >>
111
111
  startxref
112
112
  824
@@ -43,7 +43,7 @@ endobj
43
43
  (PDFKit)
44
44
  endobj
45
45
  12 0 obj
46
- (D:20230525131543Z)
46
+ (D:20230608065812Z)
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 [<037b19ea4b5ac9ce5f8c10f3fb337b11> <037b19ea4b5ac9ce5f8c10f3fb337b11>]
109
+ /ID [<2d39a98aa94d3e77acb70ef84bf204f7> <2d39a98aa94d3e77acb70ef84bf204f7>]
110
110
  >>
111
111
  startxref
112
112
  837
@@ -102,51 +102,67 @@ function measureParagraph(
102
102
  const contentAvailableHeight = availableSize.height - (style.margins.top + style.margins.bottom);
103
103
  const contentAvailableSize = AD.Size.create(contentAvailableWidth, contentAvailableHeight);
104
104
 
105
- const initialHeight = style.margins.top + style.margins.bottom;
106
- let desiredHeight = initialHeight;
107
- let currentRowWidth = 0;
108
- let currentRowHeight = 0;
105
+ let paragraphHeight = style.margins.top + style.margins.bottom;
109
106
  let desiredSizes = new Map<any, AD.Size.Size>();
110
- let concatenatedText = "";
111
- let hasAtomImage = false;
112
- let textOptions;
113
- for (let atom of paragraph.children) {
114
- if (atom.type === "Image") {
115
- hasAtomImage = true;
116
- }
117
- const atomSize = measureAtom(
118
- pdf,
119
- resources,
120
- style.textStyle,
121
- contentAvailableSize,
122
- contentAvailableSize.width - currentRowWidth,
123
- atom
124
- );
125
- if (atom.type === "TextRun" || atom.type === "TextField" || atom.type === "HyperLink") {
126
- concatenatedText += atom.text;
127
- textOptions = getBiggestStyle(atom, style, resources, textOptions);
128
- }
129
- desiredSizes.set(atom, atomSize);
130
- currentRowWidth += atomSize.width;
131
- currentRowHeight = Math.max(atomSize.height, currentRowHeight);
132
- if (currentRowWidth > contentAvailableSize.width) {
133
- desiredHeight += currentRowHeight;
134
- currentRowWidth = 0;
135
- currentRowHeight = 0;
107
+
108
+ const rows: Array<Array<AD.Atom.Atom>> = [];
109
+ let currentRow: Array<AD.Atom.Atom> = [];
110
+ for (const atom of paragraph.children) {
111
+ currentRow.push(atom);
112
+ if (atom.type === "LineBreak") {
113
+ rows.push(currentRow);
114
+ currentRow = [];
136
115
  }
137
116
  }
138
- if (hasAtomImage) {
139
- desiredHeight += currentRowHeight;
140
- } else {
141
- desiredHeight =
142
- initialHeight +
143
- pdf.heightOfString(concatenatedText, {
117
+ if (currentRow.length > 0) {
118
+ rows.push(currentRow);
119
+ }
120
+
121
+ for (const row of rows) {
122
+ let desiredHeight = 0;
123
+ let currentRowWidth = 0;
124
+ let currentRowHeight = 0;
125
+ let concatenatedText = "";
126
+ let hasAtomImage = false;
127
+ let textOptions;
128
+ for (const atom of row) {
129
+ if (atom.type === "Image") {
130
+ hasAtomImage = true;
131
+ }
132
+ const atomSize = measureAtom(
133
+ pdf,
134
+ resources,
135
+ style.textStyle,
136
+ contentAvailableSize,
137
+ contentAvailableSize.width - currentRowWidth,
138
+ atom
139
+ );
140
+ if (atom.type === "TextRun" || atom.type === "TextField" || atom.type === "HyperLink") {
141
+ concatenatedText += atom.text;
142
+ textOptions = getBiggestStyle(atom, style, resources, textOptions);
143
+ }
144
+ desiredSizes.set(atom, atomSize);
145
+ currentRowWidth += atomSize.width;
146
+ currentRowHeight = Math.max(atomSize.height, currentRowHeight);
147
+ if (currentRowWidth > contentAvailableSize.width) {
148
+ desiredHeight += currentRowHeight;
149
+ currentRowWidth = 0;
150
+ currentRowHeight = 0;
151
+ }
152
+ }
153
+ if (row.length === 1 && row[0].type === "LineBreak") {
154
+ paragraphHeight += currentRowHeight;
155
+ } else if (hasAtomImage) {
156
+ paragraphHeight += desiredHeight + currentRowHeight;
157
+ } else {
158
+ paragraphHeight += pdf.heightOfString(concatenatedText, {
144
159
  width: textOptions && textOptions.lineBreak === false ? Infinity : availableSize.width,
145
160
  ...textOptions,
146
161
  });
162
+ }
147
163
  }
148
164
 
149
- desiredSizes.set(paragraph, AD.Size.create(availableSize.width, desiredHeight));
165
+ desiredSizes.set(paragraph, AD.Size.create(availableSize.width, paragraphHeight));
150
166
 
151
167
  return desiredSizes;
152
168
  }
@@ -313,6 +329,8 @@ function measureAtom(
313
329
  return measureHyperLink(pdf, resources, textStyle, atom, availableSize);
314
330
  case "TocSeparator":
315
331
  return measureTocSeparator(pdf, textStyle, availableSize, availableRowSpace);
332
+ case "LineBreak":
333
+ return measureLineBreak(pdf, resources, textStyle, availableSize);
316
334
  case "LinkTarget":
317
335
  return {
318
336
  width: availableSize.width,
@@ -323,6 +341,19 @@ function measureAtom(
323
341
  }
324
342
  }
325
343
 
344
+ function measureLineBreak(
345
+ pdf: any,
346
+ resources: AD.Resources.Resources,
347
+ textStyle: AD.TextStyle.TextStyle,
348
+ availableSize: AD.Size.Size
349
+ ): AD.Size.Size {
350
+ const textSize = measureText(pdf, "A", textStyle, availableSize);
351
+ return {
352
+ height: textSize.height,
353
+ width: 0,
354
+ };
355
+ }
356
+
326
357
  function measureTextRun(
327
358
  pdf: any,
328
359
  resources: AD.Resources.Resources,
@@ -241,6 +241,13 @@ function renderParagraph(
241
241
  let currentWidth = 0;
242
242
  let previousAtomType: string | undefined;
243
243
  for (const atom of paragraph.children) {
244
+ if (atom.type === "LineBreak") {
245
+ currentRow.push(atom);
246
+ rows.push(currentRow);
247
+ currentRow = [];
248
+ continue;
249
+ }
250
+
244
251
  if (!previousAtomType) {
245
252
  // First atom
246
253
  previousAtomType = atom.type;
@@ -320,7 +327,7 @@ function renderParagraph(
320
327
 
321
328
  let rowHeight = 0;
322
329
 
323
- const lastIndex = row.length - 1;
330
+ const lastIndex = row[row.length - 1]?.type === "LineBreak" ? row.length - 2 : row.length - 1;
324
331
  for (const [i, atom] of row.entries()) {
325
332
  const atomSize = getDesiredSize(atom, desiredSizes);
326
333
  renderAtom(
@@ -387,6 +394,8 @@ function renderAtom(
387
394
  return;
388
395
  case "LinkTarget":
389
396
  return;
397
+ case "LineBreak":
398
+ return;
390
399
  }
391
400
  }
392
401
 
@@ -16,6 +16,7 @@ import {
16
16
  TextField as TextField1,
17
17
  TextRun as TextRun1,
18
18
  PageBreak as PageBreak1,
19
+ LineBreak as LineBreak1,
19
20
  //Resources,
20
21
  //MasterPage,
21
22
  //ParagraphStyle,
@@ -54,6 +55,7 @@ export const Markdown = (props: Markdown1.MarkdownProps): JSX.Element => Markdow
54
55
  export const TextField = (props: TextField1.TextFieldProps): JSX.Element => TextField1.create(props) as any;
55
56
  export const TextRun = (props: TextRun1.TextRunProps): JSX.Element => TextRun1.create(props) as any;
56
57
  export const PageBreak = (props: PageBreak1.PageBreakProps): JSX.Element => PageBreak1.create(props) as any;
58
+ export const LineBreak = (props: LineBreak1.LineBreakProps): JSX.Element => LineBreak1.create(props) as any;
57
59
 
58
60
  export function render(element: any): any {
59
61
  if (typeof element.type !== "function") {