File Viewer v2.2.0
Old binary .ppt files were an embarrassing gap. A browser viewer that asks users to convert an old deck before opening it isn’t doing its job.
File Viewer 2.2.0 fixes that gap and removes a long list of failures around Worker paths, subpath deployments, PDF.js versions, OFD image placement, and large text files.
What’s new
- Binary PowerPoint 97–2003
.pptpreview now runs directly in the browser through@file-viewer/ppt@0.3.1. - PPT and PPTX stay on separate rendering paths. Both support the shared zoom, print, and export flow.
- The complete PPT Worker, WASM, CJK font, and frame-cache runtime is bundled with the Demo, Full packages, copy-assets, CDN/IIFE, and Vue 2.6 + Vue CLI 3 example. Standard deployments need no manual PPT URL setup.
- The format matrix now covers 208 extensions across 25 preview pipelines.
- The main Demo is now an immersive document workspace. Controls stay fixed while only the document container scrolls. Explicit
?url=links open directly into the focused viewer on desktop and mobile. - Runtime asset paths now follow one shared resolver across Vite, Angular, Vue CLI, Webpack, nested routes, relative bases, Windows paths, spaces, Chinese directory names, and folders named
assets,static, orjs. - CAD uses
@flyfish-dev/cad-viewer@0.7.0. STEP/STP, IGES/IGS, and BREP files render through the local OCCT Worker/WASM path.
Fixes
- Fixed PPTX styles inside Shadow DOM and Worker URLs under subpaths (#127, #129).
- Fixed PDF centering in flex/scroll containers, host PDF.js global conflicts, and stale API/Worker version mismatches (#128, #134, #138).
- Fixed OFD images being placed at the top-left when CTM offsets were relative to the image Boundary.
- Fixed GBK/GB18030 CSV and TSV decoding, added optional text line numbers, kept large Markdown rendered by default, and added
text.toolbar(#124, #125, #136, #137). - Fixed OOXML files incorrectly named
.doc(#131). - Added the missing Spreadsheet Worker to non-Full
preset-officeasset delivery (#135). - Removed runtime GitHub API requests and root-path assumptions from distributed offline assets.
Tested before release
The final gate ran:
- 354 unit tests across 72 test files
- 136 real bundled sample files
- 232 visible sample-card clicks across Chinese and English Demo views
- All 25 preview pipelines
- PPT and PPTX in 10 Full-package browser integrations
- 54 release tarballs
- 15,800 offline runtime files
- OFD placement checks across 5 files, 101 pages, 210 images, and 6 seals
Upgrade
pnpm add @file-viewer/vue3-full@2.2.0
pnpm add -D @file-viewer/vite-plugin@2.2.0For non-Vite builds:
npx --no-install file-viewer-copy-assets ./public/file-viewerTry it: https://demo.file-viewer.app
Format guide: https://doc.file-viewer.app/guide/formats