pdf.js-----js解析pdf文件实现预览,并获取pdf文件中的内容(数组形式)

本文主要是基于在官网下载pdf.js文件包,然后引入,模拟一个上传操作,从前端直接进行加载解析。
整个demo代码(包含pdf包文件)请看百度网盘:
链接:
https://pan.baidu.com/s/17EEmDNyND6PjgZvjyjSzOQ
提取码:jts6
1、 到官网下载 pdf.js 插件并解压 (地址: http://mozilla.github.io/pdf.js/ )
在这里插入图片描述
2 修改viewer.js代码
在这里插入图片描述
this.textLayer.textContentItemsStr 为pdf中的具体内容,是一个数组
在这里插入图片描述
如果需要对数据操作,可以在这个定时器中进行更改代码

3、 模拟一个上传界面
在test.html中编写了一个原生的上传事件

在这里插入图片描述
每上传一个pdf,都会打印出数组

也可以直接在地址栏输入文件名字,
http://localhost:63342/pdfjs-2.4.456-es5-dist(1)/web/viewer.html?file=区块链电子发票.pdf
打开控制台,数组也会打印。

代码为

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta name="google" content="notranslate">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>测试获取pdf信息</title>

</head>
<body>
<input id="files1" name="fileupload" type="file" value="" onchange="fileChange()" />
</body>
<script>
  var files1 = document.getElementById('files1');
  function fileChange () {
    console.log(files1.files[0].name)
    var url = files1.files[0].name;
    // window.location.href = "./viewer.html?file=" + url // 当前页打开
    window.open("./viewer.html?file=" + url) // 新界面打开
  }
</script>
</html>

效果图:
在这里插入图片描述
在这里插入图片描述
打开控制台:
在这里插入图片描述
说明:
这里是模拟上传操作,所以将pdf放在了test.html同级目录,这里也就可以直接用文件名作为url。 实际项目中,这里url换成pdf文件所在的地址。

在使用的可以将主要文件放在自己项目中进行使用。

在构建Vue项目时,尤其是要支持Android设备上的PDF在线预览,集成pdf.js插件是一个有效的方法。这个过程可以分为几个关键步骤,下面将为你详细解读。 参考资源链接:[Vue集成pdf.js实现PDF在线预览](https://wenku.csdn.net/doc/7xbs03i60j?spm=1055.2569.3001.10343) 首先,根据你的项目需求,你可以选择不同的方式来引入pdf.js。推荐你查看《Vue集成pdf.js实现PDF在线预览》一文,它详细讲解了如何在Vue项目中集成pdf.js插件,提供了一步一步的指导。 1. 通过npm安装pdfjs-dist库是最常见的方式。你可以在终端运行`npm install --save pdfjs-dist`命令,然后在Vue组件中import PDFJS模块。 2. 如果项目需要更轻量化的构建,可以选择只引入核心文件`pdf.js`和`pdf.worker.js`。你需要确保这两个文件被正确地放置引用,以便于管理依赖。 3. 另一种方法是直接将pdf.js插件放置在项目的`static`文件夹下,这样可以在前端直接通过相对路径引用。 在前端实现PDF预览功能时,需要用到canvas标签,它将作为PDF内容的渲染容器。在Vue组件中,你需要定义一个数组来存储页面对象,通过循环来创建多个canvas标签。然后,通过定义的methods来加载PDF文件渲染到canvas上。 一个核心的实现点是处理设备像素比(devicePixelRatio),以确保在不同屏幕分辨率下的显示效果。在渲染PDF页面时,通过获取设备的像素比来调整canvas的绘制比例,这样可以保证PDF内容在高分辨率屏幕上显示清晰。 在《Vue集成pdf.js实现PDF在线预览》中,作者详细描述了如何加载和渲染PDF文档,包括处理异步加载PDF文件解析PDF页面、调整视口大小和渲染页面到canvas上。这个资源不仅涵盖了如何集成pdf.js插件,还包括了在不同设备上提供高质量PDF预览的具体技术细节。 最后,对于一个完整的项目来说,考虑异常处理、性能优化和用户交互是非常重要的。虽然这些内容超出了具体问题的范围,但《Vue集成pdf.js实现PDF在线预览》资源为你提供了一个坚实的起点,之后你可以继续研究优化你的PDF预览解决方案。 总而言之,通过阅读应用《Vue集成pdf.js实现PDF在线预览》,你将能够掌握在Vue项目中集成pdf.js插件,实现在Android设备上的PDF在线预览功能,同时为项目的进一步完善打下坚实的基础。 参考资源链接:[Vue集成pdf.js实现PDF在线预览](https://wenku.csdn.net/doc/7xbs03i60j?spm=1055.2569.3001.10343)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值