Невозможно использовать один и тот же холст во время нескольких операций render () - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь визуализировать страницы PDF с помощью pdf.js в цикле for. сейчас рендерится только последняя страница, и я получаю сообщение об ошибке на консоли:

"Uncaught (in обещание) Ошибка: невозможно использовать один и тот же холст во время нескольких операций render (). Использовать другой холст илиубедитесь, что предыдущие операции были отменены или завершены. at InternalRenderTask.initializeGraphics (api.js: 2500) "

кто-то знает, почему он счастлив и как это решить?

Я пыталсяпосмотрите на другие темы, но не можете найти рабочее решение.

код:

<script src="/pdf-js/build/pdf.js"></script>
<script>
var pdfurl = document.getElementById("input_10_1").value;
pdfjsLib.getDocument(pdfurl).then(doc => {

for (var i = 0; i < doc._pdfInfo.numPages; i++)
{
  var dataFileNumber = i+1;
  $(".files-container").append('<div class="file-thumbnail available" draggable="false" data-file-number="'+dataFileNumber+'" id="container-number-'+(dataFileNumber)+'"><canvas id="canvas-number-'+(dataFileNumber)+'"></canvas></div>');

        var container = document.getElementById('container-number-'+dataFileNumber);
        var myCanvas = document.getElementById('canvas-number-'+dataFileNumber);

        doc.getPage(parseInt(dataFileNumber)).then(page => {

        var viewport = page.getViewport(1);
        var scale = container.clientWidth / viewport.width * 0.8;
        var context = myCanvas.getContext("2d");
        viewport = page.getViewport(scale);
        myCanvas.height = viewport.height;
        myCanvas.width = viewport.width;

        page.render({canvasContext: context , viewport: viewport});

        });  

}
</script>
...