1. 程式人生 > >關於html頁面展現pdf檔案,並隱藏列印、下載等按鈕的總結

關於html頁面展現pdf檔案,並隱藏列印、下載等按鈕的總結

關於html頁面展現pdf檔案,並隱藏列印、下載等按鈕的總結

由於專案需求,要在頁面預覽pdf檔案而不能提供下愛列印功能,故在網上查詢了一些前輩的經驗,自己也嘗試了一番,現在講經驗總結一下。

  • pdfobject.js
  • jquery.media.js
  • pdf.js

一、 pdfobject.js

1.下載:https://pdfobject.com/
2.匯入相關js
在這裡插入圖片描述
3.例項

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head th:include="include :: header">
</head>
<style type="text/css">
		#toolbarViewerRight{
			display: none;
		}
        html,body,#pdf_viewer{
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
        }
    </style>
<body class="gray-bg">
	<div id="pdf_viewer"></div>
	<div th:include="include::footer"></div>
	<script src="/js/pdfobject.js"></script>
	<script type="text/javascript">
	    if(PDFObject.supportsPDFs){
	        // PDF嵌入到網頁
	        var options = {
			    pdfOpenParams: { scrollbars: '0', toolbar: '0', statusbar: '0'}              //禁用工具欄程式碼
			};
	        PDFObject.embed("/files/45b50092-ec22-457f-8a6e-b18d832d885b.pdf", "#pdf_viewer",options);
	    } else {
	        alert("瀏覽器不支援");
	    }
	</script>
</body>
</html>

4.備註:有一點需要說明,在網上看到很多使用new PDFObject()方法建立的,但是嘗試之後都是失敗,並且網上提示使用設定“ pdfOpenParams: { scrollbars: ‘0’, toolbar: ‘0’, statusbar: ‘0’} ”來禁用下載列印功能也無效,不知是不是我使用有誤

二、 jquery.media.js

下載js後直接匯入

<!DOCTYPE html>  
<html>  
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>  
<title>線上預覽PDF文件</title>  
<link rel="stylesheet" href="bootstrap-3.3.7/css/bootstrap.min.css">  
<script type="text/javascript" src="js/jquery.min.js"></script>  
<script type="text/javascript" src="js/jquery.media.js"></script>  
<script type="text/javascript">  
    $(function() {  
        $('a.media').media({width:800, height:600});  
    });  
</script> 
</head>
<body>
<center>
 <div class="panel panel-primary">
   <div class="panel-heading" align="center">
      <h2>預覽pdf檔案</h2>
   </div>
   <div class="panel-body">
	  <a class="media" href="yulan.pdf"></a>  
   </div>
</center>
</body>
</html>

備註:給js也無法做到遮蔽下載、列印按鈕。

三、 pdf.js

pdf.js下載:https://mozilla.github.io/pdf.js/
關於pdf.js的來源就不做詳解了,直接上程式碼
在這裡插入圖片描述
`匯入之後,直接在js中呼叫

   function show(){
    var curWwwPath=window.document.location.href; 
    var pathName=window.document.location.pathname; 
    var pos=curWwwPath.indexOf(pathName); 
    var localhostPath=curWwwPath.substring(0,pos); 
    window.open(localhostPath+"/pdfjs/web/viewer.html?file=/files/fe34e38c-fb0f-450e-9bc8-3afc35101a80.pdf"); 
}`

備註:該方法可以遮蔽列印及下載的操作按鈕,但是隻能做到頁面隱藏