В режиме PDF. js Asyn c общее количество страниц файла .PDF не будет получено, кроме случаев, когда для кода установлено предупреждение. - PullRequest
0 голосов
/ 09 марта 2020

Хорошо. У меня есть вызов функции в файле. js, чтобы проверить общее количество страниц в PDF. Функция также находится в файле. js, и она прекрасно работает, если я не удалю предупреждение перед возвращаемым значением в функции. Я знаю, поскольку PDF. js работает асинхронно, процесс слишком быстрый, чтобы захватывать переменные и отображать их. Вот код функции:

function funcReadPDF(strPDFPath) {

    var intNumberOfPagesPDF;
        var objLibPDF = window['pdfjs-dist/build/pdf'], objDocPDF_ = null;

        //pdf.worker.js
        objLibPDF.GlobalWorkerOptions.workerSrc = './pdfjs/pdf.worker.js';

            objLibPDF.getDocument(strPDFPath).promise.then(function(objDocPDF_) {
                var objDocPDF = objDocPDF_;
                intNumberOfPagesPDF = objDocPDF.numPages;
            })

        alert("Pages: " + intNumberOfPagesPDF); // <-If I remove this alert, I don't get the numbers of the pages! If not, it works beautiful for every .PDF document! weird?

    return intNumberOfPagesPDF;
}

Я уже пытался проверить в Интернете, и я думаю, что мне нужно использовать Обещания, но все изученные примеры привели меня безрезультатно. Любое простое решение? Привет.

...