pdf.js 入門使用指南4-手機端瀏覽pdf(touch.js)
阿新 • • 發佈:2018-11-25
經過測試,使用pdf.js這個開源庫,自己編寫程式碼實現pdf 檔案瀏覽也不是很複雜。參照我以前的blog文章,如果要實現上一頁,下一頁,旋轉等都非常簡單。
但是,手機端是個比較依賴手勢特殊存在。如果要實現如下功能:
1:雙指放大,通過捏合雙指進行放大或縮小
2:單個手指移動,放大後,通過單指移動,定位到pdf指定的區域
3:左右滑動分頁,比如左滑上一頁,右滑下一頁。
如果要實現如上功能,自己編寫的話,還真不容易。
但有一個現成的開源外掛–touch.js .已經實現上述的所有功能,並且還具有章節導航等其他附加功能。
1:touch.js 介紹
touch.js 是I整合了pdf.js,PanZoom TouchSwipe
等多個開源系統,實現了專用於手機端瀏覽的系統。簡單的說,你想用最小的程式碼,想在手機端簡單的瀏覽pdf的話,那麼touch,js
是您的最佳選擇
2:下載安裝
2.1:軟體github
2.2:下載地址
https://github.com/loicminghetti/touchpdf/archive/master.zip
3:目錄結構
請注意,如果要預覽demo,本地需要安裝iis,apache 等web服務區端
4:核心程式碼
請注意:官方demo ,jquery 使用的 google 的cdn ,國內可能無法訪問,請更換(具體百度, jquery cdn,版本1.11已上)
5:顯示效果如下圖
6:功能示意圖,縮放等功能非常強大
- 雙指捏合放大縮小
- 向左滑動上一頁
- 向右滑動下一頁
- 可以有章節導航
。。。。
7:完成程式碼
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta charset="UTF-8">
<title>TouchPDF</title>
<link href ="../jquery.touchPDF.css" rel="stylesheet" media="screen" />
<style>
body , html{
background-color: #404040;
height: 100%;
padding: 0;
margin: 0;
}
</style>
</head>
<body>
<div id="myPDF" style="height: 95%; width: 95%; margin: auto;"></div>
<script type="text/javascript" src="../pdf.compatibility.js"></script>
<script type="text/javascript" src="../pdf.js"></script>
<script
src="https://code.jquery.com/jquery-1.12.4.min.js"
integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
crossorigin="anonymous"></script>
<script type="text/javascript" src="../jquery.touchSwipe.js"></script>
<script type="text/javascript" src="../jquery.touchPDF.js"></script>
<script type="text/javascript" src="../jquery.panzoom.js"></script>
<script type="text/javascript" src="../jquery.mousewheel.js"></script>
<script type="text/javascript">
$(function() {
$("#myPDF").pdf( {
source: "demo.pdf",
tabs: [
{title: "第一章", page: 2, color: "orange"},
{title: "第二章", page: 3, color: "green"},
{title: "第三章", page: 5, color: "blue"},
]
} );
});
</script>
</body>
</html>
8:demo ,jquery cdn 更改後的版本
下載地址
9:總結
如果您只需要展示pdf,那麼本外掛非常合適。
但也有如下缺點
- 該程式碼最新程式碼是兩年前,近期不怎麼維護了
- 使用核心元件pdf.js 版本較老,0.4
- 如果要深度定製,需要考慮定製成本,應為該系統整合了多個開源js外掛