pdfjs官网

http://mozilla.github.io/pdf.js/

Demo

示例效果

主要代码

//用 promise 获取页面
PDFJS.getDocument(fileURL).then(function (pdf) {});// 获取i页的页面
pdf.getPage(i).then(function (page) {})// 识别pdf中文本
page.getTextContent().then(function(textContent) {for(let j = 0; j < textContent.items.length; j++) {// textContent.items[j].str为识别到的文本字符串}
});// 渲染pdf
var renderTask = page.render(renderContext);
renderTask.promise.then(function() {// 渲染完成
});

若字体未显示或者乱码,检查是否设置cMapUrl

PDFJS.cMapUrl = '/assets/pdfjs/cmaps/';
PDFJS.cMapPacked = true;

注意:

如果未加载成功,检查一下pdf路径是否正确,是否在同一域名下,
例如报错:

可本地安装服务器进行测试,也可使用vscode的Live Server插件(index.html上点击右键选择Open with Live Server自动打开浏览器)

完整代码

完整代码链接

pdfjs实现pdf预览相关推荐

  1. VUE-PDF VUE的PDF预览组件

    VUE-PDF VUE的PDF预览组件 vue.js pdf viewer 安装 npm install --save vue-pdf 示例 <template><pdf src=& ...

  2. PDF 预览和下载你是怎么实现的?

    在开发过程中要求对 PDF 类型的发票提供 预览 和 下载 功能,**PDF** 类型文件的来源又包括 H5 移动端 和 **PC 端**,而针对这两个不同端的处理会有些许不同,下文会有所提及. 针对 ...

  3. uni-app实现PDF预览功能(避坑看这)

    目录 前言 一.下载PDF预览相关文件 二.使用步骤 前言 去年就想写一篇关于uni-app的pdf预览功能,拖很久了,补上. 一.下载PDF预览相关文件 下载地址 解压后效果: 二.使用步骤 在  ...

  4. 前端实现 PDF 预览的常见方案

    前端实现 PDF 预览的常见方案 由于在搭建个人博客时,想实现在线预览 pdf 格式的个人简历,经过查阅大致有三大类实现方案:本文共涉及以下 5 种实现方案,如下所示: 使用 HTML 标签 ifra ...

  5. 实现微信小程序和手机app(基于vue)PDF预览功能

    引言:最近在做微信小程序和手机端app开发(基于vue),实现一个pdf预览功能. 需求:点击pdf列表,跳转到预览pdf页面,页面上强制阅读10s后,显示一个按钮返回,更新阅读状态: 要求:不能调用 ...

  6. vueCli3.0文件上传后,后端返回流,前端转换成pdf预览的3种方式

    第一种是用: <iframe> 嵌套显示 先上效果图: 注:这种还带样式的是我后面修改源码的 js添加的 :   customToolbar.js //创建一个新样式 let sheet ...

  7. pdfh5.js 基于pdf.js和jQuery,web/h5/移动端PDF预览手势缩放插件。

    pdfh5.js 基于pdf.js和jQuery,web/h5/移动端PDF预览手势缩放插件. 注意:本地绝对路径地址不能加载,跨域问题用代理或者服务端解决. svg模式渲染存在缺陷,只能渲染普通pd ...

  8. Winforn中使用FastReport实现点击导出按钮PDF预览并弹出另存为对话框

    场景 FastReport安装包下载.安装.去除使用限制以及工具箱中添加控件: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  9. vue中pdf预览组件_Vue+ElementUI使用vue-pdf实现预览功能

    Vue + ElementUI项目中使用vue-pdf实现简单预览,供大家参考,具体内容如下 1.安装 vue-pdf npm install --save vue-pdf 2.在vue页面中导入对应 ...

  10. SpringBoot+FreeMarker+flying-saucer-pdf实现PDF预览、分页需求

    文章目录 SpringBoot+FreeMarker+flying-saucer-pdf实现PDF预览.分页需求 需求说明 程序示例 程序示例说明 添加依赖包 FreeMarker模板文件编写 工具类 ...

最新文章

  1. android 模板方法模式,安卓设计模式(七)模板方法模式
  2. 剑指offer——06旋转数组的最小数字(Python3)
  3. P2261-[CQOI2007]余数求和【数论,约数】
  4. .net core 杂记:用Autofac替换内置容器
  5. 登录失败时记住访问的地址
  6. Spring_自动装配
  7. 苹果官网以旧换新价格暴跌;戴威退出 ofo 法人代表及高管;TensorFlow 2.1.0 发布| 极客头条...
  8. 手机黑屏时闪屏怎么回事_手机屏幕碎了,先别着急换!维修师傅告诉你,如何不被忽悠多花钱...
  9. Aspose.word保存PDF时进行授权访问设置
  10. UPC 6615: Snuke Festival
  11. conda安装编译好了的caffe, ImportError: cannot import name ‘_validate_lengths‘
  12. Android应用各个开放平台市场
  13. 传统营销与网络营销的整合
  14. 使用 HTTPS 加密 Ingress 流量
  15. 在线时间戳计算时间差
  16. 图中的搜索——dij
  17. 【OpenPrompt】源码学习笔记
  18. mysql联合唯一索引可以有多个吗_mysql可以设置联合唯一索引吗?
  19. 自主创新持续领航,麒麟信安荣获“网信自主创新尖峰企业”称号
  20. 数字中国建设意义和面临的挑战

热门文章

  1. 2 --> PCIE 协议栈的框架详解
  2. 2021-01-21安装FireFox插件FireBug和FirePath时遇到得坑(windows10)
  3. oracle面试上机题,Oracle面试题附带答案
  4. 国家地区标准代码(国际域名缩写)
  5. 收银系统服务器ip设置,如何修改打印机IP地址?
  6. Java 删除文件夹
  7. CAD学习笔记中级课【参数化】
  8. Win10更换壁纸一直跳到纯色背景问题解决记录
  9. ios6.x 插件介绍及常用源
  10. LINQ TO SQL 如何进行增删改查