【问题标题】:PDF.js not rendering pdf correctly in IEPDF.js 无法在 IE 中正确呈现 pdf
【发布时间】:2015-10-11 03:07:46
【问题描述】:

我正在使用 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;
    };

请帮助我。

【问题讨论】:

    标签: javascript canvas pdf.js pdf-parsing pdf-rendering


    【解决方案1】:

    这就是 PDF.js 框架的代码...我要做的是检查 IE10 是否可以正常工作...如果不行!!!那么你的代码有一些东西不能以正确的方式创建......PDF.js that you can validate。 (在 IE11 上验证)则不是框架问题。

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

    【讨论】:

      【解决方案2】:

      如果您的 PDF.js 无法在 IE11 中运行,则需要 compatibility.js。 您可以在代码之后(在任何其他 &lt;script&gt;s 之前)插入以下行:

      &lt;script type="text/javascript" src="../../web/compatibility.js"&gt;&lt;/script&gt;

      您也可以在下面添加文件:

      希望对您有所帮助。

      【讨论】:

      猜你喜欢
      • 2017-06-28
      • 1970-01-01
      • 1970-01-01
      • 2019-06-04
      • 2015-11-07
      • 2011-05-19
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多