documents.js 4.4.1 → 4.4.2
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.
- package/README.md +2 -2
- package/dist/codecs/read.cjs +66 -0
- package/dist/codecs/read.d.cts +15 -0
- package/dist/codecs/read.d.ts +15 -0
- package/dist/codecs/read.js +64 -0
- package/dist/codecs/registry.cjs +13 -59
- package/dist/codecs/registry.d.cts +2 -8
- package/dist/codecs/registry.d.ts +2 -8
- package/dist/codecs/registry.js +20 -64
- package/dist/convert/from-package.cjs +2 -1
- package/dist/convert/from-package.js +2 -1
- package/dist/convert/from-pdf.cjs +6 -0
- package/dist/convert/from-pdf.d.cts +7 -2
- package/dist/convert/from-pdf.d.ts +7 -2
- package/dist/convert/from-pdf.js +6 -1
- package/dist/index.cjs +2 -3
- package/dist/index.d.cts +1 -2
- package/dist/index.d.ts +1 -2
- package/dist/index.js +2 -3
- package/dist/metadata/write.cjs +2 -1
- package/dist/metadata/write.js +2 -1
- package/dist/model/bytes.cjs +8 -0
- package/dist/model/bytes.d.cts +2 -1
- package/dist/model/bytes.d.ts +2 -1
- package/dist/model/bytes.js +8 -1
- package/package.json +2 -2
- package/dist/metadata/read.cjs +0 -15
- package/dist/metadata/read.d.cts +0 -9
- package/dist/metadata/read.d.ts +0 -9
- package/dist/metadata/read.js +0 -14
package/README.md
CHANGED
|
@@ -238,7 +238,7 @@ const docxBytesAgain = encodeDocumentPackage('docx', pkg);
|
|
|
238
238
|
const odbPkg = decodeOdbPackage(odbBytes);
|
|
239
239
|
```
|
|
240
240
|
|
|
241
|
-
`readDocumentMetadata`/`setDocumentMetadata` read or patch metadata across any `DocumentFormat`. `setDocumentMetadata` patches in place (source/target formats must match); `odf` is rejected in both directions, and `csv` is rejected in both directions too (RFC 4180 text has no metadata container) — `readDocumentMetadata('csv', ...)` answers an empty `LayoutMetadata` for the same reason. `svg` reads its root `<title>` as `metadata.title` and is rejected as a `setDocumentMetadata` source/target for the mirror-image reason: `<title>` is svg's whole metadata surface, so any other override would be silently dropped by the rebuild. `readDocumentMetadata('xlsx', ...)`
|
|
241
|
+
`readDocumentMetadata`/`setDocumentMetadata` read or patch metadata across any `DocumentFormat`. `setDocumentMetadata` patches in place (source/target formats must match); `odf` is rejected in both directions, and `csv` is rejected in both directions too (RFC 4180 text has no metadata container) — `readDocumentMetadata('csv', ...)` answers an empty `LayoutMetadata` for the same reason. `svg` reads its root `<title>` as `metadata.title` and is rejected as a `setDocumentMetadata` source/target for the mirror-image reason: `<title>` is svg's whole metadata surface, so any other override would be silently dropped by the rebuild. `readDocumentMetadata('xlsx', ...)` reads the workbook's own `docProps` like every other content format — `createdIso`/`modifiedIso` from `docProps/core.xml` when the file declares them, `docProps/app.xml`'s Application as `creator`, and `producer` unset (a PDF-only concept no semantic reader sets). It previously rendered a `xlsxToPdf` preview and read that PDF's metadata instead, which for a file carrying no timestamps of its own reported facts about the render rather than the workbook: timestamps stamped at the render moment and a producer naming the preview PDF's writer.
|
|
242
242
|
|
|
243
243
|
```ts
|
|
244
244
|
import { readDocumentMetadata, setDocumentMetadata } from 'documents.js';
|
|
@@ -260,7 +260,7 @@ One subpath is a declared entry point in its own right: **`documents.js/read`**
|
|
|
260
260
|
import { pdfToMarkdown } from 'documents.js/read';
|
|
261
261
|
```
|
|
262
262
|
|
|
263
|
-
It carries the ten `pdfTo*` conversions and `
|
|
263
|
+
It carries the ten `pdfTo*` conversions, `PdfToDocumentOptions`, and `readDocumentMetadata` (with `ReadDocumentMetadataOptions`) — identical functions to the root barrel's (the same forwarders, run through the composition engine's read half, and the same metadata reader dispatched through the read-only codec half `src/codecs/read.ts`), never a forked behaviour; `convertDocument` and every X-to-PDF direction stay on the root barrel. `src/read-graph.test.ts` walks the entry's static import graph, follows `pdf-codec` specifiers through that package's real `exports` map into its source, and fails the build if the write path or any font asset becomes reachable.
|
|
264
264
|
|
|
265
265
|
### Reading and building xlsx content directly
|
|
266
266
|
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_bytes = require("../model/bytes.cjs");
|
|
3
|
+
const require_markdown_read = require("../markdown/read.cjs");
|
|
4
|
+
const require_ooxml_docx_read = require("../ooxml/docx/read.cjs");
|
|
5
|
+
const require_ooxml_pptx_read = require("../ooxml/pptx/read.cjs");
|
|
6
|
+
const require_odf_formula_read = require("../odf/formula/read.cjs");
|
|
7
|
+
const require_odf_odt_read = require("../odf/odt/read.cjs");
|
|
8
|
+
const require_odf_odp_read = require("../odf/odp/read.cjs");
|
|
9
|
+
const require_odf_ods_read = require("../odf/ods/read.cjs");
|
|
10
|
+
const require_odf_odg_read = require("../odf/odg/read.cjs");
|
|
11
|
+
const require_markdown_text = require("../markdown/text.cjs");
|
|
12
|
+
const require_csv_text = require("../csv/text.cjs");
|
|
13
|
+
const require_csv_read = require("../csv/read.cjs");
|
|
14
|
+
const require_svg_text = require("../svg/text.cjs");
|
|
15
|
+
const require_svg_read = require("../svg/read.cjs");
|
|
16
|
+
const require_ports_abort = require("../ports/abort.cjs");
|
|
17
|
+
const require_package_codec = require("../package-codec.cjs");
|
|
18
|
+
let ooxml_js = require("ooxml.js");
|
|
19
|
+
let pdf_codec_read = require("pdf-codec/read");
|
|
20
|
+
//#region src/codecs/read.ts
|
|
21
|
+
const CONTENT_READERS = {
|
|
22
|
+
docx: (bytes, options) => {
|
|
23
|
+
require_ports_abort.throwIfAborted(options?.signal);
|
|
24
|
+
return require_ooxml_docx_read.readDocxContent(require_package_codec.decodeDocumentPackage("docx", require_model_bytes.requireArrayBufferBytes(bytes)));
|
|
25
|
+
},
|
|
26
|
+
pptx: (bytes, options) => {
|
|
27
|
+
require_ports_abort.throwIfAborted(options?.signal);
|
|
28
|
+
return require_ooxml_pptx_read.readPptxContent(require_package_codec.decodeDocumentPackage("pptx", require_model_bytes.requireArrayBufferBytes(bytes)));
|
|
29
|
+
},
|
|
30
|
+
odt: (bytes, options) => {
|
|
31
|
+
require_ports_abort.throwIfAborted(options?.signal);
|
|
32
|
+
return require_odf_odt_read.readOdtContent(require_package_codec.decodeDocumentPackage("odt", require_model_bytes.requireArrayBufferBytes(bytes)));
|
|
33
|
+
},
|
|
34
|
+
odp: (bytes, options) => {
|
|
35
|
+
require_ports_abort.throwIfAborted(options?.signal);
|
|
36
|
+
return require_odf_odp_read.readOdpContent(require_package_codec.decodeDocumentPackage("odp", require_model_bytes.requireArrayBufferBytes(bytes)));
|
|
37
|
+
},
|
|
38
|
+
ods: (bytes, options) => {
|
|
39
|
+
require_ports_abort.throwIfAborted(options?.signal);
|
|
40
|
+
return require_odf_ods_read.readOdsContent(require_package_codec.decodeDocumentPackage("ods", require_model_bytes.requireArrayBufferBytes(bytes)));
|
|
41
|
+
},
|
|
42
|
+
odg: (bytes, options) => {
|
|
43
|
+
require_ports_abort.throwIfAborted(options?.signal);
|
|
44
|
+
return require_odf_odg_read.readOdgContent(require_package_codec.decodeDocumentPackage("odg", require_model_bytes.requireArrayBufferBytes(bytes)));
|
|
45
|
+
},
|
|
46
|
+
odf: (bytes, options) => {
|
|
47
|
+
require_ports_abort.throwIfAborted(options?.signal);
|
|
48
|
+
return require_odf_formula_read.readOdfFormulaContent(require_package_codec.decodeDocumentPackage("odf", require_model_bytes.requireArrayBufferBytes(bytes)));
|
|
49
|
+
},
|
|
50
|
+
markdown: (bytes, options) => require_markdown_read.readMarkdownContent(require_markdown_text.decodeMarkdownText(bytes), {
|
|
51
|
+
signal: options?.signal,
|
|
52
|
+
images: options?.images
|
|
53
|
+
}),
|
|
54
|
+
csv: (bytes) => require_csv_read.readCsvContent(require_csv_text.decodeCsvText(bytes)),
|
|
55
|
+
svg: (bytes) => require_svg_read.readSvgContent(require_svg_text.decodeSvgText(bytes)),
|
|
56
|
+
xlsx: (bytes, options) => {
|
|
57
|
+
require_ports_abort.throwIfAborted(options?.signal);
|
|
58
|
+
return (0, ooxml_js.readXlsxContent)(require_package_codec.decodeDocumentPackage("xlsx", require_model_bytes.requireArrayBufferBytes(bytes)));
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
function readDocumentLayout(bytes, options) {
|
|
62
|
+
return (0, pdf_codec_read.readPdf)(require_model_bytes.requireArrayBufferBytes(bytes), { signal: options?.signal });
|
|
63
|
+
}
|
|
64
|
+
//#endregion
|
|
65
|
+
exports.CONTENT_READERS = CONTENT_READERS;
|
|
66
|
+
exports.readDocumentLayout = readDocumentLayout;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DocumentFormat } from "../convert/port.cjs";
|
|
2
|
+
import { ContentDocument } from "document-schema.js";
|
|
3
|
+
import { LayoutDocument } from "pdf-codec";
|
|
4
|
+
import { MarkdownImageResolver } from "markdown-codec";
|
|
5
|
+
//#region src/codecs/read.d.ts
|
|
6
|
+
interface DocumentCodecOptions {
|
|
7
|
+
readonly signal?: AbortSignal;
|
|
8
|
+
readonly images?: MarkdownImageResolver;
|
|
9
|
+
}
|
|
10
|
+
type ReadContentFormat = Exclude<DocumentFormat, 'pdf'>;
|
|
11
|
+
type ContentReader = (bytes: Uint8Array, options?: DocumentCodecOptions) => ContentDocument;
|
|
12
|
+
declare const CONTENT_READERS: Readonly<Record<ReadContentFormat, ContentReader>>;
|
|
13
|
+
declare function readDocumentLayout(bytes: Uint8Array, options?: DocumentCodecOptions): LayoutDocument;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { CONTENT_READERS, ContentReader, DocumentCodecOptions, ReadContentFormat, readDocumentLayout };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DocumentFormat } from "../convert/port.js";
|
|
2
|
+
import { ContentDocument } from "document-schema.js";
|
|
3
|
+
import { LayoutDocument } from "pdf-codec";
|
|
4
|
+
import { MarkdownImageResolver } from "markdown-codec";
|
|
5
|
+
//#region src/codecs/read.d.ts
|
|
6
|
+
interface DocumentCodecOptions {
|
|
7
|
+
readonly signal?: AbortSignal;
|
|
8
|
+
readonly images?: MarkdownImageResolver;
|
|
9
|
+
}
|
|
10
|
+
type ReadContentFormat = Exclude<DocumentFormat, 'pdf'>;
|
|
11
|
+
type ContentReader = (bytes: Uint8Array, options?: DocumentCodecOptions) => ContentDocument;
|
|
12
|
+
declare const CONTENT_READERS: Readonly<Record<ReadContentFormat, ContentReader>>;
|
|
13
|
+
declare function readDocumentLayout(bytes: Uint8Array, options?: DocumentCodecOptions): LayoutDocument;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { CONTENT_READERS, ContentReader, DocumentCodecOptions, ReadContentFormat, readDocumentLayout };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { requireArrayBufferBytes } from "../model/bytes.js";
|
|
2
|
+
import { readMarkdownContent } from "../markdown/read.js";
|
|
3
|
+
import { readDocxContent as readDocxContent$1 } from "../ooxml/docx/read.js";
|
|
4
|
+
import { readPptxContent as readPptxContent$1 } from "../ooxml/pptx/read.js";
|
|
5
|
+
import { readOdfFormulaContent } from "../odf/formula/read.js";
|
|
6
|
+
import { readOdtContent } from "../odf/odt/read.js";
|
|
7
|
+
import { readOdpContent } from "../odf/odp/read.js";
|
|
8
|
+
import { readOdsContent } from "../odf/ods/read.js";
|
|
9
|
+
import { readOdgContent } from "../odf/odg/read.js";
|
|
10
|
+
import { decodeMarkdownText } from "../markdown/text.js";
|
|
11
|
+
import { decodeCsvText } from "../csv/text.js";
|
|
12
|
+
import { readCsvContent } from "../csv/read.js";
|
|
13
|
+
import { decodeSvgText } from "../svg/text.js";
|
|
14
|
+
import { readSvgContent } from "../svg/read.js";
|
|
15
|
+
import { throwIfAborted } from "../ports/abort.js";
|
|
16
|
+
import { decodeDocumentPackage } from "../package-codec.js";
|
|
17
|
+
import { readXlsxContent } from "ooxml.js";
|
|
18
|
+
import { readPdf } from "pdf-codec/read";
|
|
19
|
+
//#region src/codecs/read.ts
|
|
20
|
+
const CONTENT_READERS = {
|
|
21
|
+
docx: (bytes, options) => {
|
|
22
|
+
throwIfAborted(options?.signal);
|
|
23
|
+
return readDocxContent$1(decodeDocumentPackage("docx", requireArrayBufferBytes(bytes)));
|
|
24
|
+
},
|
|
25
|
+
pptx: (bytes, options) => {
|
|
26
|
+
throwIfAborted(options?.signal);
|
|
27
|
+
return readPptxContent$1(decodeDocumentPackage("pptx", requireArrayBufferBytes(bytes)));
|
|
28
|
+
},
|
|
29
|
+
odt: (bytes, options) => {
|
|
30
|
+
throwIfAborted(options?.signal);
|
|
31
|
+
return readOdtContent(decodeDocumentPackage("odt", requireArrayBufferBytes(bytes)));
|
|
32
|
+
},
|
|
33
|
+
odp: (bytes, options) => {
|
|
34
|
+
throwIfAborted(options?.signal);
|
|
35
|
+
return readOdpContent(decodeDocumentPackage("odp", requireArrayBufferBytes(bytes)));
|
|
36
|
+
},
|
|
37
|
+
ods: (bytes, options) => {
|
|
38
|
+
throwIfAborted(options?.signal);
|
|
39
|
+
return readOdsContent(decodeDocumentPackage("ods", requireArrayBufferBytes(bytes)));
|
|
40
|
+
},
|
|
41
|
+
odg: (bytes, options) => {
|
|
42
|
+
throwIfAborted(options?.signal);
|
|
43
|
+
return readOdgContent(decodeDocumentPackage("odg", requireArrayBufferBytes(bytes)));
|
|
44
|
+
},
|
|
45
|
+
odf: (bytes, options) => {
|
|
46
|
+
throwIfAborted(options?.signal);
|
|
47
|
+
return readOdfFormulaContent(decodeDocumentPackage("odf", requireArrayBufferBytes(bytes)));
|
|
48
|
+
},
|
|
49
|
+
markdown: (bytes, options) => readMarkdownContent(decodeMarkdownText(bytes), {
|
|
50
|
+
signal: options?.signal,
|
|
51
|
+
images: options?.images
|
|
52
|
+
}),
|
|
53
|
+
csv: (bytes) => readCsvContent(decodeCsvText(bytes)),
|
|
54
|
+
svg: (bytes) => readSvgContent(decodeSvgText(bytes)),
|
|
55
|
+
xlsx: (bytes, options) => {
|
|
56
|
+
throwIfAborted(options?.signal);
|
|
57
|
+
return readXlsxContent(decodeDocumentPackage("xlsx", requireArrayBufferBytes(bytes)));
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
function readDocumentLayout(bytes, options) {
|
|
61
|
+
return readPdf(requireArrayBufferBytes(bytes), { signal: options?.signal });
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
export { CONTENT_READERS, readDocumentLayout };
|
package/dist/codecs/registry.cjs
CHANGED
|
@@ -6,108 +6,62 @@ const require_edit_odp_content = require("../edit/odp/content.cjs");
|
|
|
6
6
|
const require_edit_ods_content = require("../edit/ods/content.cjs");
|
|
7
7
|
const require_edit_odg_content = require("../edit/odg/content.cjs");
|
|
8
8
|
const require_markdown_write = require("../markdown/write.cjs");
|
|
9
|
-
const require_markdown_read = require("../markdown/read.cjs");
|
|
10
|
-
const require_ooxml_docx_read = require("../ooxml/docx/read.cjs");
|
|
11
|
-
const require_ooxml_pptx_read = require("../ooxml/pptx/read.cjs");
|
|
12
|
-
const require_odf_formula_read = require("../odf/formula/read.cjs");
|
|
13
|
-
const require_odf_odt_read = require("../odf/odt/read.cjs");
|
|
14
|
-
const require_odf_odp_read = require("../odf/odp/read.cjs");
|
|
15
|
-
const require_odf_ods_read = require("../odf/ods/read.cjs");
|
|
16
|
-
const require_odf_odg_read = require("../odf/odg/read.cjs");
|
|
17
9
|
const require_markdown_text = require("../markdown/text.cjs");
|
|
18
10
|
const require_csv_text = require("../csv/text.cjs");
|
|
19
|
-
const require_csv_read = require("../csv/read.cjs");
|
|
20
11
|
const require_csv_write = require("../csv/write.cjs");
|
|
21
12
|
const require_svg_text = require("../svg/text.cjs");
|
|
22
|
-
const require_svg_read = require("../svg/read.cjs");
|
|
23
13
|
const require_svg_write = require("../svg/write.cjs");
|
|
24
|
-
const require_ports_abort = require("../ports/abort.cjs");
|
|
25
14
|
const require_package_codec = require("../package-codec.cjs");
|
|
15
|
+
const require_codecs_read = require("./read.cjs");
|
|
26
16
|
let ooxml_js = require("ooxml.js");
|
|
27
17
|
let pdf_codec = require("pdf-codec");
|
|
28
18
|
//#region src/codecs/registry.ts
|
|
29
|
-
function isArrayBufferBacked(bytes) {
|
|
30
|
-
return bytes.buffer instanceof ArrayBuffer;
|
|
31
|
-
}
|
|
32
|
-
function requireArrayBufferBytes(bytes) {
|
|
33
|
-
if (!isArrayBufferBacked(bytes)) throw new TypeError("expected an ArrayBuffer-backed Uint8Array, received one backed by a SharedArrayBuffer");
|
|
34
|
-
return bytes;
|
|
35
|
-
}
|
|
36
19
|
const DOCUMENT_FORMAT_CODECS = {
|
|
37
20
|
docx: { content: {
|
|
38
|
-
read:
|
|
39
|
-
require_ports_abort.throwIfAborted(options?.signal);
|
|
40
|
-
return require_ooxml_docx_read.readDocxContent(require_package_codec.decodeDocumentPackage("docx", requireArrayBufferBytes(bytes)));
|
|
41
|
-
},
|
|
21
|
+
read: require_codecs_read.CONTENT_READERS.docx,
|
|
42
22
|
write: (content) => require_package_codec.encodeDocumentPackage("docx", require_edit_docx_content.buildDocxPackage(content))
|
|
43
23
|
} },
|
|
44
24
|
pptx: { content: {
|
|
45
|
-
read:
|
|
46
|
-
require_ports_abort.throwIfAborted(options?.signal);
|
|
47
|
-
return require_ooxml_pptx_read.readPptxContent(require_package_codec.decodeDocumentPackage("pptx", requireArrayBufferBytes(bytes)));
|
|
48
|
-
},
|
|
25
|
+
read: require_codecs_read.CONTENT_READERS.pptx,
|
|
49
26
|
write: (content) => require_package_codec.encodeDocumentPackage("pptx", require_edit_pptx_content.buildPptxPackage(content))
|
|
50
27
|
} },
|
|
51
28
|
odt: { content: {
|
|
52
|
-
read:
|
|
53
|
-
require_ports_abort.throwIfAborted(options?.signal);
|
|
54
|
-
return require_odf_odt_read.readOdtContent(require_package_codec.decodeDocumentPackage("odt", requireArrayBufferBytes(bytes)));
|
|
55
|
-
},
|
|
29
|
+
read: require_codecs_read.CONTENT_READERS.odt,
|
|
56
30
|
write: (content) => require_package_codec.encodeDocumentPackage("odt", require_edit_odt_content.buildOdtPackage(content))
|
|
57
31
|
} },
|
|
58
32
|
odp: { content: {
|
|
59
|
-
read:
|
|
60
|
-
require_ports_abort.throwIfAborted(options?.signal);
|
|
61
|
-
return require_odf_odp_read.readOdpContent(require_package_codec.decodeDocumentPackage("odp", requireArrayBufferBytes(bytes)));
|
|
62
|
-
},
|
|
33
|
+
read: require_codecs_read.CONTENT_READERS.odp,
|
|
63
34
|
write: (content) => require_package_codec.encodeDocumentPackage("odp", require_edit_odp_content.buildOdpPackage(content))
|
|
64
35
|
} },
|
|
65
36
|
ods: { content: {
|
|
66
|
-
read:
|
|
67
|
-
require_ports_abort.throwIfAborted(options?.signal);
|
|
68
|
-
return require_odf_ods_read.readOdsContent(require_package_codec.decodeDocumentPackage("ods", requireArrayBufferBytes(bytes)));
|
|
69
|
-
},
|
|
37
|
+
read: require_codecs_read.CONTENT_READERS.ods,
|
|
70
38
|
write: (content) => require_package_codec.encodeDocumentPackage("ods", require_edit_ods_content.buildOdsPackage(content))
|
|
71
39
|
} },
|
|
72
40
|
odg: { content: {
|
|
73
|
-
read:
|
|
74
|
-
require_ports_abort.throwIfAborted(options?.signal);
|
|
75
|
-
return require_odf_odg_read.readOdgContent(require_package_codec.decodeDocumentPackage("odg", requireArrayBufferBytes(bytes)));
|
|
76
|
-
},
|
|
41
|
+
read: require_codecs_read.CONTENT_READERS.odg,
|
|
77
42
|
write: (content) => require_package_codec.encodeDocumentPackage("odg", require_edit_odg_content.buildOdgPackage(content))
|
|
78
43
|
} },
|
|
79
|
-
odf: { content: { read:
|
|
80
|
-
require_ports_abort.throwIfAborted(options?.signal);
|
|
81
|
-
return require_odf_formula_read.readOdfFormulaContent(require_package_codec.decodeDocumentPackage("odf", requireArrayBufferBytes(bytes)));
|
|
82
|
-
} } },
|
|
44
|
+
odf: { content: { read: require_codecs_read.CONTENT_READERS.odf } },
|
|
83
45
|
markdown: { content: {
|
|
84
|
-
read:
|
|
85
|
-
signal: options?.signal,
|
|
86
|
-
images: options?.images
|
|
87
|
-
}),
|
|
46
|
+
read: require_codecs_read.CONTENT_READERS.markdown,
|
|
88
47
|
write: (content) => require_markdown_text.encodeMarkdownText(require_markdown_write.buildMarkdownText(content))
|
|
89
48
|
} },
|
|
90
49
|
csv: { content: {
|
|
91
|
-
read:
|
|
50
|
+
read: require_codecs_read.CONTENT_READERS.csv,
|
|
92
51
|
write: (content) => require_csv_text.encodeCsvText(require_csv_write.buildCsvText(content))
|
|
93
52
|
} },
|
|
94
53
|
svg: { content: {
|
|
95
|
-
read:
|
|
54
|
+
read: require_codecs_read.CONTENT_READERS.svg,
|
|
96
55
|
write: (content) => require_svg_text.encodeSvgText(require_svg_write.buildSvgText(content))
|
|
97
56
|
} },
|
|
98
57
|
pdf: { layout: {
|
|
99
|
-
read:
|
|
58
|
+
read: require_codecs_read.readDocumentLayout,
|
|
100
59
|
write: (layout, options) => (0, pdf_codec.writePdf)(layout, { signal: options?.signal })
|
|
101
60
|
} },
|
|
102
61
|
xlsx: { content: {
|
|
103
|
-
read:
|
|
104
|
-
require_ports_abort.throwIfAborted(options?.signal);
|
|
105
|
-
return (0, ooxml_js.readXlsxContent)(require_package_codec.decodeDocumentPackage("xlsx", requireArrayBufferBytes(bytes)));
|
|
106
|
-
},
|
|
62
|
+
read: require_codecs_read.CONTENT_READERS.xlsx,
|
|
107
63
|
write: (content) => require_package_codec.encodeDocumentPackage("xlsx", (0, ooxml_js.buildXlsxPackageFromContent)(content))
|
|
108
64
|
} }
|
|
109
65
|
};
|
|
110
66
|
//#endregion
|
|
111
67
|
exports.DOCUMENT_FORMAT_CODECS = DOCUMENT_FORMAT_CODECS;
|
|
112
|
-
exports.isArrayBufferBacked = isArrayBufferBacked;
|
|
113
|
-
exports.requireArrayBufferBytes = requireArrayBufferBytes;
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
import { DocumentFormat } from "../convert/port.cjs";
|
|
2
|
+
import { DocumentCodecOptions } from "./read.cjs";
|
|
2
3
|
import { ContentCodec } from "document-schema.js";
|
|
3
4
|
import { LayoutDocument } from "pdf-codec";
|
|
4
|
-
import { MarkdownImageResolver } from "markdown-codec";
|
|
5
5
|
//#region src/codecs/registry.d.ts
|
|
6
|
-
declare function isArrayBufferBacked(bytes: Uint8Array): bytes is Uint8Array<ArrayBuffer>;
|
|
7
|
-
declare function requireArrayBufferBytes(bytes: Uint8Array): Uint8Array<ArrayBuffer>;
|
|
8
|
-
interface DocumentCodecOptions {
|
|
9
|
-
readonly signal?: AbortSignal;
|
|
10
|
-
readonly images?: MarkdownImageResolver;
|
|
11
|
-
}
|
|
12
6
|
interface LayoutEntryCodec {
|
|
13
7
|
read(bytes: Uint8Array, options?: DocumentCodecOptions): LayoutDocument;
|
|
14
8
|
write(layout: LayoutDocument, options?: DocumentCodecOptions): Uint8Array;
|
|
@@ -19,4 +13,4 @@ interface DocumentFormatCodecs {
|
|
|
19
13
|
}
|
|
20
14
|
declare const DOCUMENT_FORMAT_CODECS: Readonly<Record<DocumentFormat, DocumentFormatCodecs>>;
|
|
21
15
|
//#endregion
|
|
22
|
-
export { DOCUMENT_FORMAT_CODECS,
|
|
16
|
+
export { DOCUMENT_FORMAT_CODECS, DocumentFormatCodecs, LayoutEntryCodec };
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
import { DocumentFormat } from "../convert/port.js";
|
|
2
|
+
import { DocumentCodecOptions } from "./read.js";
|
|
2
3
|
import { ContentCodec } from "document-schema.js";
|
|
3
4
|
import { LayoutDocument } from "pdf-codec";
|
|
4
|
-
import { MarkdownImageResolver } from "markdown-codec";
|
|
5
5
|
//#region src/codecs/registry.d.ts
|
|
6
|
-
declare function isArrayBufferBacked(bytes: Uint8Array): bytes is Uint8Array<ArrayBuffer>;
|
|
7
|
-
declare function requireArrayBufferBytes(bytes: Uint8Array): Uint8Array<ArrayBuffer>;
|
|
8
|
-
interface DocumentCodecOptions {
|
|
9
|
-
readonly signal?: AbortSignal;
|
|
10
|
-
readonly images?: MarkdownImageResolver;
|
|
11
|
-
}
|
|
12
6
|
interface LayoutEntryCodec {
|
|
13
7
|
read(bytes: Uint8Array, options?: DocumentCodecOptions): LayoutDocument;
|
|
14
8
|
write(layout: LayoutDocument, options?: DocumentCodecOptions): Uint8Array;
|
|
@@ -19,4 +13,4 @@ interface DocumentFormatCodecs {
|
|
|
19
13
|
}
|
|
20
14
|
declare const DOCUMENT_FORMAT_CODECS: Readonly<Record<DocumentFormat, DocumentFormatCodecs>>;
|
|
21
15
|
//#endregion
|
|
22
|
-
export { DOCUMENT_FORMAT_CODECS,
|
|
16
|
+
export { DOCUMENT_FORMAT_CODECS, DocumentFormatCodecs, LayoutEntryCodec };
|
package/dist/codecs/registry.js
CHANGED
|
@@ -5,106 +5,62 @@ import { buildOdpPackage } from "../edit/odp/content.js";
|
|
|
5
5
|
import { buildOdsPackage } from "../edit/ods/content.js";
|
|
6
6
|
import { buildOdgPackage } from "../edit/odg/content.js";
|
|
7
7
|
import { buildMarkdownText } from "../markdown/write.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { readPptxContent as readPptxContent$1 } from "../ooxml/pptx/read.js";
|
|
11
|
-
import { readOdfFormulaContent } from "../odf/formula/read.js";
|
|
12
|
-
import { readOdtContent } from "../odf/odt/read.js";
|
|
13
|
-
import { readOdpContent } from "../odf/odp/read.js";
|
|
14
|
-
import { readOdsContent } from "../odf/ods/read.js";
|
|
15
|
-
import { readOdgContent } from "../odf/odg/read.js";
|
|
16
|
-
import { decodeMarkdownText, encodeMarkdownText } from "../markdown/text.js";
|
|
17
|
-
import { decodeCsvText, encodeCsvText } from "../csv/text.js";
|
|
18
|
-
import { readCsvContent } from "../csv/read.js";
|
|
8
|
+
import { encodeMarkdownText } from "../markdown/text.js";
|
|
9
|
+
import { encodeCsvText } from "../csv/text.js";
|
|
19
10
|
import { buildCsvText } from "../csv/write.js";
|
|
20
|
-
import {
|
|
21
|
-
import { readSvgContent } from "../svg/read.js";
|
|
11
|
+
import { encodeSvgText } from "../svg/text.js";
|
|
22
12
|
import { buildSvgText } from "../svg/write.js";
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import { buildXlsxPackageFromContent
|
|
26
|
-
import {
|
|
13
|
+
import { encodeDocumentPackage } from "../package-codec.js";
|
|
14
|
+
import { CONTENT_READERS, readDocumentLayout } from "./read.js";
|
|
15
|
+
import { buildXlsxPackageFromContent } from "ooxml.js";
|
|
16
|
+
import { writePdf } from "pdf-codec";
|
|
27
17
|
//#region src/codecs/registry.ts
|
|
28
|
-
function isArrayBufferBacked(bytes) {
|
|
29
|
-
return bytes.buffer instanceof ArrayBuffer;
|
|
30
|
-
}
|
|
31
|
-
function requireArrayBufferBytes(bytes) {
|
|
32
|
-
if (!isArrayBufferBacked(bytes)) throw new TypeError("expected an ArrayBuffer-backed Uint8Array, received one backed by a SharedArrayBuffer");
|
|
33
|
-
return bytes;
|
|
34
|
-
}
|
|
35
18
|
const DOCUMENT_FORMAT_CODECS = {
|
|
36
19
|
docx: { content: {
|
|
37
|
-
read:
|
|
38
|
-
throwIfAborted(options?.signal);
|
|
39
|
-
return readDocxContent$1(decodeDocumentPackage("docx", requireArrayBufferBytes(bytes)));
|
|
40
|
-
},
|
|
20
|
+
read: CONTENT_READERS.docx,
|
|
41
21
|
write: (content) => encodeDocumentPackage("docx", buildDocxPackage(content))
|
|
42
22
|
} },
|
|
43
23
|
pptx: { content: {
|
|
44
|
-
read:
|
|
45
|
-
throwIfAborted(options?.signal);
|
|
46
|
-
return readPptxContent$1(decodeDocumentPackage("pptx", requireArrayBufferBytes(bytes)));
|
|
47
|
-
},
|
|
24
|
+
read: CONTENT_READERS.pptx,
|
|
48
25
|
write: (content) => encodeDocumentPackage("pptx", buildPptxPackage(content))
|
|
49
26
|
} },
|
|
50
27
|
odt: { content: {
|
|
51
|
-
read:
|
|
52
|
-
throwIfAborted(options?.signal);
|
|
53
|
-
return readOdtContent(decodeDocumentPackage("odt", requireArrayBufferBytes(bytes)));
|
|
54
|
-
},
|
|
28
|
+
read: CONTENT_READERS.odt,
|
|
55
29
|
write: (content) => encodeDocumentPackage("odt", buildOdtPackage(content))
|
|
56
30
|
} },
|
|
57
31
|
odp: { content: {
|
|
58
|
-
read:
|
|
59
|
-
throwIfAborted(options?.signal);
|
|
60
|
-
return readOdpContent(decodeDocumentPackage("odp", requireArrayBufferBytes(bytes)));
|
|
61
|
-
},
|
|
32
|
+
read: CONTENT_READERS.odp,
|
|
62
33
|
write: (content) => encodeDocumentPackage("odp", buildOdpPackage(content))
|
|
63
34
|
} },
|
|
64
35
|
ods: { content: {
|
|
65
|
-
read:
|
|
66
|
-
throwIfAborted(options?.signal);
|
|
67
|
-
return readOdsContent(decodeDocumentPackage("ods", requireArrayBufferBytes(bytes)));
|
|
68
|
-
},
|
|
36
|
+
read: CONTENT_READERS.ods,
|
|
69
37
|
write: (content) => encodeDocumentPackage("ods", buildOdsPackage(content))
|
|
70
38
|
} },
|
|
71
39
|
odg: { content: {
|
|
72
|
-
read:
|
|
73
|
-
throwIfAborted(options?.signal);
|
|
74
|
-
return readOdgContent(decodeDocumentPackage("odg", requireArrayBufferBytes(bytes)));
|
|
75
|
-
},
|
|
40
|
+
read: CONTENT_READERS.odg,
|
|
76
41
|
write: (content) => encodeDocumentPackage("odg", buildOdgPackage(content))
|
|
77
42
|
} },
|
|
78
|
-
odf: { content: { read:
|
|
79
|
-
throwIfAborted(options?.signal);
|
|
80
|
-
return readOdfFormulaContent(decodeDocumentPackage("odf", requireArrayBufferBytes(bytes)));
|
|
81
|
-
} } },
|
|
43
|
+
odf: { content: { read: CONTENT_READERS.odf } },
|
|
82
44
|
markdown: { content: {
|
|
83
|
-
read:
|
|
84
|
-
signal: options?.signal,
|
|
85
|
-
images: options?.images
|
|
86
|
-
}),
|
|
45
|
+
read: CONTENT_READERS.markdown,
|
|
87
46
|
write: (content) => encodeMarkdownText(buildMarkdownText(content))
|
|
88
47
|
} },
|
|
89
48
|
csv: { content: {
|
|
90
|
-
read:
|
|
49
|
+
read: CONTENT_READERS.csv,
|
|
91
50
|
write: (content) => encodeCsvText(buildCsvText(content))
|
|
92
51
|
} },
|
|
93
52
|
svg: { content: {
|
|
94
|
-
read:
|
|
53
|
+
read: CONTENT_READERS.svg,
|
|
95
54
|
write: (content) => encodeSvgText(buildSvgText(content))
|
|
96
55
|
} },
|
|
97
56
|
pdf: { layout: {
|
|
98
|
-
read:
|
|
57
|
+
read: readDocumentLayout,
|
|
99
58
|
write: (layout, options) => writePdf(layout, { signal: options?.signal })
|
|
100
59
|
} },
|
|
101
60
|
xlsx: { content: {
|
|
102
|
-
read:
|
|
103
|
-
throwIfAborted(options?.signal);
|
|
104
|
-
return readXlsxContent(decodeDocumentPackage("xlsx", requireArrayBufferBytes(bytes)));
|
|
105
|
-
},
|
|
61
|
+
read: CONTENT_READERS.xlsx,
|
|
106
62
|
write: (content) => encodeDocumentPackage("xlsx", buildXlsxPackageFromContent(content))
|
|
107
63
|
} }
|
|
108
64
|
};
|
|
109
65
|
//#endregion
|
|
110
|
-
export { DOCUMENT_FORMAT_CODECS
|
|
66
|
+
export { DOCUMENT_FORMAT_CODECS };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_model_geometry = require("../model/geometry.cjs");
|
|
3
|
+
const require_model_bytes = require("../model/bytes.cjs");
|
|
3
4
|
const require_layout_shared = require("../layout/shared.cjs");
|
|
4
5
|
require("../layout/sheets.cjs");
|
|
5
6
|
const require_layout_drawing = require("../layout/drawing.cjs");
|
|
@@ -15,7 +16,7 @@ function buildDocumentBytes(pkg, target) {
|
|
|
15
16
|
if (target === "odf") throw new Error("'odf' (a standalone formula document) cannot be built from a DocumentPackage -- there is no ContentDocument-to-odf builder");
|
|
16
17
|
const content = require_codecs_registry.DOCUMENT_FORMAT_CODECS[target].content;
|
|
17
18
|
if (!content?.write) throw new Error(`DocumentFormat '${target}' has no content.write codec in DOCUMENT_FORMAT_CODECS, and is not 'pdf'/'odf' -- this is an internal invariant violation, not a caller error`);
|
|
18
|
-
return
|
|
19
|
+
return require_model_bytes.requireArrayBufferBytes(content.write((0, document_schema_js.flattenPackage)(pkg)));
|
|
19
20
|
}
|
|
20
21
|
function pageOfFrame(state, frame) {
|
|
21
22
|
return state.pages[frame.pageIndex];
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { flipY } from "../model/geometry.js";
|
|
2
|
+
import { requireArrayBufferBytes } from "../model/bytes.js";
|
|
2
3
|
import { pushCellBorderLines, registerImage, runFont } from "../layout/shared.js";
|
|
3
4
|
import "../layout/sheets.js";
|
|
4
5
|
import { convertVector } from "../layout/drawing.js";
|
|
5
|
-
import { DOCUMENT_FORMAT_CODECS
|
|
6
|
+
import { DOCUMENT_FORMAT_CODECS } from "../codecs/registry.js";
|
|
6
7
|
import { COLOR_BLACK, DEFAULT_LAYOUT_FONT, flattenPackage } from "document-schema.js";
|
|
7
8
|
import { LAYOUT_FORMAT_VERSION, writePdf } from "pdf-codec";
|
|
8
9
|
//#region src/convert/from-package.ts
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_convert_composition = require("./composition.cjs");
|
|
3
|
+
const require_codecs_read = require("../codecs/read.cjs");
|
|
3
4
|
//#region src/convert/from-pdf.ts
|
|
5
|
+
function readDocumentMetadata(format, bytes, options) {
|
|
6
|
+
if (format === "pdf") return require_codecs_read.readDocumentLayout(bytes, { signal: options?.signal }).metadata;
|
|
7
|
+
return require_codecs_read.CONTENT_READERS[format](bytes, { signal: options?.signal }).metadata;
|
|
8
|
+
}
|
|
4
9
|
function pdfToDocx(bytes, options) {
|
|
5
10
|
return require_convert_composition.convertDocumentFromPdf("docx", bytes, options);
|
|
6
11
|
}
|
|
@@ -42,3 +47,4 @@ exports.pdfToOdt = pdfToOdt;
|
|
|
42
47
|
exports.pdfToPptx = pdfToPptx;
|
|
43
48
|
exports.pdfToSvg = pdfToSvg;
|
|
44
49
|
exports.pdfToXlsx = pdfToXlsx;
|
|
50
|
+
exports.readDocumentMetadata = readDocumentMetadata;
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
import { DocumentFormat } from "./port.cjs";
|
|
1
2
|
import { CsvWriteOptions, SvgWriteOptions } from "./convert.cjs";
|
|
2
|
-
import { DocumentPackage } from "document-schema.js";
|
|
3
|
+
import { DocumentPackage, LayoutMetadata } from "document-schema.js";
|
|
3
4
|
import { PdfDiagnosticSink } from "pdf-codec";
|
|
4
5
|
//#region src/convert/from-pdf.d.ts
|
|
6
|
+
interface ReadDocumentMetadataOptions {
|
|
7
|
+
readonly signal?: AbortSignal;
|
|
8
|
+
}
|
|
9
|
+
declare function readDocumentMetadata(format: DocumentFormat, bytes: Uint8Array<ArrayBuffer>, options?: ReadDocumentMetadataOptions): LayoutMetadata;
|
|
5
10
|
interface PdfToDocumentOptions {
|
|
6
11
|
readonly signal?: AbortSignal;
|
|
7
12
|
readonly sink?: PdfDiagnosticSink;
|
|
@@ -18,4 +23,4 @@ declare function pdfToCsv(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumen
|
|
|
18
23
|
declare function pdfToSvg(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumentOptions & SvgWriteOptions): Uint8Array<ArrayBuffer>;
|
|
19
24
|
declare function pdfToXlsx(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumentOptions): Uint8Array<ArrayBuffer>;
|
|
20
25
|
//#endregion
|
|
21
|
-
export { PdfToDocumentOptions, pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToSvg, pdfToXlsx };
|
|
26
|
+
export { PdfToDocumentOptions, ReadDocumentMetadataOptions, pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToSvg, pdfToXlsx, readDocumentMetadata };
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
import { DocumentFormat } from "./port.js";
|
|
1
2
|
import { CsvWriteOptions, SvgWriteOptions } from "./convert.js";
|
|
2
|
-
import { DocumentPackage } from "document-schema.js";
|
|
3
|
+
import { DocumentPackage, LayoutMetadata } from "document-schema.js";
|
|
3
4
|
import { PdfDiagnosticSink } from "pdf-codec";
|
|
4
5
|
//#region src/convert/from-pdf.d.ts
|
|
6
|
+
interface ReadDocumentMetadataOptions {
|
|
7
|
+
readonly signal?: AbortSignal;
|
|
8
|
+
}
|
|
9
|
+
declare function readDocumentMetadata(format: DocumentFormat, bytes: Uint8Array<ArrayBuffer>, options?: ReadDocumentMetadataOptions): LayoutMetadata;
|
|
5
10
|
interface PdfToDocumentOptions {
|
|
6
11
|
readonly signal?: AbortSignal;
|
|
7
12
|
readonly sink?: PdfDiagnosticSink;
|
|
@@ -18,4 +23,4 @@ declare function pdfToCsv(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumen
|
|
|
18
23
|
declare function pdfToSvg(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumentOptions & SvgWriteOptions): Uint8Array<ArrayBuffer>;
|
|
19
24
|
declare function pdfToXlsx(bytes: Uint8Array<ArrayBuffer>, options?: PdfToDocumentOptions): Uint8Array<ArrayBuffer>;
|
|
20
25
|
//#endregion
|
|
21
|
-
export { PdfToDocumentOptions, pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToSvg, pdfToXlsx };
|
|
26
|
+
export { PdfToDocumentOptions, ReadDocumentMetadataOptions, pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToSvg, pdfToXlsx, readDocumentMetadata };
|
package/dist/convert/from-pdf.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { convertDocumentFromPdf } from "./composition.js";
|
|
2
|
+
import { CONTENT_READERS, readDocumentLayout } from "../codecs/read.js";
|
|
2
3
|
//#region src/convert/from-pdf.ts
|
|
4
|
+
function readDocumentMetadata(format, bytes, options) {
|
|
5
|
+
if (format === "pdf") return readDocumentLayout(bytes, { signal: options?.signal }).metadata;
|
|
6
|
+
return CONTENT_READERS[format](bytes, { signal: options?.signal }).metadata;
|
|
7
|
+
}
|
|
3
8
|
function pdfToDocx(bytes, options) {
|
|
4
9
|
return convertDocumentFromPdf("docx", bytes, options);
|
|
5
10
|
}
|
|
@@ -31,4 +36,4 @@ function pdfToXlsx(bytes, options) {
|
|
|
31
36
|
return convertDocumentFromPdf("xlsx", bytes, options);
|
|
32
37
|
}
|
|
33
38
|
//#endregion
|
|
34
|
-
export { pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToSvg, pdfToXlsx };
|
|
39
|
+
export { pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToSvg, pdfToXlsx, readDocumentMetadata };
|
package/dist/index.cjs
CHANGED
|
@@ -99,6 +99,7 @@ const require_convert_port = require("./convert/port.cjs");
|
|
|
99
99
|
const require_convert_composition = require("./convert/composition.cjs");
|
|
100
100
|
const require_convert_composition_to_pdf = require("./convert/composition-to-pdf.cjs");
|
|
101
101
|
const require_convert_convert = require("./convert/convert.cjs");
|
|
102
|
+
const require_package_codec = require("./package-codec.cjs");
|
|
102
103
|
const require_convert_from_pdf = require("./convert/from-pdf.cjs");
|
|
103
104
|
const require_convert_codec = require("./convert/codec.cjs");
|
|
104
105
|
const require_odb_components = require("./odb/components.cjs");
|
|
@@ -114,10 +115,8 @@ const require_odb_report_render = require("./odb/report/render.cjs");
|
|
|
114
115
|
const require_odb_report_source = require("./odb/report/source.cjs");
|
|
115
116
|
const require_odb_report_content = require("./odb/report/content.cjs");
|
|
116
117
|
const require_convert_local = require("./convert/local.cjs");
|
|
117
|
-
const require_package_codec = require("./package-codec.cjs");
|
|
118
118
|
const require_convert_from_package = require("./convert/from-package.cjs");
|
|
119
119
|
const require_convert_document_fonts = require("./convert/document-fonts.cjs");
|
|
120
|
-
const require_metadata_read = require("./metadata/read.cjs");
|
|
121
120
|
const require_metadata_write = require("./metadata/write.cjs");
|
|
122
121
|
let ooxml_js = require("ooxml.js");
|
|
123
122
|
let document_schema_js = require("document-schema.js");
|
|
@@ -961,7 +960,7 @@ Object.defineProperty(exports, "rangeReference", {
|
|
|
961
960
|
}
|
|
962
961
|
});
|
|
963
962
|
exports.readCsvContent = require_csv_read.readCsvContent;
|
|
964
|
-
exports.readDocumentMetadata =
|
|
963
|
+
exports.readDocumentMetadata = require_convert_from_pdf.readDocumentMetadata;
|
|
965
964
|
exports.readDocxContent = require_ooxml_docx_read.readDocxContent;
|
|
966
965
|
exports.readDocxExtras = require_ooxml_docx_extras.readDocxExtras;
|
|
967
966
|
exports.readFirebirdBackup = require_firebird_backup.readFirebirdBackup;
|
package/dist/index.d.cts
CHANGED
|
@@ -12,7 +12,7 @@ import { i as extractSourceFonts, n as FontSourcePackage, r as createDocumentFon
|
|
|
12
12
|
import { CsvReadOptions, CsvWriteOptions, DocumentBridgeOptions, DocumentToPdfOptions, OdbConversionOptions, OdbReportToDocxOptions, OdbReportToOdtOptions, OdbToCsvOptions, OdmToPdfOptions, OdmUnresolvedSectionError, SvgReadOptions, SvgWriteOptions, csvToMarkdown, csvToOds, csvToPdf, csvToXlsx, docxToMarkdown, docxToOdt, docxToPdf, docxToPptx, markdownToCsv, markdownToDocx, markdownToOdt, markdownToPdf, markdownToXlsx, odbReportToDocx, odbReportToOdt, odbReportToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odgToSvg, odmToPdf, odpToOdt, odpToPdf, odpToPptx, odsToCsv, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToOdp, odtToPdf, pptxToDocx, pptxToOdp, pptxToPdf, svgToOdg, svgToPdf, xlsxToCsv, xlsxToMarkdown, xlsxToOds, xlsxToPdf } from "./convert/convert.cjs";
|
|
13
13
|
import { UnsupportedFontSourceFormatError, extractSourceFontsForFormat } from "./convert/document-fonts.cjs";
|
|
14
14
|
import { buildDocumentBytes, layoutDocumentFromPackage } from "./convert/from-package.cjs";
|
|
15
|
-
import { PdfToDocumentOptions, pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToSvg, pdfToXlsx } from "./convert/from-pdf.cjs";
|
|
15
|
+
import { PdfToDocumentOptions, ReadDocumentMetadataOptions, pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToSvg, pdfToXlsx, readDocumentMetadata } from "./convert/from-pdf.cjs";
|
|
16
16
|
import { createLocalDocumentConverter } from "./convert/local.cjs";
|
|
17
17
|
import { ReadCsvContentOptions, readCsvContent } from "./csv/read.cjs";
|
|
18
18
|
import { CsvParseError } from "./csv/records.cjs";
|
|
@@ -123,7 +123,6 @@ import { OdbReportContentOptions, OdbReportNotSpecifiedError, readOdbReportConte
|
|
|
123
123
|
import { renderOdbReportContent } from "./odb/report/render.cjs";
|
|
124
124
|
import { OdbReportDataSourceError, odbReportCommandSql, resolveOdbReportRows } from "./odb/report/source.cjs";
|
|
125
125
|
import { UnsupportedPackageFormatError, decodeDocumentPackage, decodeOdbPackage, encodeDocumentPackage } from "./package-codec.cjs";
|
|
126
|
-
import { ReadDocumentMetadataOptions, readDocumentMetadata } from "./metadata/read.cjs";
|
|
127
126
|
import { MetadataOverrides, SetDocumentMetadataOptions, setDocumentMetadata } from "./metadata/write.cjs";
|
|
128
127
|
import { throwIfAborted } from "./ports/abort.cjs";
|
|
129
128
|
import { Alignment, Box, COLOR_BLACK, CellPosition, CellRange, Color as LayoutColor, ContentBlock, ContentBlockSchema, ContentCellValue, ContentCellValueSchema, ContentDocument, ContentDocumentJson, ContentDocumentSchema, ContentDrawPage, ContentDrawPageSchema, ContentImageBlock, ContentImageBlockSchema, ContentListMembership, ContentPageBreak, ContentPageBreakSchema, ContentParagraph, ContentParagraphSchema, ContentPathPoint, ContentPathPointSchema, ContentPathSegment, ContentPathSegmentSchema, ContentRun, ContentRunSchema, ContentSection, ContentSectionSchema, ContentShape, ContentShapeSchema, ContentSheet, ContentSheetCell, ContentSheetCellSchema, ContentSheetColumn, ContentSheetColumnSchema, ContentSheetImage, ContentSheetPrintRange, ContentSheetPrintRangeSchema, ContentSheetPrintSettings, ContentSheetPrintSettingsSchema, ContentSheetRepeatRange, ContentSheetRepeatRangeSchema, ContentSheetRow, ContentSheetRowSchema, ContentSheetSchema, ContentSlide, ContentSlideSchema, ContentStroke, ContentStrokeSchema, ContentSubpath, ContentSubpathSchema, ContentTable, ContentTableCell, ContentTableCellSchema, ContentTableRow, ContentTableRowSchema, ContentTableSchema, ContentVector, ContentVectorSchema, DEFAULT_LAYOUT_FONT, DocumentJsonResult, DocumentPackage, DocumentPackageJson, DocumentPackageSchema, DocumentSchemaKind, FontFace, LayoutFont, LayoutMetadata, Margins, MathAssembledGlyphs, MathBox, MathColor, MathFontMetrics, MathGlyphMetrics, MathGlyphPlacement, MathGlyphRun, MathLayoutItem, MathRule, MathStretchAxis, MathStretchGlyph, MathStretchResult, MathStroke, PAGE_SIZE_A4, PAGE_SIZE_LETTER, PageSize, PositionedFormula, SLIDE_SIZE_STANDARD, SLIDE_SIZE_WIDESCREEN, UnrecognizedDocumentSchemaError, cellReference, columnIndexToLetters, columnLettersToIndex, contentDocumentWithSchema, documentFromJson, documentPackageWithSchema, documentSchemaKindOf, isContentBlock, parseCellReference, parseRangeReference, rangeReference, rgbHexToColor, schemaUriFor } from "document-schema.js";
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ import { i as extractSourceFonts, n as FontSourcePackage, r as createDocumentFon
|
|
|
12
12
|
import { CsvReadOptions, CsvWriteOptions, DocumentBridgeOptions, DocumentToPdfOptions, OdbConversionOptions, OdbReportToDocxOptions, OdbReportToOdtOptions, OdbToCsvOptions, OdmToPdfOptions, OdmUnresolvedSectionError, SvgReadOptions, SvgWriteOptions, csvToMarkdown, csvToOds, csvToPdf, csvToXlsx, docxToMarkdown, docxToOdt, docxToPdf, docxToPptx, markdownToCsv, markdownToDocx, markdownToOdt, markdownToPdf, markdownToXlsx, odbReportToDocx, odbReportToOdt, odbReportToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odgToSvg, odmToPdf, odpToOdt, odpToPdf, odpToPptx, odsToCsv, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToOdp, odtToPdf, pptxToDocx, pptxToOdp, pptxToPdf, svgToOdg, svgToPdf, xlsxToCsv, xlsxToMarkdown, xlsxToOds, xlsxToPdf } from "./convert/convert.js";
|
|
13
13
|
import { UnsupportedFontSourceFormatError, extractSourceFontsForFormat } from "./convert/document-fonts.js";
|
|
14
14
|
import { buildDocumentBytes, layoutDocumentFromPackage } from "./convert/from-package.js";
|
|
15
|
-
import { PdfToDocumentOptions, pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToSvg, pdfToXlsx } from "./convert/from-pdf.js";
|
|
15
|
+
import { PdfToDocumentOptions, ReadDocumentMetadataOptions, pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToSvg, pdfToXlsx, readDocumentMetadata } from "./convert/from-pdf.js";
|
|
16
16
|
import { createLocalDocumentConverter } from "./convert/local.js";
|
|
17
17
|
import { ReadCsvContentOptions, readCsvContent } from "./csv/read.js";
|
|
18
18
|
import { CsvParseError } from "./csv/records.js";
|
|
@@ -123,7 +123,6 @@ import { OdbReportContentOptions, OdbReportNotSpecifiedError, readOdbReportConte
|
|
|
123
123
|
import { renderOdbReportContent } from "./odb/report/render.js";
|
|
124
124
|
import { OdbReportDataSourceError, odbReportCommandSql, resolveOdbReportRows } from "./odb/report/source.js";
|
|
125
125
|
import { UnsupportedPackageFormatError, decodeDocumentPackage, decodeOdbPackage, encodeDocumentPackage } from "./package-codec.js";
|
|
126
|
-
import { ReadDocumentMetadataOptions, readDocumentMetadata } from "./metadata/read.js";
|
|
127
126
|
import { MetadataOverrides, SetDocumentMetadataOptions, setDocumentMetadata } from "./metadata/write.js";
|
|
128
127
|
import { throwIfAborted } from "./ports/abort.js";
|
|
129
128
|
import { Attribute, AttributeSchema, BinaryPart, BinaryPartSchema, Comment, CommentSchema, CompactAttrPairs, CompactPackage, CompactPackageSchema, CompactPart, CompactPartSchema, CompactXmlNode, CompactXmlNodeSchema, DefinedName, DefinedNameSchema, Footnote, FootnoteSchema, NumberingDefinition, NumberingDefinitionSchema, NumberingDefinitions, NumberingLevel, NumberingLevelSchema, Package, PackageSchema, Part, PartSchema, Relationship, XmlCdata, XmlCdataSchema, XmlComment, XmlCommentSchema, XmlDeclaration, XmlDeclarationSchema, XmlElement, XmlElementSchema, XmlNode, XmlNodeSchema, XmlPart, XmlPartSchema, XmlPi, XmlPiSchema, XmlText, XmlTextSchema, attr, base64ToBytes, buildXlsxPackageFromContent as buildXlsxPackage, buildXml, bytesToBase64, childrenWithTag, compactCodec, compactPackageCodec, decodeCompactPackage, decodeEntities, decodePackage, elementsWithTag, encodeCompactPackage, encodePackage, fromCompact, isCompactXmlNode, isXmlNode, packageCodec, parsePackage, parseXml, readXlsxContent, resolveRelationships, rootElement, serializePackage, textContent as textContent$1, toCompact, unzipPackage, walk, xmlCodec, zipPackage } from "ooxml.js";
|
package/dist/index.js
CHANGED
|
@@ -98,7 +98,8 @@ import { DOCUMENT_FORMATS, DocumentFormatSchema } from "./convert/port.js";
|
|
|
98
98
|
import { resolveCompositionPlan } from "./convert/composition.js";
|
|
99
99
|
import { convertDocument } from "./convert/composition-to-pdf.js";
|
|
100
100
|
import { OdmUnresolvedSectionError, csvToMarkdown, csvToOds, csvToPdf, csvToXlsx, docxToMarkdown, docxToOdt, docxToPdf, docxToPptx, markdownToCsv, markdownToDocx, markdownToOdt, markdownToPdf, markdownToXlsx, odbReportToDocx, odbReportToOdt, odbReportToPdf, odbToCsv, odbToXlsx, odfToPdf, odgToPdf, odgToSvg, odmToPdf, odpToOdt, odpToPdf, odpToPptx, odsToCsv, odsToPdf, odsToXlsx, odtToDocx, odtToMarkdown, odtToOdp, odtToPdf, pptxToDocx, pptxToOdp, pptxToPdf, svgToOdg, svgToPdf, xlsxToCsv, xlsxToMarkdown, xlsxToOds, xlsxToPdf } from "./convert/convert.js";
|
|
101
|
-
import {
|
|
101
|
+
import { UnsupportedPackageFormatError, decodeDocumentPackage, decodeOdbPackage, encodeDocumentPackage } from "./package-codec.js";
|
|
102
|
+
import { pdfToCsv, pdfToDocx, pdfToMarkdown, pdfToOdg, pdfToOdp, pdfToOds, pdfToOdt, pdfToPptx, pdfToSvg, pdfToXlsx, readDocumentMetadata } from "./convert/from-pdf.js";
|
|
102
103
|
import { csvMarkdownCodec, csvPdfCodec, docxPdfCodec, markdownDocxCodec, markdownOdtCodec, markdownPdfCodec, odgPdfCodec, odgSvgCodec, odpPdfCodec, odpPptxCodec, odsCsvCodec, odsPdfCodec, odsXlsxCodec, odtDocxCodec, odtPdfCodec, pptxPdfCodec, svgPdfCodec, xlsxCsvCodec, xlsxMarkdownCodec, xlsxPdfCodec } from "./convert/codec.js";
|
|
103
104
|
import { readOdbForms, readOdbReports } from "./odb/components.js";
|
|
104
105
|
import { HsqldbSqlEvaluationError, HsqldbSqlParseError, HsqldbSqlUnsupportedError } from "./odb/sql/errors.js";
|
|
@@ -113,10 +114,8 @@ import { renderOdbReportContent } from "./odb/report/render.js";
|
|
|
113
114
|
import { OdbReportDataSourceError, odbReportCommandSql, resolveOdbReportRows } from "./odb/report/source.js";
|
|
114
115
|
import { OdbReportNotSpecifiedError, readOdbReportContent } from "./odb/report/content.js";
|
|
115
116
|
import { createLocalDocumentConverter } from "./convert/local.js";
|
|
116
|
-
import { UnsupportedPackageFormatError, decodeDocumentPackage, decodeOdbPackage, encodeDocumentPackage } from "./package-codec.js";
|
|
117
117
|
import { buildDocumentBytes, layoutDocumentFromPackage } from "./convert/from-package.js";
|
|
118
118
|
import { UnsupportedFontSourceFormatError, extractSourceFontsForFormat } from "./convert/document-fonts.js";
|
|
119
|
-
import { readDocumentMetadata } from "./metadata/read.js";
|
|
120
119
|
import { setDocumentMetadata } from "./metadata/write.js";
|
|
121
120
|
import { AttributeSchema, BinaryPartSchema, CommentSchema, CompactPackageSchema, CompactPartSchema, CompactXmlNodeSchema, DefinedNameSchema, FootnoteSchema, NumberingDefinitionSchema, NumberingLevelSchema, PackageSchema, PartSchema, XmlCdataSchema, XmlCommentSchema, XmlDeclarationSchema, XmlElementSchema, XmlNodeSchema, XmlPartSchema, XmlPiSchema, XmlTextSchema, attr, base64ToBytes, buildXlsxPackageFromContent as buildXlsxPackage, buildXml, bytesToBase64, childrenWithTag, compactCodec, compactPackageCodec, decodeCompactPackage, decodeEntities, decodePackage, elementsWithTag, encodeCompactPackage, encodePackage, fromCompact, isCompactXmlNode, isXmlNode, packageCodec, parsePackage, parseXml, readXlsxContent, resolveRelationships, rootElement, serializePackage, textContent as textContent$1, toCompact, unzipPackage, walk, xmlCodec, zipPackage } from "ooxml.js";
|
|
122
121
|
import { COLOR_BLACK, ContentBlockSchema, ContentCellValueSchema, ContentDocumentSchema, ContentDrawPageSchema, ContentImageBlockSchema, ContentPageBreakSchema, ContentParagraphSchema, ContentPathPointSchema, ContentPathSegmentSchema, ContentRunSchema, ContentSectionSchema, ContentShapeSchema, ContentSheetCellSchema, ContentSheetColumnSchema, ContentSheetPrintRangeSchema, ContentSheetPrintSettingsSchema, ContentSheetRepeatRangeSchema, ContentSheetRowSchema, ContentSheetSchema, ContentSlideSchema, ContentStrokeSchema, ContentSubpathSchema, ContentTableCellSchema, ContentTableRowSchema, ContentTableSchema, ContentVectorSchema, DEFAULT_LAYOUT_FONT, DocumentPackageSchema, PAGE_SIZE_A4, PAGE_SIZE_LETTER, SLIDE_SIZE_STANDARD, SLIDE_SIZE_WIDESCREEN, UnrecognizedDocumentSchemaError, cellReference, columnIndexToLetters, columnLettersToIndex, contentDocumentWithSchema, documentFromJson, documentPackageWithSchema, documentSchemaKindOf, isContentBlock, parseCellReference, parseRangeReference, rangeReference, rgbHexToColor, schemaUriFor } from "document-schema.js";
|
package/dist/metadata/write.cjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_bytes = require("../model/bytes.cjs");
|
|
2
3
|
const require_ports_abort = require("../ports/abort.cjs");
|
|
3
4
|
const require_codecs_registry = require("../codecs/registry.cjs");
|
|
4
5
|
let pdf_codec = require("pdf-codec");
|
|
@@ -24,7 +25,7 @@ function readContentForFormat(format, bytes, options) {
|
|
|
24
25
|
function buildBytesForRebuildFormat(format, content) {
|
|
25
26
|
const codec = require_codecs_registry.DOCUMENT_FORMAT_CODECS[format].content;
|
|
26
27
|
if (!codec?.write) throw new Error(`RebuildFormat '${format}' has no content.write codec in DOCUMENT_FORMAT_CODECS -- this is an internal invariant violation, not a caller error`);
|
|
27
|
-
return
|
|
28
|
+
return require_model_bytes.requireArrayBufferBytes(codec.write(content));
|
|
28
29
|
}
|
|
29
30
|
function mergeMetadata(current, overrides) {
|
|
30
31
|
return {
|
package/dist/metadata/write.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { requireArrayBufferBytes } from "../model/bytes.js";
|
|
1
2
|
import { throwIfAborted } from "../ports/abort.js";
|
|
2
|
-
import { DOCUMENT_FORMAT_CODECS
|
|
3
|
+
import { DOCUMENT_FORMAT_CODECS } from "../codecs/registry.js";
|
|
3
4
|
import { readPdf, writePdf } from "pdf-codec";
|
|
4
5
|
//#region src/metadata/write.ts
|
|
5
6
|
const REBUILD_FORMATS = {
|
package/dist/model/bytes.cjs
CHANGED
|
@@ -94,6 +94,13 @@ const SvgBytesSchema = zod.z.instanceof(Uint8Array).refine((bytes) => {
|
|
|
94
94
|
if (!isWellFormedUtf8Text(bytes)) return false;
|
|
95
95
|
return new TextDecoder().decode(bytes).toLowerCase().includes("<svg");
|
|
96
96
|
}, { message: "not a valid SVG file: not well-formed UTF-8 text containing an <svg root element" });
|
|
97
|
+
function isArrayBufferBacked(bytes) {
|
|
98
|
+
return bytes.buffer instanceof ArrayBuffer;
|
|
99
|
+
}
|
|
100
|
+
function requireArrayBufferBytes(bytes) {
|
|
101
|
+
if (!isArrayBufferBacked(bytes)) throw new TypeError("expected an ArrayBuffer-backed Uint8Array, received one backed by a SharedArrayBuffer");
|
|
102
|
+
return bytes;
|
|
103
|
+
}
|
|
97
104
|
//#endregion
|
|
98
105
|
exports.CsvBytesSchema = CsvBytesSchema;
|
|
99
106
|
exports.DocxBytesSchema = DocxBytesSchema;
|
|
@@ -106,3 +113,4 @@ exports.PdfBytesSchema = PdfBytesSchema;
|
|
|
106
113
|
exports.PptxBytesSchema = PptxBytesSchema;
|
|
107
114
|
exports.SvgBytesSchema = SvgBytesSchema;
|
|
108
115
|
exports.XlsxBytesSchema = XlsxBytesSchema;
|
|
116
|
+
exports.requireArrayBufferBytes = requireArrayBufferBytes;
|
package/dist/model/bytes.d.cts
CHANGED
|
@@ -11,5 +11,6 @@ declare const OdgBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<Ar
|
|
|
11
11
|
declare const MarkdownBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
|
|
12
12
|
declare const CsvBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
|
|
13
13
|
declare const SvgBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
|
|
14
|
+
declare function requireArrayBufferBytes(bytes: Uint8Array): Uint8Array<ArrayBuffer>;
|
|
14
15
|
//#endregion
|
|
15
|
-
export { CsvBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsxBytesSchema };
|
|
16
|
+
export { CsvBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsxBytesSchema, requireArrayBufferBytes };
|
package/dist/model/bytes.d.ts
CHANGED
|
@@ -11,5 +11,6 @@ declare const OdgBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<Ar
|
|
|
11
11
|
declare const MarkdownBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
|
|
12
12
|
declare const CsvBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
|
|
13
13
|
declare const SvgBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
|
|
14
|
+
declare function requireArrayBufferBytes(bytes: Uint8Array): Uint8Array<ArrayBuffer>;
|
|
14
15
|
//#endregion
|
|
15
|
-
export { CsvBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsxBytesSchema };
|
|
16
|
+
export { CsvBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsxBytesSchema, requireArrayBufferBytes };
|
package/dist/model/bytes.js
CHANGED
|
@@ -93,5 +93,12 @@ const SvgBytesSchema = z.instanceof(Uint8Array).refine((bytes) => {
|
|
|
93
93
|
if (!isWellFormedUtf8Text(bytes)) return false;
|
|
94
94
|
return new TextDecoder().decode(bytes).toLowerCase().includes("<svg");
|
|
95
95
|
}, { message: "not a valid SVG file: not well-formed UTF-8 text containing an <svg root element" });
|
|
96
|
+
function isArrayBufferBacked(bytes) {
|
|
97
|
+
return bytes.buffer instanceof ArrayBuffer;
|
|
98
|
+
}
|
|
99
|
+
function requireArrayBufferBytes(bytes) {
|
|
100
|
+
if (!isArrayBufferBacked(bytes)) throw new TypeError("expected an ArrayBuffer-backed Uint8Array, received one backed by a SharedArrayBuffer");
|
|
101
|
+
return bytes;
|
|
102
|
+
}
|
|
96
103
|
//#endregion
|
|
97
|
-
export { CsvBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsxBytesSchema };
|
|
104
|
+
export { CsvBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsxBytesSchema, requireArrayBufferBytes };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "documents.js",
|
|
3
|
-
"version": "4.4.
|
|
3
|
+
"version": "4.4.2",
|
|
4
4
|
"description": "Bidirectional docx/pptx <-> PDF conversion and a read+write editable OOXML document model, built on ooxml.js and Zod 4 codecs.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
"fflate": "^0.8.3",
|
|
106
106
|
"markdown-codec": "^4.1.0",
|
|
107
107
|
"odf.js": "^5.1.2",
|
|
108
|
-
"ooxml.js": "^4.4.
|
|
108
|
+
"ooxml.js": "^4.4.4",
|
|
109
109
|
"pdf-codec": "^3.2.0",
|
|
110
110
|
"temml": "0.13.4",
|
|
111
111
|
"zod": "^4.4.3"
|
package/dist/metadata/read.cjs
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_convert_convert = require("../convert/convert.cjs");
|
|
3
|
-
const require_codecs_registry = require("../codecs/registry.cjs");
|
|
4
|
-
let pdf_codec = require("pdf-codec");
|
|
5
|
-
//#region src/metadata/read.ts
|
|
6
|
-
function readDocumentMetadata(format, bytes, options) {
|
|
7
|
-
const signal = options?.signal;
|
|
8
|
-
if (format === "xlsx") return (0, pdf_codec.readPdf)(require_convert_convert.xlsxToPdf(bytes, { signal }), { signal }).metadata;
|
|
9
|
-
const codecs = require_codecs_registry.DOCUMENT_FORMAT_CODECS[format];
|
|
10
|
-
if (codecs.content) return codecs.content.read(bytes, { signal }).metadata;
|
|
11
|
-
if (codecs.layout) return codecs.layout.read(bytes, { signal }).metadata;
|
|
12
|
-
throw new Error(`DocumentFormat '${format}' has neither a content nor a layout codec in DOCUMENT_FORMAT_CODECS, and is not 'xlsx' -- this is an internal invariant violation, not a caller error`);
|
|
13
|
-
}
|
|
14
|
-
//#endregion
|
|
15
|
-
exports.readDocumentMetadata = readDocumentMetadata;
|
package/dist/metadata/read.d.cts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { DocumentFormat } from "../convert/port.cjs";
|
|
2
|
-
import { LayoutMetadata } from "document-schema.js";
|
|
3
|
-
//#region src/metadata/read.d.ts
|
|
4
|
-
interface ReadDocumentMetadataOptions {
|
|
5
|
-
readonly signal?: AbortSignal;
|
|
6
|
-
}
|
|
7
|
-
declare function readDocumentMetadata(format: DocumentFormat, bytes: Uint8Array<ArrayBuffer>, options?: ReadDocumentMetadataOptions): LayoutMetadata;
|
|
8
|
-
//#endregion
|
|
9
|
-
export { ReadDocumentMetadataOptions, readDocumentMetadata };
|
package/dist/metadata/read.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { DocumentFormat } from "../convert/port.js";
|
|
2
|
-
import { LayoutMetadata } from "document-schema.js";
|
|
3
|
-
//#region src/metadata/read.d.ts
|
|
4
|
-
interface ReadDocumentMetadataOptions {
|
|
5
|
-
readonly signal?: AbortSignal;
|
|
6
|
-
}
|
|
7
|
-
declare function readDocumentMetadata(format: DocumentFormat, bytes: Uint8Array<ArrayBuffer>, options?: ReadDocumentMetadataOptions): LayoutMetadata;
|
|
8
|
-
//#endregion
|
|
9
|
-
export { ReadDocumentMetadataOptions, readDocumentMetadata };
|
package/dist/metadata/read.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { xlsxToPdf } from "../convert/convert.js";
|
|
2
|
-
import { DOCUMENT_FORMAT_CODECS } from "../codecs/registry.js";
|
|
3
|
-
import { readPdf } from "pdf-codec";
|
|
4
|
-
//#region src/metadata/read.ts
|
|
5
|
-
function readDocumentMetadata(format, bytes, options) {
|
|
6
|
-
const signal = options?.signal;
|
|
7
|
-
if (format === "xlsx") return readPdf(xlsxToPdf(bytes, { signal }), { signal }).metadata;
|
|
8
|
-
const codecs = DOCUMENT_FORMAT_CODECS[format];
|
|
9
|
-
if (codecs.content) return codecs.content.read(bytes, { signal }).metadata;
|
|
10
|
-
if (codecs.layout) return codecs.layout.read(bytes, { signal }).metadata;
|
|
11
|
-
throw new Error(`DocumentFormat '${format}' has neither a content nor a layout codec in DOCUMENT_FORMAT_CODECS, and is not 'xlsx' -- this is an internal invariant violation, not a caller error`);
|
|
12
|
-
}
|
|
13
|
-
//#endregion
|
|
14
|
-
export { readDocumentMetadata };
|