Javascript PDF.js在IE中无法正确呈现PDF
我正在使用PDF.js框架来呈现PDF。我使用base64数据来呈现PDF。但在IE 11PDF中,它看起来很模糊 请参见IE 11的下面屏幕 见以下代码: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
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在这里