@chenchaolong/plugin-trade-compliance-workbench 1.0.138 → 1.0.139
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-page-renderer.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/pdf-page-renderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pdf-page-renderer.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/pdf-page-renderer.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,aAAa,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAC1H,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,CAAohB;AACnnB,wBAAsB,oBAAoB,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC,CAsBxL"}
|
|
@@ -4,10 +4,13 @@ import { PDFiumLibrary } from '@hyzyla/pdfium';
|
|
|
4
4
|
import { PNG } from 'pngjs';
|
|
5
5
|
import { execFile } from 'node:child_process';
|
|
6
6
|
import { mkdtemp, readFile, readdir, rm, writeFile } from 'node:fs/promises';
|
|
7
|
+
import { createRequire } from 'node:module';
|
|
7
8
|
import { tmpdir } from 'node:os';
|
|
8
9
|
import { basename, join } from 'node:path';
|
|
9
10
|
import { promisify } from 'node:util';
|
|
10
11
|
const execFileAsync = promisify(execFile);
|
|
12
|
+
const requireFromHere = createRequire(import.meta.url);
|
|
13
|
+
let pdfiumLibraryPromise = null;
|
|
11
14
|
// The host may preload a different PDF.js worker on globalThis. pdf-parse's API
|
|
12
15
|
// is pinned to the worker bundled with this plugin, so bind that worker first.
|
|
13
16
|
const pdfjsGlobal = globalThis;
|
|
@@ -19,7 +22,12 @@ export async function renderPdfVisualPages(input) {
|
|
|
19
22
|
try {
|
|
20
23
|
return await renderPdfPagesWithPdfium(input);
|
|
21
24
|
}
|
|
22
|
-
catch {
|
|
25
|
+
catch (error) {
|
|
26
|
+
console.warn('[trade-compliance] PDFium preview failed', {
|
|
27
|
+
fileName: input.fileName,
|
|
28
|
+
bytes: input.buffer.length,
|
|
29
|
+
error: errorMessage(error)
|
|
30
|
+
});
|
|
23
31
|
// Keep the existing Node renderer as an internal compatibility path for
|
|
24
32
|
// PDFs that PDFium cannot decode. The browser never receives the PDF.
|
|
25
33
|
}
|
|
@@ -43,7 +51,7 @@ export async function renderPdfVisualPages(input) {
|
|
|
43
51
|
}
|
|
44
52
|
}
|
|
45
53
|
async function renderPdfPagesWithPdfium(input) {
|
|
46
|
-
const pdfium = await
|
|
54
|
+
const pdfium = await getPdfiumLibrary();
|
|
47
55
|
let document;
|
|
48
56
|
try {
|
|
49
57
|
document = await pdfium.loadDocument(input.buffer);
|
|
@@ -68,9 +76,24 @@ async function renderPdfPagesWithPdfium(input) {
|
|
|
68
76
|
}
|
|
69
77
|
finally {
|
|
70
78
|
document?.destroy();
|
|
71
|
-
pdfium.destroy();
|
|
72
79
|
}
|
|
73
80
|
}
|
|
81
|
+
async function getPdfiumLibrary() {
|
|
82
|
+
if (!pdfiumLibraryPromise) {
|
|
83
|
+
pdfiumLibraryPromise = (async () => {
|
|
84
|
+
// Resolve the package asset explicitly. This works in production plugin
|
|
85
|
+
// directories where Node cannot fetch a file: URL created by Emscripten.
|
|
86
|
+
const wasmPath = requireFromHere.resolve('@hyzyla/pdfium/pdfium.wasm');
|
|
87
|
+
const wasm = await readFile(wasmPath);
|
|
88
|
+
const wasmBinary = wasm.buffer.slice(wasm.byteOffset, wasm.byteOffset + wasm.byteLength);
|
|
89
|
+
return PDFiumLibrary.init({ wasmBinary });
|
|
90
|
+
})().catch(error => {
|
|
91
|
+
pdfiumLibraryPromise = null;
|
|
92
|
+
throw error;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
return pdfiumLibraryPromise;
|
|
96
|
+
}
|
|
74
97
|
async function renderJpegPagesWithPdftoppm(buffer, fileName, selectedPages) {
|
|
75
98
|
const pdftoppm = await findPdftoppm();
|
|
76
99
|
if (!pdftoppm)
|
|
@@ -124,4 +147,5 @@ async function findPdftoppm() { const candidates = [process.env.TRADE_COMPLIANCE
|
|
|
124
147
|
}
|
|
125
148
|
} return null; }
|
|
126
149
|
function pageImageName(fileName, pageNumber, extension = 'png') { const base = basename(fileName).replace(/\.[^.]+$/, '') || 'document'; return `${base}-page-${pageNumber}.${extension}`; }
|
|
150
|
+
function errorMessage(error) { return error instanceof Error ? error.message.slice(0, 500) : String(error).slice(0, 500); }
|
|
127
151
|
//# sourceMappingURL=pdf-page-renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-page-renderer.js","sourceRoot":"","sources":["../../../src/lib/adapters/pdf-page-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,WAAW,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AACzC,gFAAgF;AAChF,+EAA+E;AAC/E,MAAM,WAAW,GAAG,UAAsE,CAAA;AAC1F,WAAW,CAAC,WAAW,GAAG,WAAW,CAAA;AAGrC,MAAM,UAAU,oBAAoB,CAAC,KAA+C,IAAc,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,QAAQ;IAAE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE;IAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAA,CAAC,CAAC;AACnnB,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAqF;IAC9H,IAAI,CAAC;QACH,OAAO,MAAM,wBAAwB,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"pdf-page-renderer.js","sourceRoot":"","sources":["../../../src/lib/adapters/pdf-page-renderer.ts"],"names":[],"mappings":"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"}
|