cocoKnight 9dae144089 first commit пре 1 месец
..
src 9dae144089 first commit пре 1 месец
LICENSE 9dae144089 first commit пре 1 месец
README.en.md 9dae144089 first commit пре 1 месец
README.md 9dae144089 first commit пре 1 месец
package.json 9dae144089 first commit пре 1 месец
tsconfig.json 9dae144089 first commit пре 1 месец

README.en.md

@file-viewer/renderer-pdf

Standalone PDF renderer package for Flyfish File Viewer. It is powered by PDF.js and provides page rendering, navigation, outline, search, zoom, print, and HTML export support.

Usage

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

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

You can combine it with other renderer packages:

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

Offline Assets

PDF preview depends on the PDF.js worker, cMaps, WASM helpers, and standard fonts. Asset paths use the same unified options as @file-viewer/core:

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

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.

Migration Note

PDF rendering has moved out of @file-viewer/core into this package, and pdfjs-dist is now declared only by @file-viewer/renderer-pdf. Installing core or a standard component package no longer pulls PDF.js; explicitly assemble this renderer when PDF preview is needed, or use @file-viewer/preset-all.