最近的工作中遇到了很多坑,主要是因为最近做的报表,需要展示pdf文件,遇到很多问题,在这里我来一一描述下。
以下是大概遇到的问题描述:

  • 使用的h5的embed标签展示pdf文件。ie那货却必须要装插件才能预览。简直恶心
  • 经理让去掉打印和下载按钮,就是要自己控制浏览器的显示

##第一个问题的解决
当时再网上查询了这种资料,决定将embed换成 PDFObject.js
然后就在github上下载pdfobject.js的源码。https://github.com/pipwerks/PDFObject ,将核心js pdfobject.js 引入到自己项目中。

<script type="text/javascript">window.onload = function (){var myPDF = new PDFObject({ url: "sample.pdf" }).embed();};</script>

这个方法是拷过来的 其实我使用中这个是不行的。
也可以查看官网中的example https://pdfobject.com/#examples 选择嵌入页面就查看
Embed two PDFs on one HTML page

embed中可以添加参数。
这样就成功的引入了PDFObject.js并使用它显示了pdf。
(记住:对象PDFObject中的O是大写的)
使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个链接等,详细语法参考帮助?。

##第二个问题的解决
换成这个以后还是不能满足去掉打印和下载按钮的需求,所以接着换成了pdf.js
pdf.js的源码这里下载:http://mozilla.github.io/pdf.js/getting_started/#download
然后将整个项目引入你自己的项目中,中间试过action请求返回viewer.html页面,但是没走通,主要是因为他的file参数没法传递。
我在代码中添加了 iframe标签 用来预览pdf,这时候又因为手误,造成了不必要的工作量, iframe 不能使用/关闭,必须是准确关闭。
然后就将对应的页面展示信息传递给iframe的src参数就可以了。

例如这样 首相要保证 你的src路径是正确的,你自己可以访问。这样就没啥问题了 。
然后在viewer.html找到这两个按钮 设置disable为none即可。

如果觉着不错,可以关注我的公众号

pdfobject.js和pdf.js的详解相关推荐

  1. js showModalDialog参数的使用详解(转)

    js showModalDialog参数的使用详解_javascript技巧_脚本之家 http://www.jb51.net/article/45281.htm 本篇文章主要是对js中showMod ...

  2. [js]JavaScript Number.toPrecision() 函数详解

    [js]JavaScript Number.toPrecision() 函数详解 JavaScript: numberObject.toPrecision( [ precision ] ) 如果没有提 ...

  3. node mysql 查询_Node.js使用mysql进行查询详解

    本篇教程介绍了Node.js使用mysql进行查询详解,希望阅读本篇文章以后大家有所收获,帮助大家对Node.js的理解更加深入. < 因为返回的是个对象 var selectSql1=&quo ...

  4. js中小括号()的用法详解

    一.js中小括号()的用法详解 1.作为分组运算符: 分组运算符应该是再熟悉不过了,因为在小学数学中就有应用,例如: var a=(1+2)*4; console.log(a); 以上代码的输出值是1 ...

  5. js购物车功能php,使用JS实现购物车功能步骤详解

    这次给大家带来使用JS实现购物车功能步骤详解,使用JS实现购物车功能的注意事项有哪些,下面就是实战案例,一起来看一下. 我们肯定都很熟悉商品购物车这一功能,每当我们在某宝某东上购买商品的时候,看中了哪 ...

  6. JS中的event 对象详解

    JS中的event 对象详解 JS的event对象 Event属性和方法: 1. type:事件的类型,如onlick中的click: 2. srcElement/target:事件源,就是发生事件的 ...

  7. js中indexOf的用法详解

    js中indexOf的用法详解 String.IndexOf 方法 (Char, [startIndex], [count]) 报告指定字符在此实例中的第一个匹配项的索引.搜索从指定字符位置开始,并检 ...

  8. html5局部放大图片,js实现图片局部放大效果详解

    图片局部放大效果结合的知识点主要是DOM的操作,以及事件的应用,所以首先要对DOM的操作有一定了解,其次能对事件的应用有一定的累积. 如上图,可以看到,这是放大镜的基本效果,主要分成左右两个部分.左边 ...

  9. JS 中 valueOf() 方法的详解

    JS 中 valueOf() 方法的详解 JavaScript 中的 valueOf() 方法用于返回指定对象的原始值,若对象没有原始值,则将返回对象本身.通常由JavaScript内部调用,而不是在 ...

  10. JS es6的Class类详解

    文章目录 JS es6的Class类详解 class基本语法 Class的基本语法之constructor Class的基本语法之类的调用方式 Class的基本语法之getter和setter Cla ...

最新文章

  1. 格式化verilog/systemverilog代码插件
  2. Spring源码分析【5】-Spring MVC处理流程
  3. java的异常抛出throws和throw的简单使用
  4. 一次业务网关用ASP.NET Core 2.1重构的小结
  5. make_ext4fs 失败
  6. __block和__weak修饰符的区别
  7. linux下安装mysql的方式_linux下安装mysql的两种方式
  8. 函数中返回char *类型
  9. Oracle数据库之多行函数
  10. bat批量查找文件并复制_拒绝重复系列(Rename批量命名)
  11. 图形桌面linux触摸,新手看招:用图形桌面访问Linux操作系统
  12. 信息学奥赛一本通(1412:二进制分类)
  13. 2016 yyuc框架环境配置
  14. 批处理跑Axapta多个主计划
  15. python 微服务 网关_关于API微服务网关
  16. 【语音数字信号处理】有关幅度谱、相位谱以及利用二者合成频谱
  17. 使用SpEL表达式来获取SpringData Jpa在更新数据时传递的对象参数的属性
  18. 微信电脑版无法获取二维码
  19. java 编写方法和属性,Java类属性及方法的定义
  20. 手把手教你给KEGG pathway图标注颜色

热门文章

  1. java big5转换为gbk_简体繁体转换代码(Big5-GB | GBK简体-GBK繁体)
  2. 程序员的思维修炼:开发认知潜能的九堂课
  3. 天猫商城多幅图片并排展示广告效果,鼠标指向高亮其它阴影
  4. wps文字表格制作拼音田字格模板_用wps表格快速制作拼音田字格的方法_wps office...
  5. GD32F103与STM32F103的区别 2021.6.2
  6. Educoder计算机数据表示实验(HUST)第2关:汉字机内码获取实验
  7. Matplotlib入门详细教程
  8. 画出清明上河图的代码_制作阴影立体动态图文图的代码【清明上河图】
  9. php千月影视,千月影视双端源码完美运营新手搭建教程
  10. 蒋勇 | 白话区块链技术栈与应用