في طلب السحب رقم 8724 تم تنفيذ عارض صفحة واحدة. سيكون من الجيد أن يكون لديك مثال للمكونات في المجلد examples
يوضح كيفية استخدام هذا العارض.
مرحبا! أود معالجة هذه المشكلة. هذه هي المرة الأولى التي أحل فيها مشكلة على Github ، لذا سأحبها إذا كان بإمكانك مساعدتي في معرفة كيفية البدء.
لدي بالفعل نسخة محلية تعمل مع خادم gulp.
توجد أمثلة للمكونات في المجلد https://github.com/mozilla/pdf.js/tree/master/examples/components . الهدف من هذا التصحيح هو إضافة مثال يستخدم PDFSinglePageViewer
. مثل الأمثلة الأخرى هناك ، يمكنه فقط تحميل ملف Tracemonkey PDF الافتراضي.
شكر! سأحاول العمل على هذا.
لذلك ، أنا مرتبك قليلاً هنا. هذا ما فهمته:
في مجلد المكونات ، يعد pageviewer.js مثالاً يستخدم pdf_page_view.js لعرض ملفات pdf بشكل طبيعي. أحتاج إلى إنشاء مثال مثل singlepageviewer.js يستخدم pdf_single_page_viewer.js.
هل أنا على الطريق الصحيح حتى الآن؟
إذن ، هل هذا أساسًا هو ما أحتاج إلى تعديله من ملف pageviewer.js بحيث يستفيد من عارض الصفحة الواحدة؟
return pdfDocument.getPage(PAGE_TO_VIEW).then(function (pdfPage) {
// Creating the page view with default parameters.
var pdfPageView = new PDFJS.PDFPageView({
container: container,
id: PAGE_TO_VIEW,
scale: SCALE,
defaultViewport: pdfPage.getViewport(SCALE),
// We can enable text/annotations layers, if needed
textLayerFactory: new PDFJS.DefaultTextLayerFactory(),
annotationLayerFactory: new PDFJS.DefaultAnnotationLayerFactory()
});
// Associates the actual page with the view, and drawing it
pdfPageView.setPdfPage(pdfPage);
return pdfPageView.draw();
});
إليك ما يحتويه singlepageviewer.js باعتباره الجزء المحرر:
return pdfDocument.getPage(PAGE_TO_VIEW).then(function (pdfPage) {
// Creating the page view with default parameters.
var pdfSinglePageView = new PDFJS.PDFSinglePageViewer({
container: container,
id: PAGE_TO_VIEW,
scale: SCALE,
defaultViewport: pdfPage.getViewport(SCALE),
// We can enable text/annotations layers, if needed
textLayerFactory: new PDFJS.DefaultTextLayerFactory(),
annotationLayerFactory: new PDFJS.DefaultAnnotationLayerFactory()
});
// Associates the actual page with the view, and drawing it
pdfSinglePageView.setPdfPage(pdfPage);
return pdfSinglePageView.draw();
});
هل مقاربتي منطقية حتى الآن؟
شكرا جزيلا على وقتك!
إعادة نشر تعليق بالتنسيق الصحيح.
في مجلد المكونات ، يعد pageviewer.js مثالاً يستخدم pdf_page_view.js لعرض ملفات pdf بشكل طبيعي. أحتاج إلى إنشاء مثال مثل singlepageviewer.js يستخدم pdf_single_page_viewer.js.
بالنظر إلى أن PDFSinglePageViewer
يطبق نفس الواجهة مثل PDFViewer
، مبنيًا المثال الجديد على https://github.com/mozilla/pdf.js/blob/master/examples/components/simpleviewer.js ستكون نقطة انطلاق أكثر ملاءمة.
شكرا لهذه النصيحة!
لقد أرسلت طلب سحب https://github.com/mozilla/pdf.js/pull/8989. يرجى مراجعته وإخباري إذا كان سيتم إجراء أي تغييرات.
تعديل:
لا أعرف ما إذا كنت أفتقد شيئًا هنا ولكن لا تعرض أمثلة المكونات أي شيء في المتصفح على http://localhost:8888/examples/components/{anyfile}.html
تعرض وحدة التحكم الأخطاء التالية:
singlepageviewer.html:38 GET http://localhost:8888/node_modules/pdfjs-dist/web/pdf_viewer.css net::ERR_ABORTED
singlepageviewer.html:40 GET http://localhost:8888/node_modules/pdfjs-dist/build/pdf.js net::ERR_ABORTED
singlepageviewer.html:41 GET http://localhost:8888/node_modules/pdfjs-dist/web/pdf_single_page_viewer.js net::ERR_ABORTED
singlepageviewer.js:18 Uncaught ReferenceError: PDFJS is not defined
at singlepageviewer.js:18
لا أعرف ما إذا كنت أفقد شيئًا ما هنا ولكن لا تعرض أي أمثلة للمكونات أي شيء في المتصفح على http: // localhost : 8888 / أمثلة / المكونات / {anyfile} .html. تعرض وحدة التحكم الأخطاء التالية:
كما هو مذكور في ملفات *.js
للأمثلة ، انظر على سبيل المثال هنا ، هل قمت بتشغيل gulp dist-install
؟
حسنًا ، شكرًا!
إليك طلب السحب بما في ذلك جميع التغييرات التي تمت مراجعتها ووفقًا لويكي المساهمات والإسكواش: https://github.com/mozilla/pdf.js/pull/8990
شكرا جزيلا على وقتك!
التعليق الأكثر فائدة
بالنظر إلى أن
PDFSinglePageViewer
يطبق نفس الواجهة مثلPDFViewer
، مبنيًا المثال الجديد على https://github.com/mozilla/pdf.js/blob/master/examples/components/simpleviewer.js ستكون نقطة انطلاق أكثر ملاءمة.