2015-07-21 15 views
11

Sto utilizzando il framework PDF.js per il rendering PDF. Sto usando i dati di base64 per rendere PDF. Ma in IE 11 pdf appare sfocato.PDF.js non esegue correttamente il rendering del pdf in IE

Vedere sotto schermo da IE 11

enter image description here

Vedere sotto il codice:

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; 
    }; 

Ti prego, aiutami.

risposta

1

Questo è il codice per il framework PDF.js ... vorrei controllare se IE10 funziona correttamente ... se non !!! allora il tuo codice ha alcune cose che non possono creare dal modo giusto ... PDF.js that you can validate. (convalidare su IE11) quindi non è un problema di framework.

Altro problema potrebbe essere che alcuni personaggi non sono OK !! potresti pubblicare i tuoi var "dati" ??? Saluti !!!

2

Se il file PDF.js non funziona nel tuo IE11 richiede compatibility.js. È possibile inserire la seguente riga di codice subito dopo il tag (prima di qualsiasi altra <script> s):

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

È inoltre possibile aggiungere il file qui sotto:

Spero che aiuti.

+2

La compatibilità, js è qui https://github.com/mozilla/pdf.js/blob/master/web/compatibility.js –

+0

Ho provato questo e ancora non funziona. – Arsal