Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PDF.js在IE中无法正确呈现PDF_Javascript_Canvas_Pdf.js_Pdf Parsing_Pdf Rendering - Fatal编程技术网

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

Javascript PDF.js在IE中无法正确呈现PDF,javascript,canvas,pdf.js,pdf-parsing,pdf-rendering,Javascript,Canvas,Pdf.js,Pdf Parsing,Pdf Rendering,我正在使用PDF.js框架来呈现PDF。我使用base64数据来呈现PDF。但在IE 11PDF中,它看起来很模糊 请参见IE 11的下面屏幕 见以下代码: var renderPDF = function(url, canvasContainer,data) { var scale= 0.9; //"zoom" factor for the PDF function renderPage(page) { var canvas = d

我正在使用PDF.js框架来呈现PDF。我使用base64数据来呈现PDF。但在IE 11PDF中,它看起来很模糊

请参见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;
    };
var renderPDF=函数(url、canvasContainer、数据){
var scale=0.9;//“缩放”系数,用于PDF
函数呈现页面(第页){
var canvas=document.createElement('canvas');
var viewport=page.getViewport(比例);
var ctx=canvas.getContext('2d');
var renderContext={
画布背景:ctx,
视口:视口
};
canvas.height=viewport.height;
canvas.width=viewport.width;
canvasContainer.appendChild(canvas);
page.render(renderContext);
}
函数渲染页(pdfDoc){

对于(var num=1;num这是PDF.js框架的代码…我要做的是检查IE10是否正常工作…如果不行!!!那么你的代码中有一些东西无法以正确的方式创建…(在IE11上验证)那么就不是框架问题了

另一个问题可能是一些字符不正确!!你能发布你的变量“数据”吗???
问候!!!

如果你的PDF.js在你的IE11中不工作,它需要
兼容性.js
。 您可以将以下行插入到标记后面的代码中(在任何其他
之前):

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

希望能有所帮助。

兼容性,js在这里