abstract-document 20.2.5 → 20.3.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.
- package/CHANGELOG.md +5 -0
- package/lib/abstract-document/resources.d.ts +2 -2
- package/lib/abstract-document-exporters/docx2/render.d.ts.map +1 -1
- package/lib/abstract-document-exporters/docx2/render.js +5 -4
- package/lib/abstract-document-exporters/docx2/render.js.map +1 -1
- package/lib/abstract-document-exporters/pdf/render.d.ts.map +1 -1
- package/lib/abstract-document-exporters/pdf/render.js +9 -6
- package/lib/abstract-document-exporters/pdf/render.js.map +1 -1
- package/lib/abstract-document-exporters/shared/avif-to-png.d.ts +9 -0
- package/lib/abstract-document-exporters/shared/avif-to-png.d.ts.map +1 -0
- package/lib/abstract-document-exporters/shared/avif-to-png.js +88 -0
- package/lib/abstract-document-exporters/shared/avif-to-png.js.map +1 -0
- package/package.json +5 -3
- package/src/abstract-document/resources.ts +2 -2
- package/src/abstract-document-exporters/docx2/render.ts +5 -5
- package/src/abstract-document-exporters/pdf/render.ts +9 -6
- package/src/abstract-document-exporters/shared/avif-to-png.ts +112 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).
|
|
4
4
|
|
|
5
|
+
## [20.3.0] - 2026-10-05
|
|
6
|
+
|
|
7
|
+
- Added: Support for AVIF images (`"avif"` binary format or `data:image/avif;base64,` urls). The PDF and DOCX exporters transcode them to PNG using `@jsquash/avif` and `@jsquash/png` (wasm, loaded only when a document contains AVIF).
|
|
8
|
+
- Changed: `exportToStream` in the PDF exporter now builds the document asynchronously, so errors are emitted as `error` events on the stream instead of being thrown.
|
|
9
|
+
|
|
5
10
|
## [20.2.1] - 2026-09-14
|
|
6
11
|
|
|
7
12
|
- Fixed: a `<Table>` XML template element without a `columnWidths` attribute no longer crashes PDF export (`Cannot read properties of undefined (reading 'filter')`); it now renders with zero fixed-width columns instead.
|
|
@@ -7,8 +7,8 @@ export interface Resources {
|
|
|
7
7
|
readonly fonts?: Indexer<Font>;
|
|
8
8
|
readonly styles?: Indexer<Style>;
|
|
9
9
|
/**
|
|
10
|
-
* Embedded image data uri are expected to have to shape: data:image/png;base64,${string}, data:image/jpeg;base64,${string}
|
|
11
|
-
* data:image/svg+xml,${string}
|
|
10
|
+
* Embedded image data uri are expected to have to shape: data:image/png;base64,${string}, data:image/jpeg;base64,${string},
|
|
11
|
+
* data:image/avif;base64,${string} (transcoded to PNG when exporting to PDF and DOCX) or data:image/svg+xml,${string}
|
|
12
12
|
*/
|
|
13
13
|
readonly imageResources?: Record<string, ImageResource>;
|
|
14
14
|
readonly numberingDefinitions?: Indexer<NumberingDefinition>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/abstract-document-exporters/docx2/render.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/abstract-document-exporters/docx2/render.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAQvD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtF;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAWvG"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { Readable } from "stream";
|
|
2
2
|
import { Packer, Document, Paragraph, Table, Bookmark, PageOrientation, Header, Footer, InternalHyperlink, ExternalHyperlink, TextRun, UnderlineType, AlignmentType, WidthType, BorderStyle, TableRow, TableCell, VerticalAlign, PageNumber, } from "docx";
|
|
3
3
|
import * as AD from "../../abstract-document/index.js";
|
|
4
|
+
import { transcodeAvifImages } from "../shared/avif-to-png.js";
|
|
4
5
|
import { renderImage } from "./render-image.js";
|
|
5
6
|
const abstractDocToDocxFontRatio = 2;
|
|
6
7
|
const abstractDocPixelToDocxDXARatio = 20;
|
|
7
8
|
const abstractDocBorderToDocxBorderSizeRatio = 8;
|
|
8
|
-
export function exportToHTML5Blob(doc) {
|
|
9
|
-
const docx = createDocument(doc);
|
|
9
|
+
export async function exportToHTML5Blob(doc) {
|
|
10
|
+
const docx = createDocument(await transcodeAvifImages(doc));
|
|
10
11
|
return Packer.toBlob(docx);
|
|
11
12
|
}
|
|
12
13
|
export function exportToStream(blobStream, doc) {
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
transcodeAvifImages(doc)
|
|
15
|
+
.then((transcoded) => Packer.toBuffer(createDocument(transcoded)))
|
|
15
16
|
.then((buffer) => {
|
|
16
17
|
const readableStream = new Readable();
|
|
17
18
|
readableStream.push(buffer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/abstract-document-exporters/docx2/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/abstract-document-exporters/docx2/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/render.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/render.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAcvD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,GAAE,gBAAsC,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvI;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,GAAE,gBAAsC,GAAG,OAAO,CAAC,UAAU,CAAC,CAGzI;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,GAAE,gBAAsC,GAAG,IAAI,CAK1I"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import PDFDocument from "pdfkit";
|
|
3
3
|
import { toBlob, toBytes } from "pdfkit/output";
|
|
4
4
|
import * as AD from "../../abstract-document/index.js";
|
|
5
|
+
import { transcodeAvifImages } from "../shared/avif-to-png.js";
|
|
5
6
|
import { registerFonts, getFontNameStyle } from "./font.js";
|
|
6
7
|
import { getHeaderAndFooter } from "./header-footer.js";
|
|
7
8
|
import { measure, measurePages } from "./measure.js";
|
|
@@ -11,12 +12,12 @@ import { renderImage } from "./render-image.js";
|
|
|
11
12
|
import { registerDefaultStdFonts } from "./std-fonts.js";
|
|
12
13
|
import { rowsCombineTextRuns, rowsSplit } from "./textRunRow.js";
|
|
13
14
|
import { updatePageRefs } from "./update-refs.js";
|
|
14
|
-
export function exportToHTML5Blob(doc, options = { compress: false }) {
|
|
15
|
-
const pdf = createDocument(options, doc);
|
|
15
|
+
export async function exportToHTML5Blob(doc, options = { compress: false }) {
|
|
16
|
+
const pdf = createDocument(options, await transcodeAvifImages(doc));
|
|
16
17
|
return toBlob(pdf);
|
|
17
18
|
}
|
|
18
|
-
export function exportToBytes(doc, options = { compress: false }) {
|
|
19
|
-
const pdf = createDocument(options, doc);
|
|
19
|
+
export async function exportToBytes(doc, options = { compress: false }) {
|
|
20
|
+
const pdf = createDocument(options, await transcodeAvifImages(doc));
|
|
20
21
|
return toBytes(pdf);
|
|
21
22
|
}
|
|
22
23
|
/**
|
|
@@ -28,8 +29,10 @@ export function exportToBytes(doc, options = { compress: false }) {
|
|
|
28
29
|
* @param options
|
|
29
30
|
*/
|
|
30
31
|
export function exportToStream(blobStream, doc, options = { compress: false }) {
|
|
31
|
-
const
|
|
32
|
-
|
|
32
|
+
const stream = blobStream;
|
|
33
|
+
transcodeAvifImages(doc)
|
|
34
|
+
.then((transcoded) => createDocument(options, transcoded).pipe(stream))
|
|
35
|
+
.catch((err) => stream.emit("error", err instanceof Error ? err : new Error(String(err))));
|
|
33
36
|
}
|
|
34
37
|
function createDocument(options, ad) {
|
|
35
38
|
registerDefaultStdFonts();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** AVIF is an ISO-BMFF file: a leading `ftyp` box whose brands include `avif` (still) or `avis` (sequence). */
|
|
2
|
+
export declare function isAvif(bytes: Uint8Array): boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Pdfkit and docx can't embed AVIF, so exporters first rewrite all AVIF binary images in the document to PNG. The decoder (wasm) is only loaded when
|
|
5
|
+
* the document actually contains AVIF.
|
|
6
|
+
*/
|
|
7
|
+
export declare function transcodeAvifImages<T>(value: T): Promise<T>;
|
|
8
|
+
export declare function avifToPng(avif: Uint8Array): Promise<Uint8Array>;
|
|
9
|
+
//# sourceMappingURL=avif-to-png.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avif-to-png.d.ts","sourceRoot":"","sources":["../../../src/abstract-document-exporters/shared/avif-to-png.ts"],"names":[],"mappings":"AAUA,+GAA+G;AAC/G,wBAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAMjD;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEjE;AAwCD,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAOrE"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { fromBase64, toBase64 } from "./base-64.js";
|
|
2
|
+
const avifDataUriPrefix = "data:image/avif;base64,";
|
|
3
|
+
const ascii = (bytes) => String.fromCharCode(...bytes);
|
|
4
|
+
/** AVIF is an ISO-BMFF file: a leading `ftyp` box whose brands include `avif` (still) or `avis` (sequence). */
|
|
5
|
+
export function isAvif(bytes) {
|
|
6
|
+
if (bytes.length < 12 || ascii(bytes.subarray(4, 8)) !== "ftyp") {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
const boxEnd = Math.min(new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength).getUint32(0), bytes.length);
|
|
10
|
+
return /avi[fs]/.test(ascii(bytes.subarray(8, boxEnd)));
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Pdfkit and docx can't embed AVIF, so exporters first rewrite all AVIF binary images in the document to PNG. The decoder (wasm) is only loaded when
|
|
14
|
+
* the document actually contains AVIF.
|
|
15
|
+
*/
|
|
16
|
+
export async function transcodeAvifImages(value) {
|
|
17
|
+
return transcode(value, new Map());
|
|
18
|
+
}
|
|
19
|
+
async function transcode(value, cache) {
|
|
20
|
+
if (typeof value !== "object" || value === null || ArrayBuffer.isView(value)) {
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
if (isBinaryImage(value)) {
|
|
24
|
+
return (await transcodeBinaryImage(value, cache));
|
|
25
|
+
}
|
|
26
|
+
// Containers are only recreated when something inside changed, so documents without AVIF keep their identity
|
|
27
|
+
const source = value;
|
|
28
|
+
const entries = await Promise.all(Object.entries(source).map(async ([key, child]) => [key, await transcode(child, cache)]));
|
|
29
|
+
if (entries.every(([key, child]) => child === source[key])) {
|
|
30
|
+
return value;
|
|
31
|
+
}
|
|
32
|
+
return (Array.isArray(value) ? entries.map(([, child]) => child) : Object.fromEntries(entries));
|
|
33
|
+
}
|
|
34
|
+
function isBinaryImage(value) {
|
|
35
|
+
return "type" in value && value.type === "binaryimage";
|
|
36
|
+
}
|
|
37
|
+
async function transcodeBinaryImage(image, cache) {
|
|
38
|
+
const toPng = (key, bytes) => {
|
|
39
|
+
const cached = cache.get(key) ?? avifToPng(bytes());
|
|
40
|
+
cache.set(key, cached);
|
|
41
|
+
return cached;
|
|
42
|
+
};
|
|
43
|
+
if (image.data.type === "bytes") {
|
|
44
|
+
const { bytes } = image.data;
|
|
45
|
+
return image.format === "avif" || isAvif(bytes)
|
|
46
|
+
? { ...image, format: "png", data: { type: "bytes", bytes: await toPng(bytes, () => bytes) } }
|
|
47
|
+
: image;
|
|
48
|
+
}
|
|
49
|
+
const { url } = image.data;
|
|
50
|
+
return url.startsWith(avifDataUriPrefix)
|
|
51
|
+
? { ...image, format: "png", data: { type: "url", url: toBase64(await toPng(url, () => fromBase64(url))) } }
|
|
52
|
+
: image;
|
|
53
|
+
}
|
|
54
|
+
export async function avifToPng(avif) {
|
|
55
|
+
const { decode, encode } = await loadCodecs();
|
|
56
|
+
const image = await decode(avif.buffer.slice(avif.byteOffset, avif.byteOffset + avif.byteLength));
|
|
57
|
+
if (!image) {
|
|
58
|
+
throw new Error("Failed to decode AVIF image");
|
|
59
|
+
}
|
|
60
|
+
return new Uint8Array(await encode(image));
|
|
61
|
+
}
|
|
62
|
+
// Initializing the wasm codecs is expensive, so it's done once and shared
|
|
63
|
+
const codecsCache = new Map();
|
|
64
|
+
function loadCodecs() {
|
|
65
|
+
const codecs = codecsCache.get("codecs") ?? initCodecs();
|
|
66
|
+
codecsCache.set("codecs", codecs);
|
|
67
|
+
return codecs;
|
|
68
|
+
}
|
|
69
|
+
async function initCodecs() {
|
|
70
|
+
const [avif, png] = await Promise.all([import("@jsquash/avif/decode.js"), import("@jsquash/png/encode.js")]);
|
|
71
|
+
// In the browser the codecs fetch their wasm themselves. Node's fetch can't load file URLs, so there it is read from disk
|
|
72
|
+
if (globalThis.process?.versions?.node !== undefined) {
|
|
73
|
+
const [avifWasm, pngWasm] = await Promise.all([
|
|
74
|
+
readPackageFile("@jsquash/avif", "codec/dec/avif_dec.wasm"),
|
|
75
|
+
readPackageFile("@jsquash/png", "codec/pkg/squoosh_png_bg.wasm"),
|
|
76
|
+
]);
|
|
77
|
+
await Promise.all([avif.init({ wasmBinary: avifWasm }), png.init(await WebAssembly.compile(pngWasm))]);
|
|
78
|
+
}
|
|
79
|
+
return { decode: avif.default, encode: png.default };
|
|
80
|
+
}
|
|
81
|
+
async function readPackageFile(packageName, file) {
|
|
82
|
+
// Specifiers are held in variables so bundlers targeting the browser don't try to resolve these Node built-ins
|
|
83
|
+
const [moduleSpecifier, fsSpecifier, pathSpecifier] = ["node:module", "node:fs/promises", "node:path"];
|
|
84
|
+
const [nodeModule, nodeFs, nodePath] = (await Promise.all([import(moduleSpecifier), import(fsSpecifier), import(pathSpecifier)]));
|
|
85
|
+
const packageEntry = nodeModule.createRequire(import.meta.url).resolve(packageName);
|
|
86
|
+
return new Uint8Array(await nodeFs.readFile(nodePath.join(nodePath.dirname(packageEntry), file)));
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=avif-to-png.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avif-to-png.js","sourceRoot":"","sources":["../../../src/abstract-document-exporters/shared/avif-to-png.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "abstract-document",
|
|
3
|
-
"version": "20.
|
|
4
|
-
"gitHead": "
|
|
3
|
+
"version": "20.3.0",
|
|
4
|
+
"gitHead": "eed77fdab2ba6026f99fc291788768e7233a23a4",
|
|
5
5
|
"description": "Dynamically create documents using code or JSX and render to any format",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-document",
|
|
@@ -41,7 +41,9 @@
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"
|
|
44
|
+
"@jsquash/avif": "^2.1.1",
|
|
45
|
+
"@jsquash/png": "^3.1.1",
|
|
46
|
+
"abstract-image": "^13.3.0",
|
|
45
47
|
"docx": "^9.7.1",
|
|
46
48
|
"fast-xml-parser": "^4.5.0",
|
|
47
49
|
"handlebars": "4.7.8",
|
|
@@ -13,8 +13,8 @@ export interface Resources {
|
|
|
13
13
|
readonly fonts?: Indexer<Font>;
|
|
14
14
|
readonly styles?: Indexer<Style>;
|
|
15
15
|
/**
|
|
16
|
-
* Embedded image data uri are expected to have to shape: data:image/png;base64,${string}, data:image/jpeg;base64,${string}
|
|
17
|
-
* data:image/svg+xml,${string}
|
|
16
|
+
* Embedded image data uri are expected to have to shape: data:image/png;base64,${string}, data:image/jpeg;base64,${string},
|
|
17
|
+
* data:image/avif;base64,${string} (transcoded to PNG when exporting to PDF and DOCX) or data:image/svg+xml,${string}
|
|
18
18
|
*/
|
|
19
19
|
readonly imageResources?: Record<string, ImageResource>;
|
|
20
20
|
readonly numberingDefinitions?: Indexer<NumberingDefinition>;
|
|
@@ -32,21 +32,21 @@ import {
|
|
|
32
32
|
PageNumber,
|
|
33
33
|
} from "docx";
|
|
34
34
|
import * as AD from "../../abstract-document/index.js";
|
|
35
|
+
import { transcodeAvifImages } from "../shared/avif-to-png.js";
|
|
35
36
|
import { renderImage } from "./render-image.js";
|
|
36
37
|
|
|
37
38
|
const abstractDocToDocxFontRatio = 2;
|
|
38
39
|
const abstractDocPixelToDocxDXARatio = 20;
|
|
39
40
|
const abstractDocBorderToDocxBorderSizeRatio = 8;
|
|
40
41
|
|
|
41
|
-
export function exportToHTML5Blob(doc: AD.AbstractDoc.AbstractDoc): Promise<Blob> {
|
|
42
|
-
const docx = createDocument(doc);
|
|
42
|
+
export async function exportToHTML5Blob(doc: AD.AbstractDoc.AbstractDoc): Promise<Blob> {
|
|
43
|
+
const docx = createDocument(await transcodeAvifImages(doc));
|
|
43
44
|
return Packer.toBlob(docx);
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
export function exportToStream(blobStream: NodeJS.WritableStream, doc: AD.AbstractDoc.AbstractDoc): void {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
Packer.toBuffer(docx)
|
|
48
|
+
transcodeAvifImages(doc)
|
|
49
|
+
.then((transcoded) => Packer.toBuffer(createDocument(transcoded)))
|
|
50
50
|
.then((buffer) => {
|
|
51
51
|
const readableStream = new Readable();
|
|
52
52
|
readableStream.push(buffer);
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import PDFDocument from "pdfkit";
|
|
3
3
|
import { toBlob, toBytes } from "pdfkit/output";
|
|
4
4
|
import * as AD from "../../abstract-document/index.js";
|
|
5
|
+
import { transcodeAvifImages } from "../shared/avif-to-png.js";
|
|
5
6
|
import { registerFonts, getFontNameStyle } from "./font.js";
|
|
6
7
|
import { getHeaderAndFooter } from "./header-footer.js";
|
|
7
8
|
import { measure, measurePages } from "./measure.js";
|
|
@@ -18,13 +19,13 @@ export type PdfExportOptions = {
|
|
|
18
19
|
compress: boolean;
|
|
19
20
|
};
|
|
20
21
|
|
|
21
|
-
export function exportToHTML5Blob(doc: AD.AbstractDoc.AbstractDoc, options: PdfExportOptions = { compress: false }): Promise<Blob> {
|
|
22
|
-
const pdf = createDocument(options, doc);
|
|
22
|
+
export async function exportToHTML5Blob(doc: AD.AbstractDoc.AbstractDoc, options: PdfExportOptions = { compress: false }): Promise<Blob> {
|
|
23
|
+
const pdf = createDocument(options, await transcodeAvifImages(doc));
|
|
23
24
|
return toBlob(pdf);
|
|
24
25
|
}
|
|
25
26
|
|
|
26
|
-
export function exportToBytes(doc: AD.AbstractDoc.AbstractDoc, options: PdfExportOptions = { compress: false }): Promise<Uint8Array> {
|
|
27
|
-
const pdf = createDocument(options, doc);
|
|
27
|
+
export async function exportToBytes(doc: AD.AbstractDoc.AbstractDoc, options: PdfExportOptions = { compress: false }): Promise<Uint8Array> {
|
|
28
|
+
const pdf = createDocument(options, await transcodeAvifImages(doc));
|
|
28
29
|
return toBytes(pdf);
|
|
29
30
|
}
|
|
30
31
|
|
|
@@ -37,8 +38,10 @@ export function exportToBytes(doc: AD.AbstractDoc.AbstractDoc, options: PdfExpor
|
|
|
37
38
|
* @param options
|
|
38
39
|
*/
|
|
39
40
|
export function exportToStream(blobStream: unknown, doc: AD.AbstractDoc.AbstractDoc, options: PdfExportOptions = { compress: false }): void {
|
|
40
|
-
const
|
|
41
|
-
|
|
41
|
+
const stream = blobStream as NodeJS.WritableStream;
|
|
42
|
+
transcodeAvifImages(doc)
|
|
43
|
+
.then((transcoded) => createDocument(options, transcoded).pipe(stream))
|
|
44
|
+
.catch((err: unknown) => stream.emit("error", err instanceof Error ? err : new Error(String(err))));
|
|
42
45
|
}
|
|
43
46
|
|
|
44
47
|
function createDocument(options: PdfExportOptions, ad: AD.AbstractDoc.AbstractDoc): PDFKit.PDFDocument {
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type * as NodeFs from "node:fs/promises";
|
|
2
|
+
import type * as NodeModule from "node:module";
|
|
3
|
+
import type * as NodePath from "node:path";
|
|
4
|
+
import type { BinaryImage } from "abstract-image";
|
|
5
|
+
import { fromBase64, toBase64 } from "./base-64.js";
|
|
6
|
+
|
|
7
|
+
const avifDataUriPrefix = "data:image/avif;base64,";
|
|
8
|
+
|
|
9
|
+
const ascii = (bytes: Uint8Array): string => String.fromCharCode(...bytes);
|
|
10
|
+
|
|
11
|
+
/** AVIF is an ISO-BMFF file: a leading `ftyp` box whose brands include `avif` (still) or `avis` (sequence). */
|
|
12
|
+
export function isAvif(bytes: Uint8Array): boolean {
|
|
13
|
+
if (bytes.length < 12 || ascii(bytes.subarray(4, 8)) !== "ftyp") {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
const boxEnd = Math.min(new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength).getUint32(0), bytes.length);
|
|
17
|
+
return /avi[fs]/.test(ascii(bytes.subarray(8, boxEnd)));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Pdfkit and docx can't embed AVIF, so exporters first rewrite all AVIF binary images in the document to PNG. The decoder (wasm) is only loaded when
|
|
22
|
+
* the document actually contains AVIF.
|
|
23
|
+
*/
|
|
24
|
+
export async function transcodeAvifImages<T>(value: T): Promise<T> {
|
|
25
|
+
return transcode(value, new Map());
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
async function transcode<T>(value: T, cache: Map<unknown, Promise<Uint8Array>>): Promise<T> {
|
|
29
|
+
if (typeof value !== "object" || value === null || ArrayBuffer.isView(value)) {
|
|
30
|
+
return value;
|
|
31
|
+
}
|
|
32
|
+
if (isBinaryImage(value)) {
|
|
33
|
+
return (await transcodeBinaryImage(value, cache)) as T;
|
|
34
|
+
}
|
|
35
|
+
// Containers are only recreated when something inside changed, so documents without AVIF keep their identity
|
|
36
|
+
const source = value as Record<string, unknown>;
|
|
37
|
+
const entries = await Promise.all(Object.entries(source).map(async ([key, child]) => [key, await transcode(child, cache)] as const));
|
|
38
|
+
if (entries.every(([key, child]) => child === source[key])) {
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
return (Array.isArray(value) ? entries.map(([, child]) => child) : Object.fromEntries(entries)) as T;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function isBinaryImage(value: object): value is BinaryImage {
|
|
45
|
+
return "type" in value && value.type === "binaryimage";
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
async function transcodeBinaryImage(image: BinaryImage, cache: Map<unknown, Promise<Uint8Array>>): Promise<BinaryImage> {
|
|
49
|
+
const toPng = (key: unknown, bytes: () => Uint8Array): Promise<Uint8Array> => {
|
|
50
|
+
const cached = cache.get(key) ?? avifToPng(bytes());
|
|
51
|
+
cache.set(key, cached);
|
|
52
|
+
return cached;
|
|
53
|
+
};
|
|
54
|
+
if (image.data.type === "bytes") {
|
|
55
|
+
const { bytes } = image.data;
|
|
56
|
+
return image.format === "avif" || isAvif(bytes)
|
|
57
|
+
? { ...image, format: "png", data: { type: "bytes", bytes: await toPng(bytes, () => bytes) } }
|
|
58
|
+
: image;
|
|
59
|
+
}
|
|
60
|
+
const { url } = image.data;
|
|
61
|
+
return url.startsWith(avifDataUriPrefix)
|
|
62
|
+
? { ...image, format: "png", data: { type: "url", url: toBase64(await toPng(url, () => fromBase64(url))) } }
|
|
63
|
+
: image;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export async function avifToPng(avif: Uint8Array): Promise<Uint8Array> {
|
|
67
|
+
const { decode, encode } = await loadCodecs();
|
|
68
|
+
const image = await decode(avif.buffer.slice(avif.byteOffset, avif.byteOffset + avif.byteLength) as ArrayBuffer);
|
|
69
|
+
if (!image) {
|
|
70
|
+
throw new Error("Failed to decode AVIF image");
|
|
71
|
+
}
|
|
72
|
+
return new Uint8Array(await encode(image));
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
type Codecs = {
|
|
76
|
+
readonly decode: (buffer: ArrayBuffer) => Promise<ImageData | null>;
|
|
77
|
+
readonly encode: (image: ImageData) => Promise<ArrayBuffer>;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
// Initializing the wasm codecs is expensive, so it's done once and shared
|
|
81
|
+
const codecsCache = new Map<"codecs", Promise<Codecs>>();
|
|
82
|
+
|
|
83
|
+
function loadCodecs(): Promise<Codecs> {
|
|
84
|
+
const codecs = codecsCache.get("codecs") ?? initCodecs();
|
|
85
|
+
codecsCache.set("codecs", codecs);
|
|
86
|
+
return codecs;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
async function initCodecs(): Promise<Codecs> {
|
|
90
|
+
const [avif, png] = await Promise.all([import("@jsquash/avif/decode.js"), import("@jsquash/png/encode.js")]);
|
|
91
|
+
// In the browser the codecs fetch their wasm themselves. Node's fetch can't load file URLs, so there it is read from disk
|
|
92
|
+
if ((globalThis as { readonly process?: { readonly versions?: { readonly node?: string } } }).process?.versions?.node !== undefined) {
|
|
93
|
+
const [avifWasm, pngWasm] = await Promise.all([
|
|
94
|
+
readPackageFile("@jsquash/avif", "codec/dec/avif_dec.wasm"),
|
|
95
|
+
readPackageFile("@jsquash/png", "codec/pkg/squoosh_png_bg.wasm"),
|
|
96
|
+
]);
|
|
97
|
+
await Promise.all([avif.init({ wasmBinary: avifWasm }), png.init(await WebAssembly.compile(pngWasm))]);
|
|
98
|
+
}
|
|
99
|
+
return { decode: avif.default, encode: png.default };
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
async function readPackageFile(packageName: string, file: string): Promise<Uint8Array<ArrayBuffer>> {
|
|
103
|
+
// Specifiers are held in variables so bundlers targeting the browser don't try to resolve these Node built-ins
|
|
104
|
+
const [moduleSpecifier, fsSpecifier, pathSpecifier] = ["node:module", "node:fs/promises", "node:path"];
|
|
105
|
+
const [nodeModule, nodeFs, nodePath] = (await Promise.all([import(moduleSpecifier), import(fsSpecifier), import(pathSpecifier)])) as [
|
|
106
|
+
typeof NodeModule,
|
|
107
|
+
typeof NodeFs,
|
|
108
|
+
typeof NodePath,
|
|
109
|
+
];
|
|
110
|
+
const packageEntry = nodeModule.createRequire(import.meta.url).resolve(packageName);
|
|
111
|
+
return new Uint8Array(await nodeFs.readFile(nodePath.join(nodePath.dirname(packageEntry), file)));
|
|
112
|
+
}
|