在前端开发中,PDF预览是高频需求,从简单的文档嵌入到复杂的政务公文预览、加密PDF解析,不同场景对预览库的要求差异极大。我们常用的Mozilla pdf.js功能强大,但在轻量化、框架适配、国产系统兼容等场景下,往往需要更贴合需求的替代方案。
本文整理了6大类主流前端PDF预览库,按「底层渲染、框架封装、极简嵌入、多功能、高性能、政务专用」分类,每款库标注核心优势和适配场景,无需额外筛选,复制就能用到项目中,尤其适配Vue2项目、政务系统、移动端等常见场景。
一、原生底层渲染类(对标pdf.js,同级别内核)
这类库属于底层渲染内核,和pdf.js处于同一层级,无依赖、可深度定制,适合需要二次开发、对渲染效果和兼容性要求极高的场景,是替代pdf.js的核心选择。
- pdf.js:Mozilla官方出品,浏览器标准PDF渲染内核,无需任何插件,功能最全(支持文本选择、搜索、缩放、注释等),也是目前最主流的底层方案,适合对预览功能有全面需求的项目,也是很多封装库的基础依赖。


- libreoffice-pdfjs:基于pdf.js二次封装,重点优化了国产系统(如麒麟、统信)和政务项目的适配性,能兼容更多非标PDF(如政务公文、特殊版式文档),解决pdf.js在国产环境下的兼容痛点。

- MuPDF.js:轻量高性能的PDF渲染内核,相比pdf.js体积更小,渲染清晰度更高,尤其适配移动端(兼容各种手机浏览器、小程序内嵌),适合移动端PDF预览为主的项目,能有效优化加载速度和内存占用。

Poppler WASM:将桌面级Poppler PDF库编译成WASM,解析能力远超传统JS库,能轻松处理复杂版式、加密PDF、大体积PDF,适合需要解析特殊格式PDF的场景(如工程图纸、加密合同),彻底解决pdf.js解析复杂文档卡顿、失败的问题。
二、Vue / React 框架封装版(适配前端框架,开箱即用)
基于底层内核(多为pdf.js)封装的框架专用组件,无需手动配置内核、手写iframe,完美适配Vue、React生态,降低开发成本,尤其适合框架化项目快速接入。
- vue-pdf:Vue2专用封装组件,基于pdf.js封装,开箱即用,无需复杂配置,支持分页、缩放、页码跳转等基础功能,不用手写iframe,是Vue2项目接入PDF预览的首选,适配后台管理系统、简单文档预览场景,可直接通过npm安装引入使用。
- vue-pdf-embed:轻量无依赖,专注于PDF嵌入预览,体积极小,极简设计,不冗余多余功能,完美适配后台管理系统、轻量化预览场景(如列表页附件预览),无需引入多余依赖,不占用项目体积。
- vue3-pdfjs:Vue3专用封装版,完整保留pdf.js的全部功能,适配Vue3的Composition API,支持自定义工具栏、深度定制,适合Vue3项目,解决vue-pdf不兼容Vue3的问题。
@react-pdf/viewer:React生态专用PDF预览组件,功能全面,支持自定义主题、批注、文本搜索等,适配React、Next.js项目,和React生态无缝衔接,适合React技术栈的项目快速接入。
三、极简嵌入型(一行代码接入,零配置)
无需复杂安装和配置,一行代码即可实现PDF预览,适合快速迭代、轻量级预览场景(如简单附件预览、静态页面嵌入),兼容所有浏览器,降级方案友好。
- PDFObject:超轻量(仅2KB),自动检测浏览器内置PDF阅读器,自动适配嵌入方式,降级方案友好(浏览器不支持时自动提示下载),无需安装依赖,直接引入JS文件即可使用,适合极简场景,能利用浏览器原生能力实现高效预览。


- iframe-pdf-viewer:纯封装iframe适配,兼容所有浏览器(包括老旧浏览器、国产浏览器),无需担心兼容性问题,适合政务项目、老旧系统(如IE浏览器适配),只需传入PDF地址,一行代码即可嵌入。
<iframe
class="pdf-viewer"
src="your-document.pdf"
title="PDF文档预览"
allowfullscreen>
<div class="fallback-message">
<p>您的浏览器不支持直接预览PDF文件</p>
<p><a href="your-document.pdf" download>点击此处下载PDF文件</a></p>
</div>
</iframe>四、多功能文件预览(PDF + 图片 + Office 一网打尽)
不止支持PDF预览,还能兼容图片、Office文档(Word、Excel、PPT)等多种格式,适合需要统一文件预览入口的项目(如文档管理系统、附件中心),无需单独引入多种预览库。
- Viewer.js:支持PDF、图片、文本、Office文档预览,自带缩放、翻页、全屏、下载等功能,UI简洁美观,可自定义工具栏,适配各种后台系统,是多功能预览的首选,能有效减少项目依赖体积。
- PhotoSwipe + PDF 适配:主打图片预览,可通过扩展适配PDF分页预览,适合以图片预览为主、需要兼顾PDF预览的场景(如相册、图文附件中心),无缝衔接图片预览交互,提升用户体验。
- Layui PDFViewer:Layui生态内置PDF预览组件,无需额外引入,完美适配Layui后台管理系统,风格和Layui统一,适合使用Layui开发的项目,减少样式冲突。
五、WASM 高性能解析类(复杂PDF专用)
基于WebAssembly编译,解析速度远超原生JS库,专门解决复杂PDF、加密PDF、大体积PDF的预览痛点,适合对解析性能要求极高的场景,是pdf.js在高性能场景下的优质替代方案。 - pdf-wasm:WebAssembly编译的PDF解析库,解析速度比原生JS快3-5倍,支持大体积PDF(数百页、上百MB)快速加载,无卡顿,适合需要处理大文件PDF的场景(如工程图纸、厚文档)。
- pdf-lib:全能型PDF处理库,不仅支持预览,还能实现PDF编辑、拆分、合并、加水印等功能,前端可直接操作PDF文件,无需后端介入,适合需要前端处理PDF的场景(如在线合同编辑、PDF生成预览一体化)。
jspdf:主打前端生成PDF,同时支持基础PDF预览功能,适合需要前端动态生成PDF并预览的场景(如报表生成、电子凭证),生成和预览无缝衔接,无需额外引入预览库。
六、国产开源政务常用PDF预览项目
专为国内政务系统、企业后台设计,适配国内公文版式、监管场景,兼容国产系统和浏览器,符合政务项目的合规要求,尤其适合政务、国企、监管类项目。
- kity-pdf-viewer:百度开源,重点适配国内公文、检测报告等特殊版式,解决普通库对政务公文渲染错乱的问题,支持公文常用的批注、盖章等功能,适合政务公文流转、检测报告预览场景。
- jeecg-pdf-viewer:Jeecg框架自带PDF预览组件,适配政务监管系统,和湖北监管系统等政务场景高度匹配,支持权限控制、水印、日志记录等政务必备功能,无需额外适配,直接集成到Jeecg框架中使用。
- ruoyi-pdf-preview:若依后台集成PDF预览组件,企业后台常用,适配若依框架的权限体系,支持附件预览、在线查看,适合基于若依框架开发的企业后台、监管系统,无缝衔接现有系统。
选型建议(直接对照项目场景选用) - 常规项目、需要全面功能:优先选 pdf.js(底层)或 vue-pdf(Vue2)、@react-pdf/viewer(React);
- 国产系统、政务项目:优先选 libreoffice-pdfjs、kity-pdf-viewer、jeecg-pdf-viewer;
- 移动端、轻量场景:优先选 MuPDF.js、vue-pdf-embed;
- 复杂PDF、加密/大体积PDF:优先选 Poppler WASM、pdf-wasm、pdf-lib;
- 多功能文件预览(多格式):优先选 Viewer.js;
极简嵌入、快速接入:优先选 PDFObject、iframe-pdf-viewer。
重点推荐-
JitViewer:支持 PDF、Word、Excel、CSV、PPT、OFD、CAD(DXF)、图片、Markdown、TXT、视频等多种格式Vue3、React、原生 HTML 无缝切换,轻量高效,开箱即用


以上所有库均为开源可用,无需付费,分类清晰,可根据自己的项目技术栈(Vue2/Vue3/React/Layui)、场景需求(政务/移动端/复杂PDF)直接选用,省去筛选成本,收藏起来,下次做PDF预览再也不用到处找库了!