# jPreview **Repository Path**: raingad/j-preview ## Basic Information - **Project Name**: jPreview - **Description**: 一款纯JQ实现的预览插件,支持office文档,图片,音乐,视频,pdf等常用的文件!纯js技术实现在线文件预览。 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: https://view.raingad.com - **GVP Project**: No ## Statistics - **Stars**: 103 - **Forks**: 41 - **Created**: 2023-05-08 - **Last Updated**: 2026-03-24 ## Categories & Tags **Categories**: jquery-plugins **Tags**: 文件预览, 在线文件预览, pdf预览, 文档预览 ## README # jPreview **特别注意:2.0 版本在部分插件中使用了 CDN 资源。如果您需要在内网环境使用,请使用 1.0 版本。同时,doc 和 ppt 文件预览使用了微软在线预览服务。** #### 介绍 jPreview 是一款基于 jQuery 实现的纯前端文件预览插件。它致力于提供统一的文件预览体验,支持 Office 文档、图片、音乐、视频、PDF 等多种常用文件格式。对于部分纯前端难以解析的文档,插件采用了 Office Online 在线预览方案。 **主要特性:** * **多格式支持**:支持 doc, docx, ppt, pptx, wps, xls, xlsx, pdf, mp4, mp3, jpg, png 等。 * **纯 JS 实现**:大部分格式(如 Excel, PDF, 多媒体, 图片)均为纯 JavaScript 本地解析渲染。 * **易于集成**:依赖 jQuery,配置简单,开箱即用。 #### 体验地址 在线体验:[https://view.raingad.com/](https://view.raingad.com/) 测试链接格式: ``` https://view.raingad.com/preview.html?src=你的文件地址 ``` #### 软件架构 项目的目录结构如下,核心资源位于 `static` 目录下: ``` jpreview/ ├─source # 预览资源示例库 ├─static # 静态资源库(核心依赖) │ ├─common # 公共 CSS/JS (包含 jPreview.js) │ ├─docxjs # Word 预览库 │ ├─embedpdf # PDF 预览库 │ ├─luckysheet # Excel 预览库 │ ├─pptxjs # PPT 预览库 │ └─viewer # 图片预览库 ├─index.html # Demo 首页 └─preview.html # 预览实现页面 ``` #### 使用说明 要将 jPreview 集成到您的项目中,请按照以下步骤操作: ##### 1. 引入必要的 CSS 和 JS 文件 在您的 HTML 文件中引入 jQuery 和 jPreview 的核心样式及脚本。 **CSS 引入:** ```html ``` **JS 引入:** ```html ``` ##### 2. 初始化插件 在页面加载完成后,调用 `jPreview.preview` 方法进行初始化: ```javascript jPreview.preview({ container: "container", // 必填,容器ID staticPath: "./static", // 必填,静态资源相对路径 url: "", // 选填,预览资源路径,若为空则自动获取URL中的src参数 ext: "", // 必填(若url无后缀),资源后缀名,用于识别文件类型 name: "", // 选填,资源名称 watermarkTxt: "文件预览系统", // 选填,水印文字 watermarkSize: "", // 选填,水印文字大小,默认为16px priority: 1, // 选填,优先级 1:优先使用插件预览 2:优先使用Office在线预览 oburl: "", // 选填,第三方Office在线预览地址。 // 说明:.ppt和.doc默认需要第三方支持。若不传此参数或传空,不支持的文件将无法预览。 }); ``` ##### 3. 部署说明 1. **静态资源**:将 `static` 文件夹复制到您的项目中,并确保初始化时的 `staticPath` 指向正确的位置。 2. **PDF 预览配置**:PDF 预览插件采用了 `.mjs` 文件。如果您使用 Nginx 服务器,需要在 `mime.types` 或 `nginx.conf` 中添加 MIME 类型配置,否则浏览器可能无法正确加载模块。 **Nginx 配置示例:** ```nginx http { ... types { application/javascript mjs; } ... } ``` #### 集成开源库说明 本项目集成了多个优秀的开源库来实现不同格式的预览: 1. **docx-preview**: 用于预览 `.docx` 文档。 2. **pptxjs**: 用于预览 `.pptx` 演示文稿。 3. **luckysheet**: 强大的在线 Excel 表格组件。 4. **sheetjs**: 辅助 Excel 解析,支持 `.xls`。 5. **superVideo**: 视频播放器。 6. **yAudio**: 音频播放器。 7. **watermark**: 水印生成插件。 8. **viewer.js**: 强大的图片查看器。 9. **embedPDF**: PDF 文件预览。 #### 已知问题 * **PDF 中文路径**:PDF 文档暂时不支持包含中文字符的路径。 * **安全提示**:PDF 文件预览机制可能存在 XSS 攻击风险,请确保预览的文件来源可信或进行必要的安全过滤。