PDF.js无法在IE中正确呈现pdf

Tus*_*rao 11 javascript canvas pdf-parsing pdf-rendering pdf.js

我正在使用PDF.js框架来呈现PDF.我正在使用base64数据来呈现PDF.但在IE 11 pdf看起来模糊.

从IE 11中查看以下屏幕

在此输入图像描述

见下面的代码:

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;
    };
Run Code Online (Sandbox Code Playgroud)

请帮我.

小智 1

这就是 PDF.js 框架的代码...我要做的是检查 IE10 是否工作正常...如果不能!那么您的代码中有一些无法通过正确方式创建的内容...您可以验证的 PDF.js。(在 IE11 上验证)那么不是框架问题。

其他问题可能是某些字符不正常!你能发布你的变量“数据”吗???问候!!!