README.md 1.7 KB

@file-viewer/renderer-pdf

Flyfish File Viewer 的独立 PDF renderer 包,基于 PDF.js,提供 PDF 页面渲染、导航、目录、搜索、缩放、打印和 HTML 导出能力。

用法

import FileViewer from '@file-viewer/vue3'
import { pdfRenderer } from '@file-viewer/renderer-pdf'

const options = {
  rendererMode: 'replace',
  renderers: pdfRenderer,
}

也可以和其他 renderer 一起组合:

const options = {
  rendererMode: 'replace',
  renderers: [pdfRenderer],
}

离线资源

PDF 预览依赖 PDF.js worker、cMaps、WASM 和 standard fonts。资源路径沿用 @file-viewer/core 的统一 options:

const options = {
  renderers: pdfRenderer,
  pdf: {
    workerUrl: '/vendor/pdf/pdf.worker.mjs',
    cMapUrl: '/vendor/pdf/cmaps/',
    wasmUrl: '/vendor/pdf/wasm/',
    standardFontDataUrl: '/vendor/pdf/standard_fonts/',
  },
}

默认未显式配置时,渲染器会先探测站点根路径的 /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 并配置真实静态地址。

迁移说明

PDF 渲染已经从 @file-viewer/core 移入本包,pdfjs-dist 只由 @file-viewer/renderer-pdf 声明。只安装 core 或标准组件包时不会再拉取 PDF.js;需要 PDF 预览时请显式装配本 renderer,或使用 @file-viewer/preset-all