documents.js 1.61.0 → 1.63.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 (236) hide show
  1. package/README.md +120 -47
  2. package/dist/{blr-types-CYYC3yYU.d.cts → blr-types-DVgO1DQ9.d.cts} +1 -1
  3. package/dist/{blr-types-CYYC3yYU.d.ts → blr-types-DVgO1DQ9.d.ts} +1 -1
  4. package/dist/convert/capability.cjs +1 -0
  5. package/dist/convert/capability.d.cts +1 -1
  6. package/dist/convert/capability.d.ts +1 -1
  7. package/dist/convert/capability.js +1 -0
  8. package/dist/convert/convert.cjs +92 -38
  9. package/dist/convert/convert.d.cts +11 -4
  10. package/dist/convert/convert.d.ts +11 -4
  11. package/dist/convert/convert.js +93 -39
  12. package/dist/convert/local.cjs +15 -2
  13. package/dist/convert/local.js +15 -2
  14. package/dist/convert/port.d.cts +8 -4
  15. package/dist/convert/port.d.ts +8 -4
  16. package/dist/edit/docx/content.cjs +75 -13
  17. package/dist/edit/docx/content.d.cts +8 -2
  18. package/dist/edit/docx/content.d.ts +8 -2
  19. package/dist/edit/docx/content.js +75 -13
  20. package/dist/edit/docx/paragraph.cjs +14 -0
  21. package/dist/edit/docx/paragraph.d.cts +5 -0
  22. package/dist/edit/docx/paragraph.d.ts +5 -0
  23. package/dist/edit/docx/paragraph.js +14 -0
  24. package/dist/edit/docx/run.cjs +1 -1
  25. package/dist/edit/docx/run.js +1 -1
  26. package/dist/edit/docx/table.cjs +41 -0
  27. package/dist/edit/docx/table.d.cts +7 -1
  28. package/dist/edit/docx/table.d.ts +7 -1
  29. package/dist/edit/docx/table.js +42 -1
  30. package/dist/edit/geometry.cjs +38 -0
  31. package/dist/edit/geometry.d.cts +7 -0
  32. package/dist/edit/geometry.d.ts +7 -0
  33. package/dist/edit/geometry.js +36 -0
  34. package/dist/edit/odg/content.cjs +15 -12
  35. package/dist/edit/odg/content.js +15 -12
  36. package/dist/edit/odg/editor.d.cts +1 -1
  37. package/dist/edit/odg/editor.d.ts +1 -1
  38. package/dist/edit/odg/page.d.cts +3 -3
  39. package/dist/edit/odg/page.d.ts +3 -3
  40. package/dist/edit/odg/vector.cjs +22 -13
  41. package/dist/edit/odg/vector.d.cts +1 -1
  42. package/dist/edit/odg/vector.d.ts +1 -1
  43. package/dist/edit/odg/vector.js +23 -14
  44. package/dist/edit/odp/content.cjs +15 -0
  45. package/dist/edit/odp/content.js +16 -1
  46. package/dist/edit/odp/editor.d.cts +1 -1
  47. package/dist/edit/odp/editor.d.ts +1 -1
  48. package/dist/edit/odp/image.d.cts +1 -1
  49. package/dist/edit/odp/image.d.ts +1 -1
  50. package/dist/edit/odp/shape.cjs +11 -30
  51. package/dist/edit/odp/shape.d.cts +2 -2
  52. package/dist/edit/odp/shape.d.ts +2 -2
  53. package/dist/edit/odp/shape.js +13 -33
  54. package/dist/edit/odp/slide.cjs +11 -0
  55. package/dist/edit/odp/slide.d.cts +14 -4
  56. package/dist/edit/odp/slide.d.ts +14 -4
  57. package/dist/edit/odp/slide.js +12 -1
  58. package/dist/edit/odt/content.cjs +56 -16
  59. package/dist/edit/odt/content.d.cts +4 -2
  60. package/dist/edit/odt/content.d.ts +4 -2
  61. package/dist/edit/odt/content.js +56 -17
  62. package/dist/edit/odt/editor.d.cts +1 -1
  63. package/dist/edit/odt/editor.d.ts +1 -1
  64. package/dist/edit/odt/table.cjs +36 -0
  65. package/dist/edit/odt/table.d.cts +1 -36
  66. package/dist/edit/odt/table.d.ts +1 -36
  67. package/dist/edit/odt/table.js +37 -1
  68. package/dist/edit/pptx/content.cjs +71 -3
  69. package/dist/edit/pptx/content.js +71 -3
  70. package/dist/edit/pptx/editor.d.cts +1 -1
  71. package/dist/edit/pptx/editor.d.ts +1 -1
  72. package/dist/edit/pptx/image.d.cts +1 -1
  73. package/dist/edit/pptx/image.d.ts +1 -1
  74. package/dist/edit/pptx/shape.cjs +23 -1
  75. package/dist/edit/pptx/shape.d.cts +2 -2
  76. package/dist/edit/pptx/shape.d.ts +2 -2
  77. package/dist/edit/pptx/shape.js +23 -3
  78. package/dist/edit/pptx/slide.cjs +10 -1
  79. package/dist/edit/pptx/slide.d.cts +11 -4
  80. package/dist/edit/pptx/slide.d.ts +11 -4
  81. package/dist/edit/pptx/slide.js +10 -1
  82. package/dist/edit/pptx/table.cjs +136 -0
  83. package/dist/edit/pptx/table.d.cts +2 -0
  84. package/dist/edit/pptx/table.d.ts +2 -0
  85. package/dist/edit/pptx/table.js +131 -0
  86. package/dist/firebird/backup.d.cts +1 -1
  87. package/dist/firebird/backup.d.ts +1 -1
  88. package/dist/firebird/blr-types.cjs +2 -2
  89. package/dist/firebird/blr-types.d.cts +1 -1
  90. package/dist/firebird/blr-types.d.ts +1 -1
  91. package/dist/firebird/blr-types.js +2 -2
  92. package/dist/firebird/data.cjs +68 -14
  93. package/dist/firebird/data.d.cts +1 -1
  94. package/dist/firebird/data.d.ts +1 -1
  95. package/dist/firebird/data.js +68 -14
  96. package/dist/firebird/schema.cjs +13 -1
  97. package/dist/firebird/schema.d.cts +1 -1
  98. package/dist/firebird/schema.d.ts +1 -1
  99. package/dist/firebird/schema.js +13 -1
  100. package/dist/fonts/obfuscation.cjs +50 -0
  101. package/dist/fonts/obfuscation.d.cts +9 -0
  102. package/dist/fonts/obfuscation.d.ts +9 -0
  103. package/dist/fonts/obfuscation.js +46 -0
  104. package/dist/fonts/odf.cjs +86 -0
  105. package/dist/fonts/odf.d.cts +9 -0
  106. package/dist/fonts/odf.d.ts +9 -0
  107. package/dist/fonts/odf.js +84 -0
  108. package/dist/fonts/ooxml.cjs +129 -0
  109. package/dist/fonts/ooxml.d.cts +9 -0
  110. package/dist/fonts/ooxml.d.ts +9 -0
  111. package/dist/fonts/ooxml.js +127 -0
  112. package/dist/fonts/registry.cjs +18 -0
  113. package/dist/fonts/registry.d.cts +2 -0
  114. package/dist/fonts/registry.d.ts +2 -0
  115. package/dist/fonts/registry.js +16 -0
  116. package/dist/{geometry-DvwdrIij.d.cts → geometry-DaJr8yQW.d.cts} +2 -2
  117. package/dist/{geometry-DvwdrIij.d.ts → geometry-DaJr8yQW.d.ts} +2 -2
  118. package/dist/hsqldb/binary-script.cjs +154 -0
  119. package/dist/hsqldb/binary-script.d.cts +15 -0
  120. package/dist/hsqldb/binary-script.d.ts +15 -0
  121. package/dist/hsqldb/binary-script.js +151 -0
  122. package/dist/hsqldb/cache.cjs +18 -11
  123. package/dist/hsqldb/cache.d.cts +9 -4
  124. package/dist/hsqldb/cache.d.ts +9 -4
  125. package/dist/hsqldb/cache.js +18 -11
  126. package/dist/hsqldb/rowformat.cjs +60 -16
  127. package/dist/hsqldb/rowformat.d.cts +2 -21
  128. package/dist/hsqldb/rowformat.d.ts +2 -21
  129. package/dist/hsqldb/rowformat.js +60 -17
  130. package/dist/{image-BZDy72Jb.d.cts → image-7snmKIxn.d.cts} +1 -1
  131. package/dist/{image-B-xQWYYS.d.ts → image-Cs8xF753.d.ts} +1 -1
  132. package/dist/{image-CeqwL-Qs.d.ts → image-DHcA9kaK.d.ts} +1 -1
  133. package/dist/{image-DWX6cNOD.d.cts → image-M5SezZVI.d.cts} +1 -1
  134. package/dist/index.cjs +86 -3
  135. package/dist/index.d.cts +33 -21
  136. package/dist/index.d.ts +33 -21
  137. package/dist/index.js +18 -5
  138. package/dist/layout/cell-typing.cjs +209 -0
  139. package/dist/layout/cell-typing.d.cts +22 -0
  140. package/dist/layout/cell-typing.d.ts +22 -0
  141. package/dist/layout/cell-typing.js +208 -0
  142. package/dist/layout/drawing.cjs +193 -17
  143. package/dist/layout/drawing.js +193 -17
  144. package/dist/layout/engine.cjs +46 -29
  145. package/dist/layout/engine.d.cts +0 -2
  146. package/dist/layout/engine.d.ts +0 -2
  147. package/dist/layout/engine.js +47 -30
  148. package/dist/layout/lattice.cjs +139 -0
  149. package/dist/layout/lattice.d.cts +20 -0
  150. package/dist/layout/lattice.d.ts +20 -0
  151. package/dist/layout/lattice.js +135 -0
  152. package/dist/layout/reconstruct.cjs +176 -113
  153. package/dist/layout/reconstruct.d.cts +2 -0
  154. package/dist/layout/reconstruct.d.ts +2 -0
  155. package/dist/layout/reconstruct.js +173 -110
  156. package/dist/layout/shared.cjs +52 -0
  157. package/dist/layout/shared.d.cts +4 -2
  158. package/dist/layout/shared.d.ts +4 -2
  159. package/dist/layout/shared.js +51 -1
  160. package/dist/layout/sheets.cjs +45 -11
  161. package/dist/layout/sheets.js +46 -12
  162. package/dist/layout/slides.cjs +7 -7
  163. package/dist/layout/slides.d.cts +0 -3
  164. package/dist/layout/slides.d.ts +0 -3
  165. package/dist/layout/slides.js +7 -7
  166. package/dist/markdown/write.cjs +19 -6
  167. package/dist/markdown/write.js +19 -6
  168. package/dist/mathml/layout.cjs +2 -2
  169. package/dist/mathml/layout.d.cts +1 -1
  170. package/dist/mathml/layout.d.ts +1 -1
  171. package/dist/mathml/layout.js +2 -2
  172. package/dist/model/embedded-drawing.cjs +32 -0
  173. package/dist/model/embedded-drawing.d.cts +8 -0
  174. package/dist/model/embedded-drawing.d.ts +8 -0
  175. package/dist/model/embedded-drawing.js +30 -0
  176. package/dist/model/formula.cjs +31 -0
  177. package/dist/model/formula.d.cts +6 -6
  178. package/dist/model/formula.d.ts +6 -6
  179. package/dist/model/formula.js +27 -0
  180. package/dist/model/geometry.d.cts +1 -1
  181. package/dist/model/geometry.d.ts +1 -1
  182. package/dist/model/paint-order.cjs +15 -0
  183. package/dist/model/paint-order.d.cts +14 -0
  184. package/dist/model/paint-order.d.ts +14 -0
  185. package/dist/model/paint-order.js +14 -0
  186. package/dist/odb/components.cjs +12 -0
  187. package/dist/odb/components.d.cts +6 -0
  188. package/dist/odb/components.d.ts +6 -0
  189. package/dist/odb/components.js +10 -0
  190. package/dist/odb/read.cjs +11 -7
  191. package/dist/odb/read.d.cts +3 -2
  192. package/dist/odb/read.d.ts +3 -2
  193. package/dist/odb/read.js +11 -7
  194. package/dist/odf/formula/detect.cjs +86 -18
  195. package/dist/odf/formula/detect.d.cts +10 -6
  196. package/dist/odf/formula/detect.d.ts +10 -6
  197. package/dist/odf/formula/detect.js +86 -19
  198. package/dist/odf/formula/read.cjs +4 -16
  199. package/dist/odf/formula/read.d.cts +4 -8
  200. package/dist/odf/formula/read.d.ts +4 -8
  201. package/dist/odf/formula/read.js +5 -17
  202. package/dist/odf/odp/read.cjs +9 -19
  203. package/dist/odf/odp/read.d.cts +2 -7
  204. package/dist/odf/odp/read.d.ts +2 -7
  205. package/dist/odf/odp/read.js +10 -20
  206. package/dist/odf/odt/read.cjs +63 -23
  207. package/dist/odf/odt/read.d.cts +2 -7
  208. package/dist/odf/odt/read.d.ts +2 -7
  209. package/dist/odf/odt/read.js +64 -24
  210. package/dist/omml/write.cjs +258 -0
  211. package/dist/omml/write.d.cts +2 -0
  212. package/dist/omml/write.d.ts +2 -0
  213. package/dist/omml/write.js +256 -0
  214. package/dist/registry-CrSqLIcn.d.ts +19 -0
  215. package/dist/registry-CtPhMD0f.d.cts +19 -0
  216. package/dist/rowformat-Cl2exlEh.d.cts +25 -0
  217. package/dist/rowformat-Cl2exlEh.d.ts +25 -0
  218. package/dist/{schema-Acco3Ezi.d.cts → schema-BeR_KJ0X.d.cts} +3 -1
  219. package/dist/{schema-VkAA6pF5.d.ts → schema-CSKwSb_v.d.ts} +3 -1
  220. package/dist/{shape-BUfjw5eZ.d.cts → shape-BhkP6HB8.d.cts} +6 -2
  221. package/dist/{shape-CTkl6kt8.d.ts → shape-BkVcwPcf.d.ts} +6 -2
  222. package/dist/{shape-BfN3m52m.d.ts → shape-CVXedeL7.d.ts} +3 -2
  223. package/dist/{shape-CN2ycxOo.d.cts → shape-CXZ6fejV.d.cts} +3 -2
  224. package/dist/table-C3CPZ--2.d.cts +35 -0
  225. package/dist/table-DjYcNOFm.d.cts +44 -0
  226. package/dist/table-DqfqMkVq.d.ts +44 -0
  227. package/dist/table-DvS_7UQS.d.ts +35 -0
  228. package/dist/{vector-ClohqsOe.d.cts → vector-Puuqu_IT.d.cts} +4 -0
  229. package/dist/{vector-ClohqsOe.d.ts → vector-Puuqu_IT.d.ts} +4 -0
  230. package/dist/write-DuyfnbL_.d.cts +16 -0
  231. package/dist/write-Zqwx6pka.d.ts +16 -0
  232. package/package.json +4 -4
  233. package/dist/odf/formula/placeholder.cjs +0 -36
  234. package/dist/odf/formula/placeholder.d.cts +0 -14
  235. package/dist/odf/formula/placeholder.d.ts +0 -14
  236. package/dist/odf/formula/placeholder.js +0 -36
@@ -30,6 +30,6 @@ declare class FirebirdUnsupportedFieldTypeError extends Error {
30
30
  constructor(blrType: number);
31
31
  }
32
32
  declare function decodeBlrType(blrType: number): FirebirdPhysicalType;
33
- declare function describeFieldType(physical: FirebirdPhysicalType, lengthBytes: number, scale: number, characterLength: number | undefined): string;
33
+ declare function describeFieldType(physical: FirebirdPhysicalType, lengthBytes: number, scale: number, characterLength: number | undefined, subType: number): string;
34
34
  //#endregion
35
35
  export { BLR_TIMESTAMP_TZ as C, FirebirdUnsupportedFieldTypeError as D, FirebirdPhysicalType as E, decodeBlrType as O, BLR_TIMESTAMP as S, BLR_VARYING2 as T, BLR_SQL_DATE as _, BLR_DEC128 as a, BLR_TEXT as b, BLR_D_FLOAT as c, BLR_FLOAT as d, BLR_INT128 as f, BLR_SHORT as g, BLR_QUAD as h, BLR_CSTRING2 as i, describeFieldType as k, BLR_EX_TIMESTAMP_TZ as l, BLR_LONG as m, BLR_BOOL as n, BLR_DEC64 as o, BLR_INT64 as p, BLR_CSTRING as r, BLR_DOUBLE as s, BLR_BLOB as t, BLR_EX_TIME_TZ as u, BLR_SQL_TIME as v, BLR_VARYING as w, BLR_TEXT2 as x, BLR_SQL_TIME_TZ as y };
@@ -30,6 +30,6 @@ declare class FirebirdUnsupportedFieldTypeError extends Error {
30
30
  constructor(blrType: number);
31
31
  }
32
32
  declare function decodeBlrType(blrType: number): FirebirdPhysicalType;
33
- declare function describeFieldType(physical: FirebirdPhysicalType, lengthBytes: number, scale: number, characterLength: number | undefined): string;
33
+ declare function describeFieldType(physical: FirebirdPhysicalType, lengthBytes: number, scale: number, characterLength: number | undefined, subType: number): string;
34
34
  //#endregion
35
35
  export { BLR_TIMESTAMP_TZ as C, FirebirdUnsupportedFieldTypeError as D, FirebirdPhysicalType as E, decodeBlrType as O, BLR_TIMESTAMP as S, BLR_VARYING2 as T, BLR_SQL_DATE as _, BLR_DEC128 as a, BLR_TEXT as b, BLR_D_FLOAT as c, BLR_FLOAT as d, BLR_INT128 as f, BLR_SHORT as g, BLR_QUAD as h, BLR_CSTRING2 as i, describeFieldType as k, BLR_EX_TIMESTAMP_TZ as l, BLR_LONG as m, BLR_BOOL as n, BLR_DEC64 as o, BLR_INT64 as p, BLR_CSTRING as r, BLR_DOUBLE as s, BLR_BLOB as t, BLR_EX_TIME_TZ as u, BLR_SQL_TIME as v, BLR_VARYING as w, BLR_TEXT2 as x, BLR_SQL_TIME_TZ as y };
@@ -39,6 +39,7 @@ const FORMAT_CAPABILITIES = {
39
39
  },
40
40
  odf: {
41
41
  format: "odf",
42
+ variant: "formula",
42
43
  hasLayoutPath: false
43
44
  },
44
45
  markdown: {
@@ -1,7 +1,7 @@
1
1
  import { DocumentBridgeOptions, DocumentToPdfOptions, PdfToDocumentOptions } from "./convert.cjs";
2
2
  import { DocumentFormat } from "./port.cjs";
3
3
  //#region src/convert/capability.d.ts
4
- type ContentVariant = 'wordprocessing' | 'presentation' | 'spreadsheet' | 'drawing';
4
+ type ContentVariant = 'wordprocessing' | 'presentation' | 'spreadsheet' | 'drawing' | 'formula';
5
5
  interface FormatCapability {
6
6
  readonly format: DocumentFormat;
7
7
  readonly variant?: ContentVariant;
@@ -1,7 +1,7 @@
1
1
  import { DocumentBridgeOptions, DocumentToPdfOptions, PdfToDocumentOptions } from "./convert.js";
2
2
  import { DocumentFormat } from "./port.js";
3
3
  //#region src/convert/capability.d.ts
4
- type ContentVariant = 'wordprocessing' | 'presentation' | 'spreadsheet' | 'drawing';
4
+ type ContentVariant = 'wordprocessing' | 'presentation' | 'spreadsheet' | 'drawing' | 'formula';
5
5
  interface FormatCapability {
6
6
  readonly format: DocumentFormat;
7
7
  readonly variant?: ContentVariant;
@@ -38,6 +38,7 @@ const FORMAT_CAPABILITIES = {
38
38
  },
39
39
  odf: {
40
40
  format: "odf",
41
+ variant: "formula",
41
42
  hasLayoutPath: false
42
43
  },
43
44
  markdown: {
@@ -8,6 +8,7 @@ const require_edit_odt_content = require("../edit/odt/content.cjs");
8
8
  const require_edit_odp_content = require("../edit/odp/content.cjs");
9
9
  const require_edit_ods_content = require("../edit/ods/content.cjs");
10
10
  const require_edit_odg_content = require("../edit/odg/content.cjs");
11
+ const require_fonts_registry = require("../fonts/registry.cjs");
11
12
  const require_mathml_layout = require("../mathml/layout.cjs");
12
13
  const require_ooxml_docx_read = require("../ooxml/docx/read.cjs");
13
14
  const require_ooxml_pptx_read = require("../ooxml/pptx/read.cjs");
@@ -37,7 +38,11 @@ function docxToPdf(bytes, options) {
37
38
  const pkg = require_edit_docx_editor.openDocx(bytes).toPackage();
38
39
  const content = require_ooxml_docx_read.readDocxContent(pkg);
39
40
  if (content.kind !== "wordprocessing") throw new Error("readDocxContent returned a non-wordprocessing ContentDocument");
40
- const { document: layout, formulas } = require_layout_engine.convertWordprocessingToLayout(content, { measurer: (0, pdf_codec.createStandardFontMeasurer)() });
41
+ const fonts = require_fonts_registry.createDocumentFontRegistry({
42
+ kind: "docx",
43
+ package: pkg
44
+ }, options);
45
+ const { document: layout, formulas } = require_layout_engine.convertWordprocessingToLayout(content, { measurer: (0, pdf_codec.createFontMeasurer)(fonts) });
41
46
  options?.onDocument?.({
42
47
  formatVersion: document_schema_js.DOCUMENT_PACKAGE_FORMAT_VERSION,
43
48
  content,
@@ -46,33 +51,40 @@ function docxToPdf(bytes, options) {
46
51
  return (0, pdf_codec.writePdf)(layout, {
47
52
  signal: options?.signal,
48
53
  onSubstitution: options?.onSubstitution,
49
- formulas
54
+ formulas,
55
+ fonts
50
56
  });
51
57
  }
52
58
  function odtToPdf(bytes, options) {
53
59
  const pkg = (0, odf_js.decodePackage)(bytes);
54
60
  const content = require_odf_odt_read.readOdtContent(pkg);
55
- if (content.document.kind !== "wordprocessing") throw new Error("readOdtContent returned a non-wordprocessing ContentDocument");
56
- const { document: layout, formulas } = require_layout_engine.convertWordprocessingToLayout(content.document, {
57
- measurer: (0, pdf_codec.createStandardFontMeasurer)(),
58
- formulas: content.formulas
59
- });
61
+ if (content.kind !== "wordprocessing") throw new Error("readOdtContent returned a non-wordprocessing ContentDocument");
62
+ const fonts = require_fonts_registry.createDocumentFontRegistry({
63
+ kind: "odf",
64
+ package: pkg
65
+ }, options);
66
+ const { document: layout, formulas } = require_layout_engine.convertWordprocessingToLayout(content, { measurer: (0, pdf_codec.createFontMeasurer)(fonts) });
60
67
  options?.onDocument?.({
61
68
  formatVersion: document_schema_js.DOCUMENT_PACKAGE_FORMAT_VERSION,
62
- content: content.document,
69
+ content,
63
70
  layout
64
71
  });
65
72
  return (0, pdf_codec.writePdf)(layout, {
66
73
  signal: options?.signal,
67
74
  onSubstitution: options?.onSubstitution,
68
- formulas
75
+ formulas,
76
+ fonts
69
77
  });
70
78
  }
71
79
  function pptxToPdf(bytes, options) {
72
80
  const pkg = require_edit_pptx_editor.openPptx(bytes).toPackage();
73
81
  const content = require_ooxml_pptx_read.readPptxContent(pkg);
74
82
  if (content.kind !== "presentation") throw new Error("readPptxContent returned a non-presentation ContentDocument");
75
- const { document: layout } = require_layout_slides.convertPresentationToLayout(content, { measurer: (0, pdf_codec.createStandardFontMeasurer)() });
83
+ const fonts = require_fonts_registry.createDocumentFontRegistry({
84
+ kind: "pptx",
85
+ package: pkg
86
+ }, options);
87
+ const { document: layout, formulas } = require_layout_slides.convertPresentationToLayout(content, { measurer: (0, pdf_codec.createFontMeasurer)(fonts) });
76
88
  options?.onDocument?.({
77
89
  formatVersion: document_schema_js.DOCUMENT_PACKAGE_FORMAT_VERSION,
78
90
  content,
@@ -80,34 +92,42 @@ function pptxToPdf(bytes, options) {
80
92
  });
81
93
  return (0, pdf_codec.writePdf)(layout, {
82
94
  signal: options?.signal,
83
- onSubstitution: options?.onSubstitution
95
+ onSubstitution: options?.onSubstitution,
96
+ formulas,
97
+ fonts
84
98
  });
85
99
  }
86
100
  function odpToPdf(bytes, options) {
87
101
  const pkg = (0, odf_js.decodePackage)(bytes);
88
102
  const content = require_odf_odp_read.readOdpContent(pkg);
89
- if (content.document.kind !== "presentation") throw new Error("readOdpContent returned a non-presentation ContentDocument");
90
- const { document: layout, formulas } = require_layout_slides.convertPresentationToLayout(content.document, {
91
- measurer: (0, pdf_codec.createStandardFontMeasurer)(),
92
- formulas: content.formulas
93
- });
103
+ if (content.kind !== "presentation") throw new Error("readOdpContent returned a non-presentation ContentDocument");
104
+ const fonts = require_fonts_registry.createDocumentFontRegistry({
105
+ kind: "odf",
106
+ package: pkg
107
+ }, options);
108
+ const { document: layout, formulas } = require_layout_slides.convertPresentationToLayout(content, { measurer: (0, pdf_codec.createFontMeasurer)(fonts) });
94
109
  options?.onDocument?.({
95
110
  formatVersion: document_schema_js.DOCUMENT_PACKAGE_FORMAT_VERSION,
96
- content: content.document,
111
+ content,
97
112
  layout
98
113
  });
99
114
  return (0, pdf_codec.writePdf)(layout, {
100
115
  signal: options?.signal,
101
116
  onSubstitution: options?.onSubstitution,
102
- formulas
117
+ formulas,
118
+ fonts
103
119
  });
104
120
  }
105
121
  function odsToPdf(bytes, options) {
106
122
  const pkg = (0, odf_js.decodePackage)(bytes);
107
123
  const content = require_odf_ods_read.readOdsContent(pkg);
108
124
  if (content.kind !== "spreadsheet") throw new Error("readOdsContent returned a non-spreadsheet ContentDocument");
125
+ const fonts = require_fonts_registry.createDocumentFontRegistry({
126
+ kind: "odf",
127
+ package: pkg
128
+ }, options);
109
129
  const layout = require_layout_sheets.convertSpreadsheetToLayout(content, {
110
- measurer: (0, pdf_codec.createStandardFontMeasurer)(),
130
+ measurer: (0, pdf_codec.createFontMeasurer)(fonts),
111
131
  signal: options?.signal
112
132
  });
113
133
  options?.onDocument?.({
@@ -117,14 +137,19 @@ function odsToPdf(bytes, options) {
117
137
  });
118
138
  return (0, pdf_codec.writePdf)(layout, {
119
139
  signal: options?.signal,
120
- onSubstitution: options?.onSubstitution
140
+ onSubstitution: options?.onSubstitution,
141
+ fonts
121
142
  });
122
143
  }
123
144
  function odgToPdf(bytes, options) {
124
145
  const pkg = (0, odf_js.decodePackage)(bytes);
125
146
  const content = require_odf_odg_read.readOdgContent(pkg);
126
147
  if (content.kind !== "drawing") throw new Error("readOdgContent returned a non-drawing ContentDocument");
127
- const layout = require_layout_drawing.convertDrawingToLayout(content, { measurer: (0, pdf_codec.createStandardFontMeasurer)() });
148
+ const fonts = require_fonts_registry.createDocumentFontRegistry({
149
+ kind: "odf",
150
+ package: pkg
151
+ }, options);
152
+ const layout = require_layout_drawing.convertDrawingToLayout(content, { measurer: (0, pdf_codec.createFontMeasurer)(fonts) });
128
153
  options?.onDocument?.({
129
154
  formatVersion: document_schema_js.DOCUMENT_PACKAGE_FORMAT_VERSION,
130
155
  content,
@@ -132,7 +157,8 @@ function odgToPdf(bytes, options) {
132
157
  });
133
158
  return (0, pdf_codec.writePdf)(layout, {
134
159
  signal: options?.signal,
135
- onSubstitution: options?.onSubstitution
160
+ onSubstitution: options?.onSubstitution,
161
+ fonts
136
162
  });
137
163
  }
138
164
  function markdownToPdf(bytes, options) {
@@ -140,7 +166,11 @@ function markdownToPdf(bytes, options) {
140
166
  const text = require_markdown_text.decodeMarkdownText(bytes);
141
167
  const content = require_markdown_read.readMarkdownContent(text, { signal: options?.signal });
142
168
  if (content.kind !== "wordprocessing") throw new Error("readMarkdownContent returned a non-wordprocessing ContentDocument");
143
- const { document: layout, formulas } = require_layout_engine.convertWordprocessingToLayout(content, { measurer: (0, pdf_codec.createStandardFontMeasurer)() });
169
+ const fonts = (0, pdf_codec.createFontRegistry)({
170
+ fonts: options?.fonts,
171
+ onSubstitution: options?.onFontSubstitution
172
+ });
173
+ const { document: layout, formulas } = require_layout_engine.convertWordprocessingToLayout(content, { measurer: (0, pdf_codec.createFontMeasurer)(fonts) });
144
174
  options?.onDocument?.({
145
175
  formatVersion: document_schema_js.DOCUMENT_PACKAGE_FORMAT_VERSION,
146
176
  content,
@@ -149,7 +179,8 @@ function markdownToPdf(bytes, options) {
149
179
  return (0, pdf_codec.writePdf)(layout, {
150
180
  signal: options?.signal,
151
181
  onSubstitution: options?.onSubstitution,
152
- formulas
182
+ formulas,
183
+ fonts
153
184
  });
154
185
  }
155
186
  const STANDALONE_FORMULA_SIZE_PT = 18;
@@ -157,9 +188,10 @@ const STANDALONE_FORMULA_MARGIN_PT = 72;
157
188
  function odfToPdf(bytes, options) {
158
189
  require_ports_abort.throwIfAborted(options?.signal);
159
190
  const pkg = (0, odf_js.decodePackage)(bytes);
160
- const formula = require_odf_formula_read.readOdfFormulaContent(pkg);
191
+ const content = require_odf_formula_read.readOdfFormulaContent(pkg);
192
+ if (content.kind !== "formula") throw new Error("readOdfFormulaContent returned a non-formula ContentDocument");
161
193
  const metrics = (0, pdf_codec.loadMathFont)().metricsAt(STANDALONE_FORMULA_SIZE_PT);
162
- const { box } = require_mathml_layout.layoutFormula(formula.mathml, {
194
+ const { box } = require_mathml_layout.layoutFormula(content.formula.mathml, {
163
195
  metrics,
164
196
  sizePt: STANDALONE_FORMULA_SIZE_PT,
165
197
  color: document_schema_js.COLOR_BLACK
@@ -172,7 +204,7 @@ function odfToPdf(bytes, options) {
172
204
  }, document_schema_js.PAGE_SIZE_A4.heightPt);
173
205
  const layout = {
174
206
  formatVersion: document_schema_js.LAYOUT_FORMAT_VERSION,
175
- metadata: formula.metadata,
207
+ metadata: content.metadata,
176
208
  pages: [{
177
209
  widthPt: document_schema_js.PAGE_SIZE_A4.widthPt,
178
210
  heightPt: document_schema_js.PAGE_SIZE_A4.heightPt,
@@ -180,6 +212,11 @@ function odfToPdf(bytes, options) {
180
212
  }],
181
213
  images: {}
182
214
  };
215
+ options?.onDocument?.({
216
+ formatVersion: document_schema_js.DOCUMENT_PACKAGE_FORMAT_VERSION,
217
+ content,
218
+ layout
219
+ });
183
220
  require_ports_abort.throwIfAborted(options?.signal);
184
221
  return (0, pdf_codec.writePdf)(layout, {
185
222
  signal: options?.signal,
@@ -286,14 +323,14 @@ function pdfToMarkdown(bytes, options) {
286
323
  function odtToDocx(bytes, options) {
287
324
  require_ports_abort.throwIfAborted(options?.signal);
288
325
  const pkg = (0, odf_js.decodePackage)(bytes);
289
- const content = require_odf_odt_read.readOdtContent(pkg).document;
326
+ const content = require_odf_odt_read.readOdtContent(pkg);
290
327
  if (content.kind !== "wordprocessing") throw new Error("readOdtContent returned a non-wordprocessing ContentDocument");
291
328
  require_ports_abort.throwIfAborted(options?.signal);
292
329
  options?.onDocument?.({
293
330
  formatVersion: document_schema_js.DOCUMENT_PACKAGE_FORMAT_VERSION,
294
331
  content
295
332
  });
296
- return (0, ooxml_js.encodePackage)(require_edit_docx_content.buildDocxPackage(content));
333
+ return (0, ooxml_js.encodePackage)(require_edit_docx_content.buildDocxPackage(content, { onMathDiagnostic: options?.onMathDiagnostic }));
297
334
  }
298
335
  function docxToOdt(bytes, options) {
299
336
  require_ports_abort.throwIfAborted(options?.signal);
@@ -310,7 +347,7 @@ function docxToOdt(bytes, options) {
310
347
  function odpToPptx(bytes, options) {
311
348
  require_ports_abort.throwIfAborted(options?.signal);
312
349
  const pkg = (0, odf_js.decodePackage)(bytes);
313
- const content = require_odf_odp_read.readOdpContent(pkg).document;
350
+ const content = require_odf_odp_read.readOdpContent(pkg);
314
351
  if (content.kind !== "presentation") throw new Error("readOdpContent returned a non-presentation ContentDocument");
315
352
  require_ports_abort.throwIfAborted(options?.signal);
316
353
  options?.onDocument?.({
@@ -365,7 +402,7 @@ function markdownToDocx(bytes, options) {
365
402
  formatVersion: document_schema_js.DOCUMENT_PACKAGE_FORMAT_VERSION,
366
403
  content
367
404
  });
368
- return (0, ooxml_js.encodePackage)(require_edit_docx_content.buildDocxPackage(content));
405
+ return (0, ooxml_js.encodePackage)(require_edit_docx_content.buildDocxPackage(content, { onMathDiagnostic: options?.onMathDiagnostic }));
369
406
  }
370
407
  function docxToMarkdown(bytes, options) {
371
408
  require_ports_abort.throwIfAborted(options?.signal);
@@ -395,7 +432,7 @@ function markdownToOdt(bytes, options) {
395
432
  function odtToMarkdown(bytes, options) {
396
433
  require_ports_abort.throwIfAborted(options?.signal);
397
434
  const pkg = (0, odf_js.decodePackage)(bytes);
398
- const content = require_odf_odt_read.readOdtContent(pkg).document;
435
+ const content = require_odf_odt_read.readOdtContent(pkg);
399
436
  if (content.kind !== "wordprocessing") throw new Error("readOdtContent returned a non-wordprocessing ContentDocument");
400
437
  require_ports_abort.throwIfAborted(options?.signal);
401
438
  options?.onDocument?.({
@@ -412,7 +449,9 @@ function xlsxToPdf(bytes, options) {
412
449
  return odsToPdf(odsBytes, {
413
450
  signal: options?.signal,
414
451
  onSubstitution: options?.onSubstitution,
415
- onDocument: options?.onDocument
452
+ onDocument: options?.onDocument,
453
+ fonts: options?.fonts,
454
+ onFontSubstitution: options?.onFontSubstitution
416
455
  });
417
456
  }
418
457
  function pdfToXlsx(bytes, options) {
@@ -468,6 +507,10 @@ function odmToPdf(bytes, options) {
468
507
  const odm = (0, odf_js.readOdm)(pkg);
469
508
  const unresolvedHrefs = [];
470
509
  const chapterSections = [];
510
+ const sourceFonts = require_fonts_registry.extractSourceFonts({
511
+ kind: "odf",
512
+ package: pkg
513
+ });
471
514
  for (const section of odm.sections) {
472
515
  require_ports_abort.throwIfAborted(options?.signal);
473
516
  if (section.inlineContent !== void 0) {
@@ -480,7 +523,11 @@ function odmToPdf(bytes, options) {
480
523
  continue;
481
524
  }
482
525
  const chapterPkg = (0, odf_js.decodePackage)(chapterBytes);
483
- const chapterContent = require_odf_odt_read.readOdtContent(chapterPkg).document;
526
+ sourceFonts.push(...require_fonts_registry.extractSourceFonts({
527
+ kind: "odf",
528
+ package: chapterPkg
529
+ }));
530
+ const chapterContent = require_odf_odt_read.readOdtContent(chapterPkg);
484
531
  if (chapterContent.kind !== "wordprocessing") throw new Error("readOdtContent returned a non-wordprocessing ContentDocument");
485
532
  chapterSections.push(chapterContent.sections);
486
533
  }
@@ -500,16 +547,23 @@ function odmToPdf(bytes, options) {
500
547
  metadata: (0, odf_js.readOdfMetadata)(pkg),
501
548
  sections: combinedSections
502
549
  };
503
- const { document: layout } = require_layout_engine.convertWordprocessingToLayout(content, { measurer: (0, pdf_codec.createStandardFontMeasurer)() });
550
+ const fonts = (0, pdf_codec.createFontRegistry)({
551
+ sourceFonts,
552
+ fonts: options?.fonts,
553
+ onSubstitution: options?.onFontSubstitution
554
+ });
555
+ const { document: layout, formulas } = require_layout_engine.convertWordprocessingToLayout(content, { measurer: (0, pdf_codec.createFontMeasurer)(fonts) });
504
556
  return (0, pdf_codec.writePdf)(layout, {
505
557
  signal: options?.signal,
506
- onSubstitution: options?.onSubstitution
558
+ onSubstitution: options?.onSubstitution,
559
+ formulas,
560
+ fonts
507
561
  });
508
562
  }
509
563
  function odbToXlsx(bytes, options) {
510
564
  require_ports_abort.throwIfAborted(options?.signal);
511
565
  const pkg = (0, odf_js.decodePackage)(bytes);
512
- const tables = require_odb_read.readOdbTables(pkg);
566
+ const tables = require_odb_read.readOdbTables(pkg, { timeZone: options?.timeZone });
513
567
  require_ports_abort.throwIfAborted(options?.signal);
514
568
  const content = require_odb_spreadsheet.odbTablesToSpreadsheetDocument(tables);
515
569
  return (0, ooxml_js.encodePackage)((0, ooxml_js.buildXlsxPackage)(content));
@@ -517,7 +571,7 @@ function odbToXlsx(bytes, options) {
517
571
  function odbToCsv(bytes, options) {
518
572
  require_ports_abort.throwIfAborted(options?.signal);
519
573
  const pkg = (0, odf_js.decodePackage)(bytes);
520
- const tables = require_odb_read.readOdbTables(pkg);
574
+ const tables = require_odb_read.readOdbTables(pkg, { timeZone: options?.timeZone });
521
575
  require_ports_abort.throwIfAborted(options?.signal);
522
576
  return require_odb_csv.buildOdbTableCsv(tables, options?.table);
523
577
  }
@@ -1,8 +1,11 @@
1
+ import { n as HsqldbDecodeOptions } from "../rowformat-Cl2exlEh.cjs";
2
+ import { t as OmmlDiagnostic } from "../write-DuyfnbL_.cjs";
3
+ import { t as DocumentFontRegistryOptions } from "../registry-CtPhMD0f.cjs";
1
4
  import { ContentSection, DocumentPackage } from "document-schema.js";
2
5
  import { OdmSection, Package } from "odf.js";
3
6
  import { PdfDiagnosticSink, WinAnsiSubstitution } from "pdf-codec";
4
7
  //#region src/convert/convert.d.ts
5
- interface DocumentToPdfOptions {
8
+ interface DocumentToPdfOptions extends DocumentFontRegistryOptions {
6
9
  readonly signal?: AbortSignal;
7
10
  readonly onSubstitution?: (substitution: WinAnsiSubstitution, context: {
8
11
  readonly pageIndex: number;
@@ -32,6 +35,9 @@ declare function pdfToMarkdown(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDo
32
35
  interface DocumentBridgeOptions {
33
36
  readonly signal?: AbortSignal;
34
37
  readonly onDocument?: (pkg: DocumentPackage) => void;
38
+ readonly onMathDiagnostic?: (diagnostic: OmmlDiagnostic, context: {
39
+ readonly sourcePath?: string;
40
+ }) => void;
35
41
  }
36
42
  declare function odtToDocx(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
37
43
  declare function docxToOdt(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
@@ -54,10 +60,11 @@ declare class OdmUnresolvedSectionError extends Error {
54
60
  }
55
61
  declare function inlineOdmSectionToContentSection(section: OdmSection, pkg: Package): ContentSection;
56
62
  declare function odmToPdf(bytes: Uint8Array<ArrayBuffer>, options?: OdmToPdfOptions): Uint8Array<ArrayBuffer>;
57
- declare function odbToXlsx(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
58
- interface OdbToCsvOptions extends DocumentBridgeOptions {
63
+ interface OdbConversionOptions extends DocumentBridgeOptions, HsqldbDecodeOptions {}
64
+ declare function odbToXlsx(bytes: Uint8Array<ArrayBuffer>, options?: OdbConversionOptions): Uint8Array<ArrayBuffer>;
65
+ interface OdbToCsvOptions extends OdbConversionOptions {
59
66
  readonly table?: string;
60
67
  }
61
68
  declare function odbToCsv(bytes: Uint8Array<ArrayBuffer>, options?: OdbToCsvOptions): Uint8Array<ArrayBuffer>;
62
69
  //#endregion
63
- export { DocumentBridgeOptions, DocumentToPdfOptions, OdbToCsvOptions, OdmToPdfOptions, OdmUnresolvedSectionError, PdfToDocumentOptions, docxToMarkdown, docxToOdt, docxToPdf, inlineOdmSectionToContentSection, markdownToDocx, markdownToOdt, markdownToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odmToPdf, odpToPdf, odpToPptx, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToPdf, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToXlsx, pptxToOdp, pptxToPdf, xlsxToOds, xlsxToPdf };
70
+ export { DocumentBridgeOptions, DocumentToPdfOptions, OdbConversionOptions, OdbToCsvOptions, OdmToPdfOptions, OdmUnresolvedSectionError, PdfToDocumentOptions, docxToMarkdown, docxToOdt, docxToPdf, inlineOdmSectionToContentSection, markdownToDocx, markdownToOdt, markdownToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odmToPdf, odpToPdf, odpToPptx, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToPdf, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToXlsx, pptxToOdp, pptxToPdf, xlsxToOds, xlsxToPdf };
@@ -1,8 +1,11 @@
1
+ import { n as HsqldbDecodeOptions } from "../rowformat-Cl2exlEh.js";
2
+ import { t as OmmlDiagnostic } from "../write-Zqwx6pka.js";
3
+ import { t as DocumentFontRegistryOptions } from "../registry-CrSqLIcn.js";
1
4
  import { ContentSection, DocumentPackage } from "document-schema.js";
2
5
  import { OdmSection, Package } from "odf.js";
3
6
  import { PdfDiagnosticSink, WinAnsiSubstitution } from "pdf-codec";
4
7
  //#region src/convert/convert.d.ts
5
- interface DocumentToPdfOptions {
8
+ interface DocumentToPdfOptions extends DocumentFontRegistryOptions {
6
9
  readonly signal?: AbortSignal;
7
10
  readonly onSubstitution?: (substitution: WinAnsiSubstitution, context: {
8
11
  readonly pageIndex: number;
@@ -32,6 +35,9 @@ declare function pdfToMarkdown(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDo
32
35
  interface DocumentBridgeOptions {
33
36
  readonly signal?: AbortSignal;
34
37
  readonly onDocument?: (pkg: DocumentPackage) => void;
38
+ readonly onMathDiagnostic?: (diagnostic: OmmlDiagnostic, context: {
39
+ readonly sourcePath?: string;
40
+ }) => void;
35
41
  }
36
42
  declare function odtToDocx(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
37
43
  declare function docxToOdt(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
@@ -54,10 +60,11 @@ declare class OdmUnresolvedSectionError extends Error {
54
60
  }
55
61
  declare function inlineOdmSectionToContentSection(section: OdmSection, pkg: Package): ContentSection;
56
62
  declare function odmToPdf(bytes: Uint8Array<ArrayBuffer>, options?: OdmToPdfOptions): Uint8Array<ArrayBuffer>;
57
- declare function odbToXlsx(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
58
- interface OdbToCsvOptions extends DocumentBridgeOptions {
63
+ interface OdbConversionOptions extends DocumentBridgeOptions, HsqldbDecodeOptions {}
64
+ declare function odbToXlsx(bytes: Uint8Array<ArrayBuffer>, options?: OdbConversionOptions): Uint8Array<ArrayBuffer>;
65
+ interface OdbToCsvOptions extends OdbConversionOptions {
59
66
  readonly table?: string;
60
67
  }
61
68
  declare function odbToCsv(bytes: Uint8Array<ArrayBuffer>, options?: OdbToCsvOptions): Uint8Array<ArrayBuffer>;
62
69
  //#endregion
63
- export { DocumentBridgeOptions, DocumentToPdfOptions, OdbToCsvOptions, OdmToPdfOptions, OdmUnresolvedSectionError, PdfToDocumentOptions, docxToMarkdown, docxToOdt, docxToPdf, inlineOdmSectionToContentSection, markdownToDocx, markdownToOdt, markdownToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odmToPdf, odpToPdf, odpToPptx, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToPdf, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToXlsx, pptxToOdp, pptxToPdf, xlsxToOds, xlsxToPdf };
70
+ export { DocumentBridgeOptions, DocumentToPdfOptions, OdbConversionOptions, OdbToCsvOptions, OdmToPdfOptions, OdmUnresolvedSectionError, PdfToDocumentOptions, docxToMarkdown, docxToOdt, docxToPdf, inlineOdmSectionToContentSection, markdownToDocx, markdownToOdt, markdownToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odmToPdf, odpToPdf, odpToPptx, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToPdf, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToXlsx, pptxToOdp, pptxToPdf, xlsxToOds, xlsxToPdf };