Pdf.js: اكتب مثالاً لمشاهد الصفحة الواحدة

تم إنشاؤها على ٢٤ سبتمبر ٢٠١٧  ·  8تعليقات  ·  مصدر: mozilla/pdf.js

في طلب السحب رقم 8724 تم تنفيذ عارض صفحة واحدة. سيكون من الجيد أن يكون لديك مثال للمكونات في المجلد examples يوضح كيفية استخدام هذا العارض.

1-other 5-good-beginner-bug

التعليق الأكثر فائدة

في مجلد المكونات ، يعد 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 ستكون نقطة انطلاق أكثر ملاءمة.

ال 8 كومينتر

مرحبا! أود معالجة هذه المشكلة. هذه هي المرة الأولى التي أحل فيها مشكلة على 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
شكرا جزيلا على وقتك!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات