@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 CHANGED
@@ -39,7 +39,7 @@ const options = {
39
39
  }
40
40
  ```
41
41
 
42
- When no explicit URL is provided, the renderer first probes `/vendor/pdf/pdf.worker.mjs` from 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/WASM/standard-font support, or strict offline deployments, still copy viewer assets and point these URLs at real static files.
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
- 默认未显式配置时,渲染器会先探测站点根路径的 `/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/WASM/standard fonts 或严格离线部署时,仍建议复制 viewer assets 并配置真实静态地址。
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, documentUrl) => {
196
- return resolveFileViewerPdfAssetUrls(options, documentUrl).workerUrl;
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({ canvas, canvasContext, viewport: renderViewport }).promise;
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.create({ name: 'file-viewer-pdf-worker' });
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({ canvas, canvasContext, viewport: renderViewport }).promise;
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.URL || documentRef.baseURI);
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.24",
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.24",
58
- "pdfjs-dist": "^6.0.227"
57
+ "@file-viewer/core": "2.1.25",
58
+ "pdfjs-dist": "4.10.38"
59
59
  },
60
60
  "devDependencies": {
61
61
  "typescript": "^6.0.3"