Pdf.js: Buat contoh untuk penampil halaman tunggal

Dibuat pada 24 Sep 2017  ·  8Komentar  ·  Sumber: mozilla/pdf.js

Dalam permintaan tarik # 8724 penampil halaman tunggal telah diterapkan. Alangkah baiknya memiliki contoh komponen di folder examples yang menunjukkan cara menggunakan penampil ini.

1-other 5-good-beginner-bug

Komentar yang paling membantu

Di folder komponen, pageviewer.js adalah contoh yang menggunakan pdf_page_view.js untuk menampilkan file pdf secara normal. Saya perlu membuat contoh seperti singlepageviewer.js yang menggunakan pdf_single_page_viewer.js.

Mempertimbangkan bahwa PDFSinglePageViewer mengimplementasikan antarmuka yang sama dengan PDFViewer , mendasarkan contoh baru pada https://github.com/mozilla/pdf.js/blob/master/examples/components/simpleviewer.js akan menjadi titik awal yang jauh lebih tepat.

Semua 8 komentar

Hai! Saya ingin mengatasi masalah ini. Ini adalah pertama kalinya saya memecahkan masalah di Github, jadi saya akan senang jika Anda dapat membantu saya mencari cara untuk memulai.
Saya sudah mendapatkan salinan lokal yang berjalan dengan server gulp.

Ada contoh komponen di folder https://github.com/mozilla/pdf.js/tree/master/examples/components . Tujuan dari patch ini adalah untuk menambahkan contoh yang menggunakan PDFSinglePageViewer . Seperti contoh lain di sana, itu hanya dapat memuat file PDF Tracemonkey default.

Terima kasih! Saya akan mencoba untuk mengerjakan ini.

Jadi, saya agak bingung di sini. Inilah yang saya pahami:
Di folder komponen, pageviewer.js adalah contoh yang menggunakan pdf_page_view.js untuk menampilkan file pdf secara normal. Saya perlu membuat contoh seperti singlepageviewer.js yang menggunakan pdf_single_page_viewer.js.

Apakah saya sudah berada di jalur yang benar sejauh ini?

Jadi pada dasarnya apakah ini yang perlu saya edit dari file pageviewer.js agar menggunakan penampil halaman tunggal?

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();
  });

Berikut adalah isi singlepageviewer.js sebagai bagian yang diedit:

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();
  });

Apakah pendekatan saya sejauh ini masuk akal?

Terima kasih banyak atas waktunya!

Memposting ulang komentar dengan format yang tepat.

Di folder komponen, pageviewer.js adalah contoh yang menggunakan pdf_page_view.js untuk menampilkan file pdf secara normal. Saya perlu membuat contoh seperti singlepageviewer.js yang menggunakan pdf_single_page_viewer.js.

Mempertimbangkan bahwa PDFSinglePageViewer mengimplementasikan antarmuka yang sama dengan PDFViewer , mendasarkan contoh baru pada https://github.com/mozilla/pdf.js/blob/master/examples/components/simpleviewer.js akan menjadi titik awal yang jauh lebih tepat.

Terima kasih atas saran itu!
Saya telah mengirimkan permintaan tarik https://github.com/mozilla/pdf.js/pull/8989. Harap tinjau dan beri tahu saya jika ada perubahan yang harus dilakukan.

Edit:
Saya tidak tahu apakah saya melewatkan sesuatu di sini tetapi tidak ada contoh komponen yang menampilkan apa pun di browser dengan harga http://localhost:8888/examples/components/{anyfile}.html . Konsol menunjukkan kesalahan berikut:

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

Saya tidak tahu apakah saya melewatkan sesuatu di sini tetapi tidak ada contoh komponen yang menampilkan apa pun di browser di http: // localhost : 8888 / example / components / {anyfile} .html. Konsol menunjukkan kesalahan berikut:

Seperti yang disebutkan dalam file *.js contoh, lihat misalnya di sini , apakah Anda menjalankan gulp dist-install ?

Oke, terima kasih!
Berikut pull request termasuk semua perubahan yang Anda tinjau dan menurut wiki Berkontribusi dan Squashing: https://github.com/mozilla/pdf.js/pull/8990
Terima kasih banyak atas waktunya!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat