2015-07-21 23 views
11

Tôi đang sử dụng khuôn khổ PDF.js để hiển thị PDF. Tôi đang sử dụng dữ liệu base64 để hiển thị PDF. Nhưng trong IE 11 pdf nhìn mờ.PDF.js không hiển thị đúng pdf trong IE

Xem bên dưới màn hình từ IE 11

enter image description here

Xem bên dưới mã:

var renderPDF = function(url, canvasContainer,data) { 
     var scale= 0.9; //"zoom" factor for the PDF 

     function renderPage(page) { 
      var canvas = document.createElement('canvas'); 
      var viewport = page.getViewport(scale); 

      var ctx = canvas.getContext('2d'); 
      var renderContext = { 
       canvasContext: ctx, 
       viewport: viewport 
      }; 

      canvas.height = viewport.height; 
      canvas.width = viewport.width; 

      canvasContainer.appendChild(canvas); 

      page.render(renderContext); 
     } 

     function renderPages(pdfDoc) { 
      for(var num = 1; num <= pdfDoc.numPages; num++) 
       pdfDoc.getPage(num).then(renderPage); 
     } 

     PDFJS.disableWorker = false; 

     var pdfAsDataUri = "data:application/pdf;base64,"+data; // shortened 
     var pdfAsArray = convertDataURIToBinary(pdfAsDataUri); 
     PDFJS.getDocument(pdfAsArray).then(renderPages); 

    }; 

    var BASE64_MARKER = ';base64,'; 

    var convertDataURIToBinary = function(dataURI) { 
     var base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length; 
     var base64 = dataURI.substring(base64Index); 
     var raw = atob(base64); 
     var rawLength = raw.length; 
     var array = new Uint8Array(new ArrayBuffer(rawLength)); 

     for(var i = 0; i < rawLength; i++) { 
     array[i] = raw.charCodeAt(i); 
     } 
     return array; 
    }; 

Xin hãy giúp tôi.

Trả lời

1

Đó là mã cho khuôn khổ PDF.js ... tôi sẽ làm là kiểm tra xem IE10 có hoạt động OK ... nếu không !!! sau đó mã của bạn có một số công cụ hơn là không thể tạo đúng cách ... PDF.js that you can validate. (xác nhận trên IE11) sau đó không phải là vấn đề khung.

Vấn đề khác có thể là một số ký tự không OK! bạn có thể đăng "dữ liệu" var của bạn không ??? Kính trọng !!!

2

Nếu tệp PDF.js của bạn không hoạt động trong IE11, yêu cầu compatibility.js. Bạn có thể chèn dòng sau vào code của bạn ngay sau thẻ (trước khi bất kỳ <script> s khác):

<script type="text/javascript" src="../../web/compatibility.js"></script>

Bạn cũng có thể thêm tập tin dưới đây:

Hy vọng điều đó sẽ hữu ích.

+2

Tính tương thích, js ở đây https://github.com/mozilla/pdf.js/blob/master/web/compatibility.js –

+0

Tôi đã thử cách này và vẫn không hoạt động. – Arsal

Các vấn đề liên quan