إعدادات:
خطوات إعادة إظهار المشكلة:
function onmessage () {
const pdfDocument = await pdfjs.getDocument('/some-hard-coded.pdf')
const page = await pdfDocument.getPage(1)
const viewport = pdfPage.getViewport(1)
const width = 250
const height = viewport.height * (width / viewport.width)
const canvas = new OffscreenCanvas(width, height)
const canvasContext = canvas.getContext('2d', { alpha: false })
return page.render({ canvasContext, viewport })
})
w = new Worker('sample-pdf.js');
ما هو السلوك المتوقع؟ (إضافة لقطة شاشة)
سيتم عرض ملف PDF على OffscreenCanvas
ماذا حصل؟ (إضافة لقطة شاشة)
ReferenceError: لم يتم تعريف الوثيقة
في GenericFontLoader.insertRule (pdf.js: 10154)
في GenericFontLoader.bind (pdf.js: 10205)
في WorkerTransport.(pdf.js: 9177)
على LoopbackPort.MessageHandler._onComObjOnMessage (pdf.js: 12833)
في LoopbackPort.(pdf.js: 8681)
في Array.forEach ()
على سبيل المثال ، هذا فشل:
styleElement = this.styleElement = document.createElement ('style') ؛
المشكلة هي عدم وجود DOM. قد تكون المشكلة متعلقة بالوثائق ، حيث
يبدو (بشكل أساسي) وكأنه نسخة مكررة من المشكلة # 10039 ؛ على الأرجح ، ستكون هناك حاجة إلى قدر معقول من إعادة العوملة لـ OffscreenCanvas
ليتم دعمها خارج الصندوق.
شكرا. Snuffleupagus لقد رأيت هذه المشكلة ، وكان ينبغي ربطها ؛ المشاكل ليست متطابقة بمعنى أن:
OffscreenCanvas
في الموضوع الرئيسي (أي أن استخدامه لا يقتصر على العاملين على الويب) ؛بمعنى آخر ، يعد الدعم OffscreenCanvas
مشكلة أخرى قد تكون بديلاً محتملاً لـ CanvasElement
، ولكن هذا وحده قد لا يكون كافياً لحل هذه المشكلة.
بالنظر إلى https://github.com/mozilla/pdf.js/blob/master/examples/node/pdf2png/pdf2png.js (مثال للعقدة) ، يبدو أنك قد تحتاج إلى كسب canvasFactory
، جدا. ماذا يحدث إذا فعلت ذلك؟
كيف تستخدم pdf.js داخل عامل الويب؟
لقد استوردته بهذا.
// Worker.ts
import { pdfjs } from "react-pdf";
pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;
pdfjs.getDocument(...) => errors
ولكن عند استخدام getDocument
. تقوم بإرجاع خطأ
خطأ غير معلوم (في الوعد): فشل إعداد عامل وهمي: "__webpack_require __ (...). تأكد من أنه ليس وظيفة"
التعليق الأكثر فائدة
كيف تستخدم pdf.js داخل عامل الويب؟
لقد استوردته بهذا.
ولكن عند استخدام
getDocument
. تقوم بإرجاع خطأ