Невозможно указать пользовательский путь для pdf.worker.js в PDFjs - PullRequest
0 голосов
/ 11 декабря 2018

Я реализовал PDFjs в своем приложении ASP.NET MVC.Шаги, которые я выполнил.

  • Создал действие, которое работает как Pdf Viewer, скопировав код, предоставленный PDFjs, как WebViewer.html.
  • На этой странице я правильно указал путико всем статическим ресурсам, которые требуются для этой HTML-страницы.

Теперь единственной проблемой является путь pdf.worker.js.Когда я запускаю приложение, я получаю сообщение об ошибке, что этот файл не найден.Даже после многих усилий я не могу решить эту проблему.Кто-нибудь может сказать мне, где мне нужно внести изменения в код, чтобы я мог указать собственный путь к этому файлу?

enter image description here

Согласно коду, я могу сказать, что на этот js-файл внутренне ссылается pdf.js.Но, похоже, файл pdf.js сгенерирован WebPack и обновление пути pdf.worker.js в этом файле ни на что не влияет.

Вот так выглядит код pdf.js:

enter image description here

1 Ответ

0 голосов
/ 20 февраля 2019

При использовании средства просмотра PDF.js по умолчанию параметры приложения находятся в файле viewer.js .Хотя у меня нет полного понимания того, как именно он работает, кажется, что слой просмотра передает значения конфигурации в слой отображения pdf.js по мере необходимости.

В версии 2.0+ вы можете изменитьзакодированное значение для workerSrc, которое по умолчанию выглядит следующим образом:

workerSrc: {
  value: '../build/pdf.worker.js',
  kind: OptionKind.WORKER
}

Я не мог найти способ динамически установить это значение в 2.0.

В недавно выпущенном выпуске2.1, благодаря этому запросу вы можете использовать пользовательское событие webviewerloaded, чтобы упростить настройку параметров просмотра.Например,

document.addEventListener('webviewerloaded', function () {
    document.PDFViewerApplicationOptions.set('workerSrc', '/your/path/here/pdf.worker.js');
});
...