亚洲3P视频,日韩BBW无码,亚洲制服麻豆网站,88re伊人,九草精品视频在线观看,国产精品久久夜,色青青狠狠色,无码熟女一区二区三区,日本一区二区成人网站

新聞建站cms系統(tǒng)、政府cms系統(tǒng)定制開發(fā)

廣州網(wǎng)站建設(shè)公司-閱速公司

asp.net新聞發(fā)布系統(tǒng)、報(bào)紙數(shù)字報(bào)系統(tǒng)方案
/
http://m.duxiu2008.cn/
廣州網(wǎng)站建設(shè)公司
您當(dāng)前位置:首頁>網(wǎng)站技術(shù)

網(wǎng)站技術(shù)

pdf.js簡介

發(fā)布時(shí)間:2019/5/16 17:30:50  作者:Admin  閱讀:1806  

廣告:

PDF.js 是基于開放的 HTML5 及 JavaScript 技術(shù)實(shí)現(xiàn)的開源產(chǎn)品。簡單說就是一個(gè) PDF解析器。運(yùn)用HTML5JavaScript(即pdf.js僅使用安全的web語言,不包含任何攻擊者可以用的本地代碼塊)的PDF閱讀器pdf.js,直接在標(biāo)準(zhǔn)的HTML頁面上載入和渲染PDF文件, 還可以提高安全性(不需要安裝第三方插件,安全性由瀏覽器保證),瀏覽器所做的安全措施已經(jīng)為pdf.js提供了安全的運(yùn)行環(huán)境。其對(duì)IE和 FireFox瀏覽器的要求是IE9+, FireFox19+。

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

http://jsbin.com/pdfjs-prevnext-v2/1/edit

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

官網(wǎng):http://mozilla.github.io/pdf.js/

pdf.js VS 傳統(tǒng)瀏覽器讀取pdf

一般來說,PDF檔案格式都是在瀏覽器中由外掛程式來描繪,通常是Adobe自己的PDF

reader或來自其他供應(yīng)商的描繪工具,但這些外掛通常無法充分運(yùn)用PDF的特點(diǎn),而且由于含有大量的受信任代碼,使得Google

Chrome瀏覽器必須運(yùn)用SandBox沙箱原理,來檢查PDF描繪工具是否遭到未知病毒感染。

使用adobe,必須在本地安裝軟件才能使用,而pdf.js不依賴環(huán)境、渲染速度快(測試過,確實(shí)很快)、安全性高。

pdf.js渲染PDF文件

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

如果要深入pdf的渲染,需要去研究pdf.js源代碼。pdf.js可通過pdf文件的地址或pdf數(shù)據(jù)流獲取pdf,具體實(shí)現(xiàn)是調(diào)用接口函數(shù) PDFJs.getDoc(url/buffer)將pdf載入html,通過canvas處理, 然后渲染pdf文件。網(wǎng)上給出的都是通過url來獲取pdf的例子,而我在做項(xiàng)目的時(shí)候,后臺(tái)(Python)要求是發(fā)pdf的數(shù)據(jù)流給前臺(tái),前臺(tái)接收pdf的buffer,然后通過pdf.js來渲染。當(dāng)然最初嘗試buffer出現(xiàn)了很多問題,具體問題總結(jié)如下:

1)如何通過$.ajax接收后臺(tái)發(fā)給前臺(tái)的buffer數(shù)據(jù);

2)如何將buffer傳給pdf.js來處理(這里我使用了viewer.js, 所以需要考慮的是如何將buffer傳給viewer.js來處理);

3)如何將pdf.js轉(zhuǎn)換成pdf.js可以接收的buffer格式;

(對(duì)應(yīng)問題解決見代碼注釋)

注:viewer.js是pdf.js的擴(kuò)展,其將打印、翻頁、縮放等功能進(jìn)行了實(shí)現(xiàn),且界面非常好看。也就是說如果你引入了viewer.js,pdf的渲染和渲染之后的功能界面都已經(jīng)幫你實(shí)現(xiàn)了,你不用自己去寫界面。

先從官網(wǎng):http://mozilla.github.io/pdf.js/ 下載代碼,然后使用文件viewer.html

廣告:

相關(guān)文章
pdf.js
cms新聞系統(tǒng)購買咨詢
掃描關(guān)注 廣州閱速軟件科技有限公司
掃描關(guān)注 廣州閱速科技
乡城县| 齐河县| 涪陵区| 克拉玛依市| 襄城县| 大同县| 泰来县| 沂源县| 融水| 梨树县| 河津市| 堆龙德庆县| 荆州市| 丹阳市| 宿州市| 达拉特旗| 汉中市| 鄂托克旗| 安乡县| 沁水县| 平顶山市| 江达县| 阿城市| 呼玛县| 云安县| 雅江县| 镇赉县| 渭南市| 金寨县| 凭祥市| 万荣县| 务川| 华容县| 教育| 霞浦县| 余庆县| 日土县| 浏阳市| 页游| 伊金霍洛旗| 蚌埠市|