前端實現線上預覽pdf、word、xls、ppt等檔案
阿新 • • 發佈:2018-12-22
1、前端實現pdf檔案線上預覽功能
方式一: 通過a標籤href屬性實現
pdf檔案理論上可以在瀏覽器直接開啟預覽但是需要開啟新頁面。在僅僅是預覽pdf檔案且UI要求不高的情況下可以直接通過a標籤href屬性實現預覽
<a href="文件地址"></a>
方式二: 通過jquery外掛jquery.media.js實現
這個外掛可以實現pdf預覽功能(包括其他各種媒體檔案)但是對word等型別的檔案無能為力。
實現方式:
<script type="text/javascript" src="jquery-1.7.1.min.js"></script> <script type="text/javascript" src="jquery.media.js"></script> html結構: <body> <div id="handout_wrap_inner"></div> </body> 呼叫方式: <script type="text/javascript"> $('#handout_wrap_inner').media({ width: '100%', height: '100%', autoplay: true, src:'http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf', }); </script>
方式三: 直接通過頁面內嵌iframe
$("<iframe src='"+ this.previewUrl +"' width='100%' height='362px' frameborder='1'>").appendTo($(".video-handouts-preview"));
此外還可以在iframe標籤之間提供一個提示類似這樣
<iframe :src="previewUrl" width="100%" height="100%"> This browser does not support PDFs. Please download the PDF to view it: <a :href="previewUrl">Download PDF</a> </iframe>
方式四: 通過標籤嵌入內容
<embed :src="previewUrl" type="application/pdf" width="100%" height="100%">
此標籤h5特性中包含四個屬性:高、寬、型別、預覽檔案src!
與< iframe > < / iframe > 不同,這個標籤是自閉合的的,也就是說如果瀏覽器不支援PDF的嵌入,那麼這個標籤的內容什麼都看不到!
方式五: 標籤和iframe使用差別較小
<object :src="previewUrl" width="100%" height="100%">This browser does not support PDFs. Please download the PDF to view it: <a :href="previewUrl">Download PDF</a> </object>
方式六: PDFObject
PDFObject實際上也是通過標籤實現的直接上程式碼
<!DOCTYPE html>
<html>
<head>
<title>Show PDF</title>
<meta charset="utf-8" />
<script type="text/javascript" src='pdfobject.min.js'></script>
<style type="text/css">
html,body,#pdf_viewer{
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="pdf_viewer"></div>
</body>
<script type="text/javascript">
if(PDFObject.supportsPDFs){
// PDF嵌入到網頁
PDFObject.embed("index.pdf", "#pdf_viewer" );
} else {
location.href = "/canvas";
}
// 還可以通過以下程式碼進行判斷是否支援PDFObject預覽
if(PDFObject.supportsPDFs){
console.log("Yay, this browser supports inline PDFs.");
} else {
console.log("Boo, inline PDFs are not supported by this browser");
}
</script>
</html>