@file-viewer/renderer-pdf 2.1.24 → 2.1.25
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.en.md +1 -1
- package/README.md +1 -1
- package/dist/pdf.js +9 -9
- package/package.json +3 -3
package/README.en.md
CHANGED
|
@@ -39,7 +39,7 @@ const options = {
|
|
|
39
39
|
}
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
When no explicit URL is provided, the renderer
|
|
42
|
+
When no explicit URL is provided, the renderer resolves `vendor/pdf/pdf.worker.mjs` against the current document `baseURI`. Apps deployed under a subpath such as `/workspace/` therefore request `/workspace/vendor/pdf/pdf.worker.mjs` instead of forcing the site root. If the host app did not run `file-viewer-copy-assets`, does not use `@file-viewer/vite-plugin`, or a local dev server falls back to HTML for that path, the renderer lazy-loads the packaged PDF.js worker handler as a compatibility fallback so preview does not fail with `Setting up fake worker failed`. For best performance, full cMap/standard-font support, or strict offline deployments, still copy viewer assets and point these URLs at real static files; `wasmUrl` remains for PDF.js builds that ship WASM assets.
|
|
43
43
|
|
|
44
44
|
## Migration Note
|
|
45
45
|
|
package/README.md
CHANGED
|
@@ -39,7 +39,7 @@ const options = {
|
|
|
39
39
|
}
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
默认未显式配置时,渲染器会基于当前文档 `baseURI` 探测 `vendor/pdf/pdf.worker.mjs`,因此 Vite/UMI 等项目部署在 `/workspace/` 这类子路径时会请求 `/workspace/vendor/pdf/pdf.worker.mjs`,不会强制落到站点根路径。如果客户项目没有执行 `file-viewer-copy-assets`、没有使用 `@file-viewer/vite-plugin`,或者本地临时服务器把该路径回退成 HTML,PDF renderer 会自动懒加载包内 PDF.js worker handler 作为兼容兜底,避免 `Setting up fake worker failed` 直接中断预览。需要最佳性能、完整 cMap/standard fonts 或严格离线部署时,仍建议复制 viewer assets 并配置真实静态地址;`wasmUrl` 保留给提供 WASM 资产的 PDF.js 构建兼容使用。
|
|
43
43
|
|
|
44
44
|
## 迁移说明
|
|
45
45
|
|
package/dist/pdf.js
CHANGED
|
@@ -192,8 +192,8 @@ const installBundledPdfFakeWorker = async () => {
|
|
|
192
192
|
WorkerMessageHandler: workerModule.WorkerMessageHandler,
|
|
193
193
|
};
|
|
194
194
|
};
|
|
195
|
-
const resolvePdfWorkerUrl = (options,
|
|
196
|
-
return resolveFileViewerPdfAssetUrls(options,
|
|
195
|
+
const resolvePdfWorkerUrl = (options, documentBaseUrl) => {
|
|
196
|
+
return resolveFileViewerPdfAssetUrls(options, documentBaseUrl).workerUrl;
|
|
197
197
|
};
|
|
198
198
|
const buildOutlineItems = (items, prefix = 'outline', getFallbackTitle = index => `Outline ${index + 1}`) => items.map((item, index) => {
|
|
199
199
|
const id = `${prefix}-${index}`;
|
|
@@ -444,7 +444,7 @@ export default async function renderPdf(buffer, target, context) {
|
|
|
444
444
|
}
|
|
445
445
|
canvas.width = Math.max(1, Math.ceil(renderViewport.width));
|
|
446
446
|
canvas.height = Math.max(1, Math.ceil(renderViewport.height));
|
|
447
|
-
await page.render({
|
|
447
|
+
await page.render({ canvasContext, viewport: renderViewport }).promise;
|
|
448
448
|
if (destroyed || pdfContext.document !== pdfDocument) {
|
|
449
449
|
return;
|
|
450
450
|
}
|
|
@@ -597,14 +597,16 @@ export default async function renderPdf(buffer, target, context) {
|
|
|
597
597
|
}
|
|
598
598
|
};
|
|
599
599
|
const createPdfWorker = async () => {
|
|
600
|
-
const workerUrl = resolvePdfWorkerUrl(options, documentRef.URL || undefined);
|
|
600
|
+
const workerUrl = resolvePdfWorkerUrl(options, documentRef.baseURI || documentRef.URL || undefined);
|
|
601
601
|
const hasExplicitWorkerUrl = isConfiguredUrl(options === null || options === void 0 ? void 0 : options.workerUrl);
|
|
602
602
|
const shouldUseRealWorker = !!(targetWindow === null || targetWindow === void 0 ? void 0 : targetWindow.Worker) &&
|
|
603
603
|
(hasExplicitWorkerUrl || await canUseResolvedPdfWorkerUrl(workerUrl));
|
|
604
604
|
if (shouldUseRealWorker) {
|
|
605
605
|
GlobalWorkerOptions.workerSrc = workerUrl;
|
|
606
606
|
try {
|
|
607
|
-
const worker = PdfJsWorker
|
|
607
|
+
const worker = new PdfJsWorker({
|
|
608
|
+
name: 'file-viewer-pdf-worker',
|
|
609
|
+
});
|
|
608
610
|
await worker.promise;
|
|
609
611
|
return worker;
|
|
610
612
|
}
|
|
@@ -1211,7 +1213,7 @@ export default async function renderPdf(buffer, target, context) {
|
|
|
1211
1213
|
}
|
|
1212
1214
|
canvas.width = Math.ceil(renderViewport.width);
|
|
1213
1215
|
canvas.height = Math.ceil(renderViewport.height);
|
|
1214
|
-
await page.render({
|
|
1216
|
+
await page.render({ canvasContext, viewport: renderViewport }).promise;
|
|
1215
1217
|
const pageTitle = t('pdf.export.pageTitle', { title: exportOptions.title, page: pageNumber });
|
|
1216
1218
|
const pageStyle = [
|
|
1217
1219
|
`--viewer-print-page-width:${formatCssPixels(pageWidth)}`,
|
|
@@ -1256,7 +1258,6 @@ export default async function renderPdf(buffer, target, context) {
|
|
|
1256
1258
|
linkService: pdfLinkService,
|
|
1257
1259
|
findController: pdfFindController,
|
|
1258
1260
|
l10n: new GenericL10n(resolvedLocale),
|
|
1259
|
-
enableAutoLinking: false,
|
|
1260
1261
|
});
|
|
1261
1262
|
pdfContext.viewer = pdfViewer;
|
|
1262
1263
|
pdfContext.linkService = pdfLinkService;
|
|
@@ -1318,7 +1319,7 @@ export default async function renderPdf(buffer, target, context) {
|
|
|
1318
1319
|
throw new Error(t('pdf.error.missingSource'));
|
|
1319
1320
|
}
|
|
1320
1321
|
const worker = await createPdfWorker();
|
|
1321
|
-
const pdfAssets = resolveFileViewerPdfAssetUrls(options, documentRef.
|
|
1322
|
+
const pdfAssets = resolveFileViewerPdfAssetUrls(options, documentRef.baseURI || documentRef.URL);
|
|
1322
1323
|
const source = (context === null || context === void 0 ? void 0 : context.streamUrl)
|
|
1323
1324
|
? {
|
|
1324
1325
|
url: context.streamUrl,
|
|
@@ -1332,7 +1333,6 @@ export default async function renderPdf(buffer, target, context) {
|
|
|
1332
1333
|
...source,
|
|
1333
1334
|
worker: worker || undefined,
|
|
1334
1335
|
cMapUrl: pdfAssets.cMapUrl,
|
|
1335
|
-
wasmUrl: pdfAssets.wasmUrl,
|
|
1336
1336
|
standardFontDataUrl: pdfAssets.standardFontDataUrl,
|
|
1337
1337
|
useWorkerFetch: true,
|
|
1338
1338
|
cMapPacked: true,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@file-viewer/renderer-pdf",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.25",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Standalone PDF renderer plugin for Flyfish File Viewer powered by PDF.js.",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"LICENSE"
|
|
55
55
|
],
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@file-viewer/core": "2.1.
|
|
58
|
-
"pdfjs-dist": "
|
|
57
|
+
"@file-viewer/core": "2.1.25",
|
|
58
|
+
"pdfjs-dist": "4.10.38"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"typescript": "^6.0.3"
|