js.documents 1.102.2 → 2.1.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 (82) hide show
  1. package/README.md +42 -33
  2. package/dist/codecs/registry.cjs +7 -0
  3. package/dist/codecs/registry.js +7 -0
  4. package/dist/convert/capability.cjs +5 -0
  5. package/dist/convert/capability.js +5 -0
  6. package/dist/convert/codec.cjs +20 -0
  7. package/dist/convert/codec.d.cts +5 -1
  8. package/dist/convert/codec.d.ts +5 -1
  9. package/dist/convert/codec.js +19 -3
  10. package/dist/convert/composition.cjs +47 -11
  11. package/dist/convert/composition.d.cts +9 -5
  12. package/dist/convert/composition.d.ts +9 -5
  13. package/dist/convert/composition.js +47 -11
  14. package/dist/convert/convert.cjs +38 -3
  15. package/dist/convert/convert.d.cts +18 -1
  16. package/dist/convert/convert.d.ts +18 -1
  17. package/dist/convert/convert.js +31 -4
  18. package/dist/convert/from-package.cjs +179 -2
  19. package/dist/convert/from-package.d.cts +3 -2
  20. package/dist/convert/from-package.d.ts +3 -2
  21. package/dist/convert/from-package.js +179 -3
  22. package/dist/convert/local.cjs +2 -0
  23. package/dist/convert/local.js +2 -0
  24. package/dist/convert/port.cjs +1 -0
  25. package/dist/convert/port.d.cts +3 -0
  26. package/dist/convert/port.d.ts +3 -0
  27. package/dist/convert/port.js +1 -0
  28. package/dist/csv/read.cjs +85 -0
  29. package/dist/csv/read.d.cts +10 -0
  30. package/dist/csv/read.d.ts +10 -0
  31. package/dist/csv/read.js +84 -0
  32. package/dist/csv/records.cjs +85 -0
  33. package/dist/csv/records.d.cts +10 -0
  34. package/dist/csv/records.d.ts +10 -0
  35. package/dist/csv/records.js +80 -0
  36. package/dist/csv/text.cjs +22 -0
  37. package/dist/csv/text.d.cts +8 -0
  38. package/dist/csv/text.d.ts +8 -0
  39. package/dist/csv/text.js +19 -0
  40. package/dist/csv/write.cjs +75 -0
  41. package/dist/csv/write.d.cts +22 -0
  42. package/dist/csv/write.d.ts +22 -0
  43. package/dist/csv/write.js +71 -0
  44. package/dist/index.cjs +28 -1
  45. package/dist/index.d.cts +11 -7
  46. package/dist/index.d.ts +11 -7
  47. package/dist/index.js +10 -6
  48. package/dist/layout/drawing.cjs +71 -9
  49. package/dist/layout/drawing.d.cts +8 -3
  50. package/dist/layout/drawing.d.ts +8 -3
  51. package/dist/layout/drawing.js +71 -10
  52. package/dist/layout/engine.cjs +55 -43
  53. package/dist/layout/engine.d.cts +2 -1
  54. package/dist/layout/engine.d.ts +2 -1
  55. package/dist/layout/engine.js +57 -45
  56. package/dist/layout/reconstruct.cjs +260 -105
  57. package/dist/layout/reconstruct.js +260 -105
  58. package/dist/layout/shared.cjs +47 -2
  59. package/dist/layout/shared.d.cts +15 -4
  60. package/dist/layout/shared.d.ts +15 -4
  61. package/dist/layout/shared.js +44 -4
  62. package/dist/layout/sheets.cjs +18 -13
  63. package/dist/layout/sheets.d.cts +4 -2
  64. package/dist/layout/sheets.d.ts +4 -2
  65. package/dist/layout/sheets.js +20 -16
  66. package/dist/layout/slides.cjs +35 -31
  67. package/dist/layout/slides.d.cts +3 -2
  68. package/dist/layout/slides.d.ts +3 -2
  69. package/dist/layout/slides.js +37 -33
  70. package/dist/layout/text-layout.cjs +2 -1
  71. package/dist/layout/text-layout.d.cts +14 -3
  72. package/dist/layout/text-layout.d.ts +14 -3
  73. package/dist/layout/text-layout.js +2 -1
  74. package/dist/metadata/write.cjs +1 -0
  75. package/dist/metadata/write.js +1 -0
  76. package/dist/model/bytes.cjs +2 -0
  77. package/dist/model/bytes.d.cts +2 -1
  78. package/dist/model/bytes.d.ts +2 -1
  79. package/dist/model/bytes.js +2 -1
  80. package/dist/odb/csv.cjs +3 -6
  81. package/dist/odb/csv.js +3 -6
  82. package/package.json +5 -5
@@ -1,6 +1,7 @@
1
1
  import { t as ClockPort } from "../clock-C7SUuYN0.js";
2
2
  import { DocumentFormat } from "./port.js";
3
3
  import { t as ContentVariant } from "../capability-DX0lCSiI.js";
4
+ import { CellTypeInferenceSink } from "../layout/cell-typing.js";
4
5
  import { t as OmmlDiagnostic } from "../shared-DUOzjwcL.js";
5
6
  import { Package } from "ooxml.js";
6
7
  import { ContentDocument, DocumentPackage, FontSubstitution, ProvidedFont } from "document-schema.js";
@@ -21,9 +22,12 @@ interface UnifiedConversionOptions {
21
22
  readonly sourcePath?: string;
22
23
  }) => void;
23
24
  readonly images?: MarkdownImageResolver;
25
+ readonly delimiter?: string;
26
+ readonly sheet?: string;
27
+ readonly onCellTypeInference?: CellTypeInferenceSink;
24
28
  readonly clock?: ClockPort;
25
29
  }
26
- type ContentFormat = 'docx' | 'pptx' | 'xlsx' | 'odt' | 'odp' | 'ods' | 'odg' | 'markdown';
30
+ type ContentFormat = 'docx' | 'pptx' | 'xlsx' | 'odt' | 'odp' | 'ods' | 'odg' | 'csv' | 'markdown';
27
31
  type LayoutVariant = Exclude<ContentVariant, 'formula'>;
28
32
  interface PackageFormatNode {
29
33
  readonly variant: LayoutVariant;
@@ -34,16 +38,16 @@ interface PackageFormatNode {
34
38
  readonly encode: (pkg: SourcePackage) => Uint8Array<ArrayBuffer>;
35
39
  readonly hasSourcePackage: true;
36
40
  }
37
- interface MarkdownFormatNode {
41
+ interface TextFormatNode {
38
42
  readonly variant: LayoutVariant;
39
- readonly family: 'markdown';
43
+ readonly family: 'markdown' | 'csv';
40
44
  readonly decode: (bytes: Uint8Array<ArrayBuffer>) => string;
41
45
  readonly read: (text: string, options?: UnifiedConversionOptions) => ContentDocument;
42
- readonly build: (content: ContentDocument) => string;
46
+ readonly build: (content: ContentDocument, options?: UnifiedConversionOptions) => string;
43
47
  readonly encode: (text: string) => Uint8Array<ArrayBuffer>;
44
48
  readonly hasSourcePackage: false;
45
49
  }
46
- type FormatNode = PackageFormatNode | MarkdownFormatNode;
50
+ type FormatNode = PackageFormatNode | TextFormatNode;
47
51
  declare const FORMAT_NODES: Readonly<Record<ContentFormat, FormatNode>>;
48
52
  type HopExecutor = 'bridge' | 'toPdf' | 'fromPdf';
49
53
  interface CompositionHop {
@@ -15,6 +15,9 @@ import { readOdpContent } from "../odf/odp/read.js";
15
15
  import { readOdsContent } from "../odf/ods/read.js";
16
16
  import { readOdgContent } from "../odf/odg/read.js";
17
17
  import { decodeMarkdownText, encodeMarkdownText } from "../markdown/text.js";
18
+ import { decodeCsvText, encodeCsvText } from "../csv/text.js";
19
+ import { readCsvContent } from "../csv/read.js";
20
+ import { buildCsvText } from "../csv/write.js";
18
21
  import { convertWordprocessingToLayout } from "../layout/engine.js";
19
22
  import { convertPresentationToLayout } from "../layout/slides.js";
20
23
  import { throwIfAborted } from "../ports/abort.js";
@@ -38,8 +41,12 @@ const CONTENT_FORMATS = [
38
41
  "odp",
39
42
  "ods",
40
43
  "odg",
44
+ "csv",
41
45
  "markdown"
42
46
  ];
47
+ function isTextFormatNode(node) {
48
+ return !node.hasSourcePackage;
49
+ }
43
50
  const FORMAT_NODES = {
44
51
  docx: {
45
52
  variant: "wordprocessing",
@@ -115,6 +122,21 @@ const FORMAT_NODES = {
115
122
  build: (content) => buildMarkdownText(content),
116
123
  encode: (text) => encodeMarkdownText(text),
117
124
  hasSourcePackage: false
125
+ },
126
+ csv: {
127
+ variant: "spreadsheet",
128
+ family: "csv",
129
+ decode: (bytes) => decodeCsvText(bytes),
130
+ read: (text, options) => readCsvContent(text, {
131
+ delimiter: options?.delimiter,
132
+ onCellTypeInference: options?.onCellTypeInference
133
+ }),
134
+ build: (content, options) => buildCsvText(content, {
135
+ delimiter: options?.delimiter,
136
+ sheet: options?.sheet
137
+ }),
138
+ encode: (text) => encodeCsvText(text),
139
+ hasSourcePackage: false
118
140
  }
119
141
  };
120
142
  const LAYOUT_CAPABLE = /* @__PURE__ */ new Set([
@@ -161,7 +183,7 @@ function executeBridge(source, target, bytes, options) {
161
183
  const sourceNode = FORMAT_NODES[source];
162
184
  const targetNode = FORMAT_NODES[target];
163
185
  let content;
164
- if (sourceNode.family === "markdown") {
186
+ if (isTextFormatNode(sourceNode)) {
165
187
  const text = sourceNode.decode(bytes);
166
188
  content = sourceNode.read(text, options);
167
189
  } else {
@@ -181,8 +203,8 @@ function executeBridge(source, target, bytes, options) {
181
203
  formatVersion: DOCUMENT_PACKAGE_FORMAT_VERSION,
182
204
  content: buildContent
183
205
  });
184
- if (targetNode.family === "markdown") {
185
- const text = targetNode.build(buildContent);
206
+ if (isTextFormatNode(targetNode)) {
207
+ const text = targetNode.build(buildContent, options);
186
208
  return targetNode.encode(text);
187
209
  }
188
210
  const pkg = targetNode.build(buildContent, options);
@@ -193,7 +215,7 @@ function executeToPdf(format, bytes, options) {
193
215
  const node = FORMAT_NODES[format];
194
216
  let content;
195
217
  let fonts;
196
- if (node.family === "markdown") {
218
+ if (isTextFormatNode(node)) {
197
219
  throwIfAborted(options?.signal);
198
220
  const text = node.decode(bytes);
199
221
  const read = node.read(text, options);
@@ -229,6 +251,7 @@ function executeToPdf(format, bytes, options) {
229
251
  }
230
252
  const measurer = createFontMeasurer(fonts);
231
253
  let layout;
254
+ let pages;
232
255
  let formulas;
233
256
  switch (content.kind) {
234
257
  case "wordprocessing": {
@@ -237,6 +260,7 @@ function executeToPdf(format, bytes, options) {
237
260
  mathMetricsAt
238
261
  });
239
262
  layout = result.document;
263
+ pages = result.pages;
240
264
  formulas = result.formulas;
241
265
  break;
242
266
  }
@@ -246,6 +270,7 @@ function executeToPdf(format, bytes, options) {
246
270
  mathMetricsAt
247
271
  });
248
272
  layout = result.document;
273
+ pages = result.pages;
249
274
  formulas = result.formulas;
250
275
  break;
251
276
  }
@@ -256,18 +281,22 @@ function executeToPdf(format, bytes, options) {
256
281
  signal: options?.signal
257
282
  });
258
283
  layout = result.document;
284
+ pages = result.pages;
259
285
  formulas = result.formulas;
260
286
  break;
261
287
  }
262
- case "drawing":
263
- layout = LAYOUT_ENGINES.drawing(content, { measurer });
288
+ case "drawing": {
289
+ const result = LAYOUT_ENGINES.drawing(content, { measurer });
290
+ layout = result.document;
291
+ pages = result.pages;
264
292
  break;
293
+ }
265
294
  default: throw new Error(`executeToPdf: cannot lay out a '${content.kind}' document`);
266
295
  }
267
296
  options?.onDocument?.({
268
297
  formatVersion: DOCUMENT_PACKAGE_FORMAT_VERSION,
269
298
  content,
270
- layout
299
+ pages: [...pages]
271
300
  });
272
301
  if (formulas === void 0) return writePdf(layout, {
273
302
  signal: options?.signal,
@@ -287,14 +316,21 @@ function executeFromPdf(target, bytes, options) {
287
316
  signal: options?.signal,
288
317
  sink: options?.sink
289
318
  });
290
- const content = RECONSTRUCTORS[node.variant](layout, { signal: options?.signal });
319
+ const content = RECONSTRUCTORS[node.variant](layout, {
320
+ signal: options?.signal,
321
+ onCellTypeInference: options?.onCellTypeInference
322
+ });
323
+ const pages = layout.pages.map((page) => ({
324
+ widthPt: page.widthPt,
325
+ heightPt: page.heightPt
326
+ }));
291
327
  options?.onDocument?.({
292
328
  formatVersion: DOCUMENT_PACKAGE_FORMAT_VERSION,
293
329
  content,
294
- layout
330
+ pages
295
331
  });
296
- if (node.family === "markdown") {
297
- const text = node.build(content);
332
+ if (isTextFormatNode(node)) {
333
+ const text = node.build(content, options);
298
334
  return node.encode(text);
299
335
  }
300
336
  const pkg = node.build(content);
@@ -40,6 +40,9 @@ function odgToPdf(bytes, options) {
40
40
  function markdownToPdf(bytes, options) {
41
41
  return require_convert_composition.convertDocument("markdown", "pdf", bytes, options);
42
42
  }
43
+ function csvToPdf(bytes, options) {
44
+ return require_convert_composition.convertDocument("csv", "pdf", bytes, options);
45
+ }
43
46
  const STANDALONE_FORMULA_SIZE_PT = 18;
44
47
  const STANDALONE_FORMULA_MARGIN_PT = 72;
45
48
  function odfToPdf(bytes, options) {
@@ -76,7 +79,10 @@ function odfToPdf(bytes, options) {
76
79
  options?.onDocument?.({
77
80
  formatVersion: document_schema_js.DOCUMENT_PACKAGE_FORMAT_VERSION,
78
81
  content,
79
- layout
82
+ pages: [{
83
+ widthPt: document_schema_js.PAGE_SIZE_A4.widthPt,
84
+ heightPt: document_schema_js.PAGE_SIZE_A4.heightPt
85
+ }]
80
86
  });
81
87
  require_ports_abort.throwIfAborted(options?.signal);
82
88
  return (0, pdf_codec.writePdf)(layout, {
@@ -110,6 +116,9 @@ function pdfToOds(bytes, options) {
110
116
  function pdfToMarkdown(bytes, options) {
111
117
  return require_convert_composition.convertDocument("pdf", "markdown", bytes, options);
112
118
  }
119
+ function pdfToCsv(bytes, options) {
120
+ return require_convert_composition.convertDocument("pdf", "csv", bytes, options);
121
+ }
113
122
  function odtToDocx(bytes, options) {
114
123
  return require_convert_composition.convertDocument("odt", "docx", bytes, options);
115
124
  }
@@ -140,6 +149,18 @@ function markdownToOdt(bytes, options) {
140
149
  function odtToMarkdown(bytes, options) {
141
150
  return require_convert_composition.convertDocument("odt", "markdown", bytes, options);
142
151
  }
152
+ function csvToXlsx(bytes, options) {
153
+ return require_convert_composition.convertDocument("csv", "xlsx", bytes, options);
154
+ }
155
+ function xlsxToCsv(bytes, options) {
156
+ return require_convert_composition.convertDocument("xlsx", "csv", bytes, options);
157
+ }
158
+ function csvToOds(bytes, options) {
159
+ return require_convert_composition.convertDocument("csv", "ods", bytes, options);
160
+ }
161
+ function odsToCsv(bytes, options) {
162
+ return require_convert_composition.convertDocument("ods", "csv", bytes, options);
163
+ }
143
164
  function docxToPptx(bytes, options) {
144
165
  return require_convert_composition.convertDocument("docx", "pptx", bytes, options);
145
166
  }
@@ -164,6 +185,12 @@ function xlsxToMarkdown(bytes, options) {
164
185
  function markdownToXlsx(bytes, options) {
165
186
  return require_convert_composition.convertDocument("markdown", "xlsx", bytes, options);
166
187
  }
188
+ function csvToMarkdown(bytes, options) {
189
+ return require_convert_composition.convertDocument("csv", "markdown", bytes, options);
190
+ }
191
+ function markdownToCsv(bytes, options) {
192
+ return require_convert_composition.convertDocument("markdown", "csv", bytes, options);
193
+ }
167
194
  var OdmUnresolvedSectionError = class extends Error {
168
195
  hrefs;
169
196
  constructor(hrefs) {
@@ -291,14 +318,14 @@ function odbReportToPdf(content, options) {
291
318
  fonts: options?.fonts,
292
319
  onSubstitution: options?.onFontSubstitution
293
320
  });
294
- const { document: layout, formulas } = require_layout_engine.convertWordprocessingToLayout(content, {
321
+ const { document: layout, formulas, pages } = require_layout_engine.convertWordprocessingToLayout(content, {
295
322
  measurer: (0, pdf_codec.createFontMeasurer)(fonts),
296
323
  mathMetricsAt
297
324
  });
298
325
  options?.onDocument?.({
299
326
  formatVersion: document_schema_js.DOCUMENT_PACKAGE_FORMAT_VERSION,
300
327
  content,
301
- layout
328
+ pages: [...pages]
302
329
  });
303
330
  return (0, pdf_codec.writePdf)(layout, {
304
331
  signal: options?.signal,
@@ -309,11 +336,16 @@ function odbReportToPdf(content, options) {
309
336
  }
310
337
  //#endregion
311
338
  exports.OdmUnresolvedSectionError = OdmUnresolvedSectionError;
339
+ exports.csvToMarkdown = csvToMarkdown;
340
+ exports.csvToOds = csvToOds;
341
+ exports.csvToPdf = csvToPdf;
342
+ exports.csvToXlsx = csvToXlsx;
312
343
  exports.docxToMarkdown = docxToMarkdown;
313
344
  exports.docxToOdt = docxToOdt;
314
345
  exports.docxToPdf = docxToPdf;
315
346
  exports.docxToPptx = docxToPptx;
316
347
  exports.inlineOdmSectionToContentSection = inlineOdmSectionToContentSection;
348
+ exports.markdownToCsv = markdownToCsv;
317
349
  exports.markdownToDocx = markdownToDocx;
318
350
  exports.markdownToOdt = markdownToOdt;
319
351
  exports.markdownToPdf = markdownToPdf;
@@ -329,12 +361,14 @@ exports.odmToPdf = odmToPdf;
329
361
  exports.odpToOdt = odpToOdt;
330
362
  exports.odpToPdf = odpToPdf;
331
363
  exports.odpToPptx = odpToPptx;
364
+ exports.odsToCsv = odsToCsv;
332
365
  exports.odsToPdf = odsToPdf;
333
366
  exports.odsToXlsx = odsToXlsx;
334
367
  exports.odtToDocx = odtToDocx;
335
368
  exports.odtToMarkdown = odtToMarkdown;
336
369
  exports.odtToOdp = odtToOdp;
337
370
  exports.odtToPdf = odtToPdf;
371
+ exports.pdfToCsv = pdfToCsv;
338
372
  exports.pdfToDocx = pdfToDocx;
339
373
  exports.pdfToMarkdown = pdfToMarkdown;
340
374
  exports.pdfToOdg = pdfToOdg;
@@ -346,6 +380,7 @@ exports.pdfToXlsx = pdfToXlsx;
346
380
  exports.pptxToDocx = pptxToDocx;
347
381
  exports.pptxToOdp = pptxToOdp;
348
382
  exports.pptxToPdf = pptxToPdf;
383
+ exports.xlsxToCsv = xlsxToCsv;
349
384
  exports.xlsxToMarkdown = xlsxToMarkdown;
350
385
  exports.xlsxToOds = xlsxToOds;
351
386
  exports.xlsxToPdf = xlsxToPdf;
@@ -1,4 +1,5 @@
1
1
  import { t as ClockPort } from "../clock-C7SUuYN0.cjs";
2
+ import { CellTypeInferenceSink } from "../layout/cell-typing.cjs";
2
3
  import { t as OmmlDiagnostic } from "../shared-DLZ3IQUl.cjs";
3
4
  import { HsqldbDecodeOptions } from "../hsqldb/rowformat.cjs";
4
5
  import { DocumentFontRegistryOptions } from "../fonts/registry.cjs";
@@ -26,6 +27,15 @@ declare function odpToPdf(bytes: Uint8Array<ArrayBuffer>, options?: DocumentToPd
26
27
  declare function odsToPdf(bytes: Uint8Array<ArrayBuffer>, options?: DocumentToPdfOptions): Uint8Array<ArrayBuffer>;
27
28
  declare function odgToPdf(bytes: Uint8Array<ArrayBuffer>, options?: DocumentToPdfOptions): Uint8Array<ArrayBuffer>;
28
29
  declare function markdownToPdf(bytes: Uint8Array<ArrayBuffer>, options?: DocumentToPdfOptions): Uint8Array<ArrayBuffer>;
30
+ interface CsvReadOptions {
31
+ readonly delimiter?: string;
32
+ readonly onCellTypeInference?: CellTypeInferenceSink;
33
+ }
34
+ interface CsvWriteOptions {
35
+ readonly delimiter?: string;
36
+ readonly sheet?: string;
37
+ }
38
+ declare function csvToPdf(bytes: Uint8Array<ArrayBuffer>, options?: DocumentToPdfOptions & CsvReadOptions): Uint8Array<ArrayBuffer>;
29
39
  declare function odfToPdf(bytes: Uint8Array<ArrayBuffer>, options?: DocumentToPdfOptions): Uint8Array<ArrayBuffer>;
30
40
  interface PdfToDocumentOptions {
31
41
  readonly signal?: AbortSignal;
@@ -39,6 +49,7 @@ declare function pdfToOdp(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumen
39
49
  declare function pdfToOdg(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumentOptions): Uint8Array<ArrayBuffer>;
40
50
  declare function pdfToOds(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumentOptions): Uint8Array<ArrayBuffer>;
41
51
  declare function pdfToMarkdown(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumentOptions): Uint8Array<ArrayBuffer>;
52
+ declare function pdfToCsv(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumentOptions & CsvWriteOptions): Uint8Array<ArrayBuffer>;
42
53
  interface DocumentBridgeOptions {
43
54
  readonly signal?: AbortSignal;
44
55
  readonly onDocument?: (pkg: DocumentPackage) => void;
@@ -67,6 +78,10 @@ declare function markdownToDocx(bytes: Uint8Array<ArrayBuffer>, options?: Docume
67
78
  declare function docxToMarkdown(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
68
79
  declare function markdownToOdt(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
69
80
  declare function odtToMarkdown(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
81
+ declare function csvToXlsx(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions & CsvReadOptions): Uint8Array<ArrayBuffer>;
82
+ declare function xlsxToCsv(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions & CsvWriteOptions): Uint8Array<ArrayBuffer>;
83
+ declare function csvToOds(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions & CsvReadOptions): Uint8Array<ArrayBuffer>;
84
+ declare function odsToCsv(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions & CsvWriteOptions): Uint8Array<ArrayBuffer>;
70
85
  declare function docxToPptx(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
71
86
  declare function pptxToDocx(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
72
87
  declare function odtToOdp(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
@@ -75,6 +90,8 @@ declare function xlsxToPdf(bytes: Uint8Array<ArrayBuffer>, options?: DocumentToP
75
90
  declare function pdfToXlsx(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumentOptions): Uint8Array<ArrayBuffer>;
76
91
  declare function xlsxToMarkdown(bytes: Uint8Array<ArrayBuffer>, options?: ComposedDocumentOptions): Uint8Array<ArrayBuffer>;
77
92
  declare function markdownToXlsx(bytes: Uint8Array<ArrayBuffer>, options?: ComposedDocumentOptions): Uint8Array<ArrayBuffer>;
93
+ declare function csvToMarkdown(bytes: Uint8Array<ArrayBuffer>, options?: ComposedDocumentOptions & CsvReadOptions): Uint8Array<ArrayBuffer>;
94
+ declare function markdownToCsv(bytes: Uint8Array<ArrayBuffer>, options?: ComposedDocumentOptions & CsvWriteOptions): Uint8Array<ArrayBuffer>;
78
95
  interface OdmToPdfOptions extends DocumentToPdfOptions {
79
96
  readonly resolveSubDocument?: (href: string) => Uint8Array<ArrayBuffer> | undefined;
80
97
  }
@@ -103,4 +120,4 @@ interface OdbReportToOdtOptions {
103
120
  declare function odbReportToOdt(content: ContentDocument, options?: OdbReportToOdtOptions): Uint8Array<ArrayBuffer>;
104
121
  declare function odbReportToPdf(content: ContentDocument, options?: DocumentToPdfOptions): Uint8Array<ArrayBuffer>;
105
122
  //#endregion
106
- export { ComposedDocumentOptions, DocumentBridgeOptions, DocumentToPdfOptions, OdbConversionOptions, OdbReportToDocxOptions, OdbReportToOdtOptions, OdbToCsvOptions, OdmToPdfOptions, OdmUnresolvedSectionError, PdfToDocumentOptions, docxToMarkdown, docxToOdt, docxToPdf, docxToPptx, inlineOdmSectionToContentSection, markdownToDocx, markdownToOdt, markdownToPdf, markdownToXlsx, odbReportToDocx, odbReportToOdt, odbReportToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odmToPdf, odpToOdt, odpToPdf, odpToPptx, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToOdp, odtToPdf, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToXlsx, pptxToDocx, pptxToOdp, pptxToPdf, xlsxToMarkdown, xlsxToOds, xlsxToPdf };
123
+ export { ComposedDocumentOptions, CsvReadOptions, CsvWriteOptions, DocumentBridgeOptions, DocumentToPdfOptions, OdbConversionOptions, OdbReportToDocxOptions, OdbReportToOdtOptions, OdbToCsvOptions, OdmToPdfOptions, OdmUnresolvedSectionError, PdfToDocumentOptions, csvToMarkdown, csvToOds, csvToPdf, csvToXlsx, docxToMarkdown, docxToOdt, docxToPdf, docxToPptx, inlineOdmSectionToContentSection, markdownToCsv, markdownToDocx, markdownToOdt, markdownToPdf, markdownToXlsx, odbReportToDocx, odbReportToOdt, odbReportToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odmToPdf, odpToOdt, odpToPdf, odpToPptx, odsToCsv, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToOdp, odtToPdf, pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToXlsx, pptxToDocx, pptxToOdp, pptxToPdf, xlsxToCsv, xlsxToMarkdown, xlsxToOds, xlsxToPdf };
@@ -1,4 +1,5 @@
1
1
  import { t as ClockPort } from "../clock-C7SUuYN0.js";
2
+ import { CellTypeInferenceSink } from "../layout/cell-typing.js";
2
3
  import { t as OmmlDiagnostic } from "../shared-DUOzjwcL.js";
3
4
  import { HsqldbDecodeOptions } from "../hsqldb/rowformat.js";
4
5
  import { DocumentFontRegistryOptions } from "../fonts/registry.js";
@@ -26,6 +27,15 @@ declare function odpToPdf(bytes: Uint8Array<ArrayBuffer>, options?: DocumentToPd
26
27
  declare function odsToPdf(bytes: Uint8Array<ArrayBuffer>, options?: DocumentToPdfOptions): Uint8Array<ArrayBuffer>;
27
28
  declare function odgToPdf(bytes: Uint8Array<ArrayBuffer>, options?: DocumentToPdfOptions): Uint8Array<ArrayBuffer>;
28
29
  declare function markdownToPdf(bytes: Uint8Array<ArrayBuffer>, options?: DocumentToPdfOptions): Uint8Array<ArrayBuffer>;
30
+ interface CsvReadOptions {
31
+ readonly delimiter?: string;
32
+ readonly onCellTypeInference?: CellTypeInferenceSink;
33
+ }
34
+ interface CsvWriteOptions {
35
+ readonly delimiter?: string;
36
+ readonly sheet?: string;
37
+ }
38
+ declare function csvToPdf(bytes: Uint8Array<ArrayBuffer>, options?: DocumentToPdfOptions & CsvReadOptions): Uint8Array<ArrayBuffer>;
29
39
  declare function odfToPdf(bytes: Uint8Array<ArrayBuffer>, options?: DocumentToPdfOptions): Uint8Array<ArrayBuffer>;
30
40
  interface PdfToDocumentOptions {
31
41
  readonly signal?: AbortSignal;
@@ -39,6 +49,7 @@ declare function pdfToOdp(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumen
39
49
  declare function pdfToOdg(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumentOptions): Uint8Array<ArrayBuffer>;
40
50
  declare function pdfToOds(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumentOptions): Uint8Array<ArrayBuffer>;
41
51
  declare function pdfToMarkdown(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumentOptions): Uint8Array<ArrayBuffer>;
52
+ declare function pdfToCsv(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumentOptions & CsvWriteOptions): Uint8Array<ArrayBuffer>;
42
53
  interface DocumentBridgeOptions {
43
54
  readonly signal?: AbortSignal;
44
55
  readonly onDocument?: (pkg: DocumentPackage) => void;
@@ -67,6 +78,10 @@ declare function markdownToDocx(bytes: Uint8Array<ArrayBuffer>, options?: Docume
67
78
  declare function docxToMarkdown(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
68
79
  declare function markdownToOdt(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
69
80
  declare function odtToMarkdown(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
81
+ declare function csvToXlsx(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions & CsvReadOptions): Uint8Array<ArrayBuffer>;
82
+ declare function xlsxToCsv(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions & CsvWriteOptions): Uint8Array<ArrayBuffer>;
83
+ declare function csvToOds(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions & CsvReadOptions): Uint8Array<ArrayBuffer>;
84
+ declare function odsToCsv(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions & CsvWriteOptions): Uint8Array<ArrayBuffer>;
70
85
  declare function docxToPptx(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
71
86
  declare function pptxToDocx(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
72
87
  declare function odtToOdp(bytes: Uint8Array<ArrayBuffer>, options?: DocumentBridgeOptions): Uint8Array<ArrayBuffer>;
@@ -75,6 +90,8 @@ declare function xlsxToPdf(bytes: Uint8Array<ArrayBuffer>, options?: DocumentToP
75
90
  declare function pdfToXlsx(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumentOptions): Uint8Array<ArrayBuffer>;
76
91
  declare function xlsxToMarkdown(bytes: Uint8Array<ArrayBuffer>, options?: ComposedDocumentOptions): Uint8Array<ArrayBuffer>;
77
92
  declare function markdownToXlsx(bytes: Uint8Array<ArrayBuffer>, options?: ComposedDocumentOptions): Uint8Array<ArrayBuffer>;
93
+ declare function csvToMarkdown(bytes: Uint8Array<ArrayBuffer>, options?: ComposedDocumentOptions & CsvReadOptions): Uint8Array<ArrayBuffer>;
94
+ declare function markdownToCsv(bytes: Uint8Array<ArrayBuffer>, options?: ComposedDocumentOptions & CsvWriteOptions): Uint8Array<ArrayBuffer>;
78
95
  interface OdmToPdfOptions extends DocumentToPdfOptions {
79
96
  readonly resolveSubDocument?: (href: string) => Uint8Array<ArrayBuffer> | undefined;
80
97
  }
@@ -103,4 +120,4 @@ interface OdbReportToOdtOptions {
103
120
  declare function odbReportToOdt(content: ContentDocument, options?: OdbReportToOdtOptions): Uint8Array<ArrayBuffer>;
104
121
  declare function odbReportToPdf(content: ContentDocument, options?: DocumentToPdfOptions): Uint8Array<ArrayBuffer>;
105
122
  //#endregion
106
- export { ComposedDocumentOptions, DocumentBridgeOptions, DocumentToPdfOptions, OdbConversionOptions, OdbReportToDocxOptions, OdbReportToOdtOptions, OdbToCsvOptions, OdmToPdfOptions, OdmUnresolvedSectionError, PdfToDocumentOptions, docxToMarkdown, docxToOdt, docxToPdf, docxToPptx, inlineOdmSectionToContentSection, markdownToDocx, markdownToOdt, markdownToPdf, markdownToXlsx, odbReportToDocx, odbReportToOdt, odbReportToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odmToPdf, odpToOdt, odpToPdf, odpToPptx, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToOdp, odtToPdf, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToXlsx, pptxToDocx, pptxToOdp, pptxToPdf, xlsxToMarkdown, xlsxToOds, xlsxToPdf };
123
+ export { ComposedDocumentOptions, CsvReadOptions, CsvWriteOptions, DocumentBridgeOptions, DocumentToPdfOptions, OdbConversionOptions, OdbReportToDocxOptions, OdbReportToOdtOptions, OdbToCsvOptions, OdmToPdfOptions, OdmUnresolvedSectionError, PdfToDocumentOptions, csvToMarkdown, csvToOds, csvToPdf, csvToXlsx, docxToMarkdown, docxToOdt, docxToPdf, docxToPptx, inlineOdmSectionToContentSection, markdownToCsv, markdownToDocx, markdownToOdt, markdownToPdf, markdownToXlsx, odbReportToDocx, odbReportToOdt, odbReportToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odmToPdf, odpToOdt, odpToPdf, odpToPptx, odsToCsv, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToOdp, odtToPdf, pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToXlsx, pptxToDocx, pptxToOdp, pptxToPdf, xlsxToCsv, xlsxToMarkdown, xlsxToOds, xlsxToPdf };
@@ -39,6 +39,9 @@ function odgToPdf(bytes, options) {
39
39
  function markdownToPdf(bytes, options) {
40
40
  return convertDocument("markdown", "pdf", bytes, options);
41
41
  }
42
+ function csvToPdf(bytes, options) {
43
+ return convertDocument("csv", "pdf", bytes, options);
44
+ }
42
45
  const STANDALONE_FORMULA_SIZE_PT = 18;
43
46
  const STANDALONE_FORMULA_MARGIN_PT = 72;
44
47
  function odfToPdf(bytes, options) {
@@ -75,7 +78,10 @@ function odfToPdf(bytes, options) {
75
78
  options?.onDocument?.({
76
79
  formatVersion: DOCUMENT_PACKAGE_FORMAT_VERSION,
77
80
  content,
78
- layout
81
+ pages: [{
82
+ widthPt: PAGE_SIZE_A4.widthPt,
83
+ heightPt: PAGE_SIZE_A4.heightPt
84
+ }]
79
85
  });
80
86
  throwIfAborted(options?.signal);
81
87
  return writePdf(layout, {
@@ -109,6 +115,9 @@ function pdfToOds(bytes, options) {
109
115
  function pdfToMarkdown(bytes, options) {
110
116
  return convertDocument("pdf", "markdown", bytes, options);
111
117
  }
118
+ function pdfToCsv(bytes, options) {
119
+ return convertDocument("pdf", "csv", bytes, options);
120
+ }
112
121
  function odtToDocx(bytes, options) {
113
122
  return convertDocument("odt", "docx", bytes, options);
114
123
  }
@@ -139,6 +148,18 @@ function markdownToOdt(bytes, options) {
139
148
  function odtToMarkdown(bytes, options) {
140
149
  return convertDocument("odt", "markdown", bytes, options);
141
150
  }
151
+ function csvToXlsx(bytes, options) {
152
+ return convertDocument("csv", "xlsx", bytes, options);
153
+ }
154
+ function xlsxToCsv(bytes, options) {
155
+ return convertDocument("xlsx", "csv", bytes, options);
156
+ }
157
+ function csvToOds(bytes, options) {
158
+ return convertDocument("csv", "ods", bytes, options);
159
+ }
160
+ function odsToCsv(bytes, options) {
161
+ return convertDocument("ods", "csv", bytes, options);
162
+ }
142
163
  function docxToPptx(bytes, options) {
143
164
  return convertDocument("docx", "pptx", bytes, options);
144
165
  }
@@ -163,6 +184,12 @@ function xlsxToMarkdown(bytes, options) {
163
184
  function markdownToXlsx(bytes, options) {
164
185
  return convertDocument("markdown", "xlsx", bytes, options);
165
186
  }
187
+ function csvToMarkdown(bytes, options) {
188
+ return convertDocument("csv", "markdown", bytes, options);
189
+ }
190
+ function markdownToCsv(bytes, options) {
191
+ return convertDocument("markdown", "csv", bytes, options);
192
+ }
166
193
  var OdmUnresolvedSectionError = class extends Error {
167
194
  hrefs;
168
195
  constructor(hrefs) {
@@ -290,14 +317,14 @@ function odbReportToPdf(content, options) {
290
317
  fonts: options?.fonts,
291
318
  onSubstitution: options?.onFontSubstitution
292
319
  });
293
- const { document: layout, formulas } = convertWordprocessingToLayout(content, {
320
+ const { document: layout, formulas, pages } = convertWordprocessingToLayout(content, {
294
321
  measurer: createFontMeasurer(fonts),
295
322
  mathMetricsAt
296
323
  });
297
324
  options?.onDocument?.({
298
325
  formatVersion: DOCUMENT_PACKAGE_FORMAT_VERSION,
299
326
  content,
300
- layout
327
+ pages: [...pages]
301
328
  });
302
329
  return writePdf(layout, {
303
330
  signal: options?.signal,
@@ -307,4 +334,4 @@ function odbReportToPdf(content, options) {
307
334
  });
308
335
  }
309
336
  //#endregion
310
- export { OdmUnresolvedSectionError, docxToMarkdown, docxToOdt, docxToPdf, docxToPptx, inlineOdmSectionToContentSection, markdownToDocx, markdownToOdt, markdownToPdf, markdownToXlsx, odbReportToDocx, odbReportToOdt, odbReportToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odmToPdf, odpToOdt, odpToPdf, odpToPptx, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToOdp, odtToPdf, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToXlsx, pptxToDocx, pptxToOdp, pptxToPdf, xlsxToMarkdown, xlsxToOds, xlsxToPdf };
337
+ export { OdmUnresolvedSectionError, csvToMarkdown, csvToOds, csvToPdf, csvToXlsx, docxToMarkdown, docxToOdt, docxToPdf, docxToPptx, inlineOdmSectionToContentSection, markdownToCsv, markdownToDocx, markdownToOdt, markdownToPdf, markdownToXlsx, odbReportToDocx, odbReportToOdt, odbReportToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odmToPdf, odpToOdt, odpToPdf, odpToPptx, odsToCsv, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToOdp, odtToPdf, pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToXlsx, pptxToDocx, pptxToOdp, pptxToPdf, xlsxToCsv, xlsxToMarkdown, xlsxToOds, xlsxToPdf };