项目中遇到要在HTML页面上读取PDF文档的内容,并显示在网页上。

pdf.js官网:pdf.js官网

本地附件:pdf.js

一.下载

1、下载至本地

2、创建PDF.js文件夹 并将刚解压的文件放入其中

二.将 PDF.js 文件夹 放到 项目服务器根目录下

小伙伴 可能会有点头晕 先跟着做 稍后解释

1.登录 项目服务器

2.登录 服务器 后将 PDF.js 文件夹 拷贝 到 项目 服务器 的根目录

三. 使用 pdf.js 显示 pdf 文件

1.打开浏览器 新建一个 标签页 输入 你的项目服务器 地址

这里我用我的服务器 地址进行演示 10.0.0.5

2.当 你访问 项目 服务器 根目录(10.0.0.5) 能够 看到 PDF.js 这个文件夹 说明 这一步已经完成了

3.在PDF.js 中 依次打开 web 文件夹 viewer.html 文件 (PDF.js/web/viewer.html)

4.随后会显示 截图上的 pdf 文件

5.在地址栏中 http://10.0.0.5/PDF.js/web/viewer.html?file=你的pdf地址

解释: 我这里显示的pdf文件 是服务器上本来 就有的测试文件 请看下图

如果 你的 地址栏 中 ? 后面 file = PDF地址  可以显示 pdf 那么 基本上成功了

四. 在项目中使用

 <iframe :src="http://10.0.0.5/PDF.js/web/viewer.html?file=PDF地址" width="100%" height="99%"></iframe>

问题:如果文件是远程服务器上的文件,会产生跨域,就会遇到如下错误

PDF.js v2.0.943 (build: dc98bf76)
信息:file origin does not match viewer's

控制台:Uncaught (in promise) Error: file origin does not match viewer's

如果需要加载远程服务器的pdf文件,远程服务器返回pdf文件流,然后在viewer.html的url后面添加file=http://127.0.0.1:8020/PDF/test,但是pdf.js不支持跨域请求,所以会报错:file origin does not match viewer’s,试了很多种方法仍然报错,所以简单粗暴的方法就是把viewer.js的判断远程地址的代码注释掉即可(1564~1566行)。

if (origin !== viewerOrigin && protocol !== 'blob:') {throw new Error('file origin does not match viewer\'s');}

PDF.js实现html页面读取pdf文件内容相关推荐

  1. 使用pdf.js在web页面展示pdf文件

    最近弄的项目中需要在线展示PDF文件,以前用的是Adobe PDF阅读器直接在浏览器端打开的,这要求客户端必须安装这个软件,若是没有安装就不能在线预览了.为了解决这个问题,最终决定用pdf.js来实现 ...

  2. JS通过ajax动态读取xml文件内容

    http://www.sharejs.com/codes/javascript/8178 HTML文件代码如下 <!DOCTYPE html> <html> <head& ...

  3. pdf.js 利用HTML5技术显示pdf内容

    Mozilla实验室最近在github上开源了一款js库pdf.js,用来读取PDF文件. http://mozilla.github.io/pdf.js/ Using base64 encoded  ...

  4. 使用pdf.js预览实现读取服务器外部文件

    不知道大家使用百度网盘的文件预览功能,f12看过控制台没有. 发现百度网盘使用的预览文件功能全是基于开源pdf .js的 接下来正题,我们在使用pdf.js默认是读取发布容器内部的文件,读取外部的文件 ...

  5. springboot整合pdf.js实现在线预览pdf文件

    今天在项目中实现pdf在线预览的功能的如图, 通过百度,查询合适的方法,最为简单的的是通过pdf.js的插件在前台展示.本以为是挺容易实现的,但都有莫名其妙的错误. 第一步:下载源码https://g ...

  6. 利用PDF.JS插件解决了本地pdf文件在线浏览问题(根据需要隐藏下载功能,只保留打印功能)

    利用PDF.JS插件解决了本地pdf文件在线浏览问题(根据需要隐藏下载功能,只保留打印功能) 参考文章: (1)利用PDF.JS插件解决了本地pdf文件在线浏览问题(根据需要隐藏下载功能,只保留打印功 ...

  7. JavaScript前端:与PDF.js结合,实现网页PDF内容批量下载

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 JavaScript前端:与PDF.js结合,实现网页PDF内容批量下载 前言 一.PDF.js是什么? 二.PDF.js单个PDF文 ...

  8. html 打印预览 兼容,vue下使用 pdf.js 预览 和 打印 PDF文档 兼容React

    我使用前端开发框架是vue,有一个打印PDF文档的需求. 这个需求最开始是交给后台,但是明显不切实际, 因为后台服务器,根本就无法连接打印机. 所以这个预览加打印文档的需求就交到了前端, 开始我有想过 ...

  9. vue下使用 pdf.js 预览 和 打印 PDF文档 兼容React

    我使用前端开发框架是vue,有一个打印PDF文档的需求. 这个需求最开始是交给后台,但是明显不切实际, 因为后台服务器,根本就无法连接打印机. 所以这个预览加打印文档的需求就交到了前端, 开始我有想过 ...

最新文章

  1. 初级开发人员的缺点_作为一名初级开发人员,我如何努力克服自己的挣扎
  2. 贪心 ---- Educational Codeforces Round 90 (Rated for Div. 2)E. Sum of Digits[数位贡献+思维题+贪心]
  3. 主席树 ---- CodeForces - 813E(主席树,固定一端去考虑情况)
  4. 仿FLASH动感十足鼠标滑过放大的菜单代码
  5. 【机器学习基础】一文搞懂机器学习里的L1与L2正则化
  6. 一、Nginx常见问题
  7. 网络流--最大流--POJ 1273 Drainage Ditches
  8. 使用sysbench 0.5 对mysql 进行性能、压力测试
  9. centos7.0 安装docker
  10. POS58打印机的操作
  11. 申请免费的域名并且通过FTP上传及通过自己的域名访问自己的网站
  12. 我的世界空岛生存服务器制作,我的世界:空岛生存“岩浆”没了咋办?大佬给出了6种解决方案!...
  13. java 判断用户是否关注了公众号
  14. funcode实验--海底世界(c++实现)
  15. BestCoder Round #85 (hdu5804,hdu5805,hdu5806,hdu5807)
  16. 福瑞股份涉足大数据医疗
  17. 蛋白质界的 ChatGPT:AlphaFold1 论文必备知识,不会有人还不知道吧
  18. 服务器的操作系统和数据库关系,数据库、数据库管理系统和SQL之间的关系
  19. Python画柱状图(双柱状图,三柱状图)且显示对应数值
  20. 重采样、下采样、上采样三者之间的关系

热门文章

  1. java中的向下转型和向上转型
  2. bcompare--使用/实例
  3. java计算方差与标准差(均方差)
  4. IOS数据存储 之WCDB (二)WCDB.swift使用篇
  5. python f-string代码换行,打印不换行
  6. VC共享内存的创建和权限问题
  7. 让别人连接自己的mysql数据库,共享mysql数据库
  8. php 图片填充颜色代码,PHP获取图片颜色值,检测图片主要颜色的代码:
  9. MATLAB绘图如何给每个y轴刻度标签后面都添加%
  10. 为什么要初始化CSS的样式?