大发3D

大发3D
cms大发3D网站系统、政府cms定制开发

广州网站建设大发3D-阅速大发3D

报纸大发3D网站内容大发3D一体化报刊软件联系电话
/
http://hinaidori.com/
广州网站建设大发3D
您当前位置:首页>网站技术

网站技术

pdf.js大发3D

大发3D时间:2019/5/16 17:30:50  作者:Admin  阅读:14  

大发3DPDF.js 是基于开放的 HTML5 及 JavaScript 技术实现的开源产品。简单说就是一个 PDF解析器。运用HTML5JavaScript(即pdf.js仅使用安全的web语言,不包含任何攻击者可以用的本地代码块)的PDF阅读器pdf.js,直接在标准的HTML页面上载入和渲染PDF文件, 还可以提高安全性(不需要安装第三方插件,安全性由浏览器保证),浏览器所做的安全措施已经为pdf.js提供了安全的运行环境。其对IE和 FireFox浏览器的要求是IE9+, FireFox19+。

在线示例: http://jsbin.com/pdfjs-helloworld-v2/1/edit

大发3Dhttp://jsbin.com/pdfjs-prevnext-v2/1/edit

源码:https://github.com/mozilla/pdf.js

大发3D官网:http://mozilla.github.io/pdf.js/

pdf.js VS 传统浏览器读取pdf

一般来说,PDF档案格式都是在浏览器中由外挂程式来描绘,通常是Adobe自己的PDF

大发3Dreader或来自其他供应商的描绘工具,但这些外挂通常无法充分运用PDF的特点,而且由于含有大量的受信任代码,使得Google

大发3DChrome浏览器必须运用SandBox沙箱原理,来检查PDF描绘工具是否遭到未知病毒感染。

使用adobe,必须在本地安装软件才能使用,而pdf.js不依赖环境、渲染速度快(测试过,确实很快)、安全性高。

大发3Dpdf.js渲染PDF文件

大发3Dpdf.js渲染PDF文件的流程:Fetch pdf (url / buffer) ——> canvas ——> 渲染

大发3D如果要深入pdf的渲染,需要去研究pdf.js源代码。pdf.js可通过pdf文件的地址或pdf数据流获取pdf,具体实现是调用接口函数 PDFJs.getDoc(url/buffer)将pdf载入html,通过canvas处理, 然后渲染pdf文件。网上给出的都是通过url来获取pdf的例子,而我在做项目的时候,后台(Python)要求是发pdf的数据流给前台,前台接收pdf的buffer,然后通过pdf.js来渲染。当然最初尝试buffer出现了很多问题,具体问题总结如下:

大发3D1)如何通过$.ajax接收后台发给前台的buffer数据;

2)如何将buffer传给pdf.js来处理(这里我使用了viewer.js, 所以需要考虑的是如何将buffer传给viewer.js来处理);

大发3D3)如何将pdf.js转换成pdf.js可以接收的buffer格式;

(对应问题解决见代码注释)

注:viewer.js是pdf.js的扩展,其将打印、翻页、缩放等功能进行了实现,且界面非常好看。也就是说如果你引入了viewer.js,pdf的渲染和渲染之后的功能界面都已经帮你实现了,你不用自己去写界面。

大发3D先从官网:http://mozilla.github.io/pdf.js/ 下载代码,然后使用文件viewer.html

相关文章
pdf.js
cms大发3D系统购买咨询
扫描关注 广州阅速软件大发3D有限大发3D
扫描关注 广州阅速大发3D