PDF.js не возвращает PDF правильно в IE
Я использую фреймворк PDF.js для рендеринга PDF. Я использую данные base64 для рендеринга PDF. Но в IE 11 pdf выглядит размытым.
См. ниже экран из IE 11
![enter image description here]()
См. ниже код:
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;
};
Пожалуйста, помогите мне.
Ответы
Ответ 1
Если ваш файл PDF.js не работает в IE11, он требует compatibility.js
.
Вы можете вставить следующую строку в свой код сразу после тега (перед любыми другими <script>
s):
<script type="text/javascript" src="../../web/compatibility.js"></script>
Вы также можете добавить файл ниже:
Надеюсь, что это поможет.
Ответ 2
Вот код для рамки PDF.js... я бы сделал, это проверить, работает ли IE10 ОК... если нет!!! то у вашего кода есть материал, который невозможно создать с правильного пути... PDF.js, который можно проверить. (проверка на IE11), то это не проблема с картой.
Другая проблема может заключаться в том, что некоторые символы не в порядке!! вы могли бы опубликовать свои данные var????
Привет!!!