首页 > 其他分享 >利用pdf.js在线展示PDF文档

利用pdf.js在线展示PDF文档

时间:2024-10-15 15:43:29浏览次数:7  
标签:ES6 浏览器 viewer 支持 js PDF pdf

在Web项目中,经常需要在浏览器端展示PDF文档,本文通过一个简单的小例子,简述pdf.js的简单使用,仅供学习分享使用,如有不足之处,还请指正。

pdf.js下载

pdf.js是一个通用的、基于web标准的、用于解析和呈现pdf的平台。用户可以通过pdf.js的官方网站,进行下载,如下图所示:

 

 

关于下载页面说明:目前pdf.js的稳定版本就v2.6.347,Prebuilt是基于较新浏览器,采用了ES6的写法。Prebuilt(for older browsers)基于旧版本浏览器,采用ES5的写法。所以对于不支持ES6的浏览器,则需要下载ES5的库。

浏览器支持ES6现状

目前浏览器对于ES6的支持,还不是很完善,支持情况如下所示:

  •  桌面端浏览器对ES2015的支持情况
    • Chrome:51 版起便可以支持 97% 的 ES6 新特性。
    • Firefox:53 版起便可以支持 97% 的 ES6 新特性。
    • Safari:10 版起便可以支持 99% 的 ES6 新特性。
    • IE:Edge 15可以支持 96% 的 ES6 新特性。Edge 14 可以支持 93% 的 ES6 新特性。(IE7~11 基本不支持 ES6)
  •  移动端浏览器对ES2015的支持情况
    • iOS:10.0 版起便可以支持 99% 的 ES6 新特性。
    • Android:基本不支持 ES6 新特性(5.1 仅支持 25%)
  •  服务器对ES2015的支持情况
    • Node.js:6.5 版起便可以支持 97% 的 ES6 新特性。(6.0 支持 92%)

 具体支持情况,可参考链接

关于pdf.js对浏览器支持

经过测试发现,新版本的pdf.js对IE浏览器已不再支持,如果所属项目需要支持IE浏览器,则是下载旧版本的pdf.js库。具体支持情况,如下所示:

 pdf.js对Chrome,Firefox浏览器支持友好,对于not Chromium-based的 IE11和Edge浏览器,新版本将不再支持。具体可参考pdf.js的FAQ链接

pdf.js目录结构

pdf.js库下载以后,文件目录结构,如下所示:

复制代码
├── build/
│   ├── pdf.js                             - display layer
│   ├── pdf.js.map                         - display layer's source map
│   ├── pdf.worker.js                      - core layer
│   └── pdf.worker.js.map                  - core layer's source map
├── web/
│   ├── cmaps/                             - character maps (required by core)
│   ├── compressed.tracemonkey-pldi-09.pdf - PDF file for testing purposes
│   ├── debugger.js                        - helpful debugging features
│   ├── images/                            - images for the viewer and annotation icons
│   ├── locale/                            - translation files
│   ├── viewer.css                         - viewer style sheet
│   ├── viewer.html                        - viewer layout
│   ├── viewer.js                          - viewer layer
│   └── viewer.js.map                      - viewer layer's source map
└── LICENSE
复制代码

备注:pdf.js不支持file:// urls 进行浏览,只支持https://urls的方式进行访问。

pdf.js调用方式

pdf.js调用以具体项目为准,本文介绍一种常见调用方式【viewer.html?file=文件路径】,如下所示:

复制代码
1 <div id="container">
2     <div id="article">
3         <iframe id="pdf" width="100%" height="800px" src="viewer.html?file=20210308.pdf">
4         </iframe>
5     </div>
6 </div>
复制代码

示例效果图

本示例为了支持IE浏览器,则采用pdf.js版本为pdfjs-2.5.207-es5-dist,在IE浏览器效果如下所示:

 

 

本文章转载自:https://www.cnblogs.com/hsiang/p/14546953.html

 

标签:ES6,浏览器,viewer,支持,js,PDF,pdf
From: https://www.cnblogs.com/yeminglong/p/18467656

相关文章

  • PDF编辑软件:Adobe Acrobat Pro 中文注册版
    AdobeAcrobatPro是一款PDF编辑软件。该版本已注册,可以使用全部功能。使用说明:1、将压缩文件解压到固定位置,不要随意移动。2、解压后,双击start_Acrobat.bat来运行软件下载地址:https://www.mediafire.com/file/g8wpc08g324xqkh/Acrobat-Pro-DC-2024.7z/file解压密码:1......
  • 基于Node.js+vue航运空管系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着全球贸易的持续增长和航运业的蓬勃发展,航运空管系统的建设变得愈发重要。航运作为国际贸易的主要运输方式之一,其安全性和效率直接关系到全球经济的稳定......
  • 基于Node.js+vue二手汽车交易系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着经济的快速发展和人民生活水平的日益提高,汽车已成为现代社会不可或缺的交通工具。然而,随着汽车保有量的迅速增长,二手车市场也随之蓬勃发展。传统的二手......
  • 基于Node.js+vue海滨学院学生大创项目申报与审批系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景在高等教育日益重视创新与实践能力培养的背景下,大学生创新创业项目(简称“大创项目”)已成为提升学生综合素质、促进产学研结合的重要途径。海滨学院作为一所......
  • js简单基础笔记
    一 .js特点1. Js是一门解释型语言,不用编译,而是直接执行2. js是一门动态语言,其中的任何内容都是不确定的3. 语法结构和Java,c都很像4. ​  js是一门面向对象的语言5.js严格区分大小写二 .js使用1.  标签使用 在html中的script标签中就可以编......
  • Nuxt.js 应用中的 modules:before 事件钩子详解
    title:Nuxt.js应用中的modules:before事件钩子详解date:2024/10/15updated:2024/10/15author:cmdragonexcerpt:modules:before是Nuxt.js中一个重要的生命周期钩子,在Nuxt应用初始化期间被触发。该钩子允许开发者在安装用户定义的模块之前执行某些操作,如配置或环......
  • jsp高校试卷印刷管理平台系统n081z
    jsp高校试卷印刷管理平台系统n081z本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能教师,打印店,打印订单,订单通知技术要求:   开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringB......
  • jsp高校体育器材预订管理系统5or80
    jsp高校体育器材预订管理系统5or80本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能学生,学院,器材类型,体育器材,器材借用,器材归还,班级,器材遗失,器材未还,禁用名单,赔偿名单开题报告内容一、研......
  • jsp高校空闲实验室资源预约管理系统77gmb
    jsp高校空闲实验室资源预约管理系统77gmb本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能学生,实验室信息,学生预约实验室,教师,设备信息,教师预约实验室,学生取消预约,教师取消预约技术要求:  ......
  • jsp高校教室管理系统6irx4
    jsp高校教室管理系统6irx4本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能学生,教师,教室信息,班级信息,课程类型,课程信息,课程表,公告信息,教室申请开题报告内容一、项目背景与意义随着高等教育......