利用pdfJS實現以讀取文件流方式在線展示pdf文件


第一步:下載源碼https://github.com/mozilla/pdf.js

第二步:構建PDF.js

第三步:修改viewer.js

      var DEFAULT_URL 'compressed.tracemonkey-pldi-09.pdf'  里面是PDF的路徑刪除該變量定義; 

第四步:通過ajax的方式獲取文件流數據,並處理。

var DEFAULT_URL = "";//注意,刪除的變量在這里重新定義  
var PDFData = "";  
$.ajax({  
    type:"post",  
    async:false,  //
    mimeType: 'text/plain; charset=x-user-defined',  
    url:文件流請求地址,  
    success:function(data){  
       PDFData = data;  
    }  
});  
var rawLength = PDFData.length;  
//轉換成pdf.js能直接解析的Uint8Array類型,見pdf.js-4068  
var array = new Uint8Array(new ArrayBuffer(rawLength));    
for(i = 0; i < rawLength; i++) {  
  array[i] = PDFData.charCodeAt(i) & 0xff;  
}  
DEFAULT_URL = array;  

第五步:將上面的代碼作為js文件或是代碼片段,加入viewer.html(上面的代碼要放在<script src="viewer.js"></script>引入之前)。

后端代碼片段

response.setStatus(HttpServletResponse.SC_OK);  
response.setContentType("application/pdf;charset=UTF-8");  
input = new BufferedInputStream(httpUrl.getInputStream());  
byte buffBytes[] = new byte[1024];  
out = response.getOutputStream();  
int read = 0;    
while ((read = input.read(buffBytes)) != -1) {    
    out.write(buffBytes, 0, read);    
}  
out.flush();    
out.close();   

轉自:http://zhixinghh-163-com.iteye.com/blog/2315574


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM