第一步:下載源碼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();