Pdf.js: Verfassen Sie ein Beispiel für den Einzelseiten-Viewer

Erstellt am 24. Sept. 2017  ·  8Kommentare  ·  Quelle: mozilla/pdf.js

In der Pull-Anfrage Nr. 8724 wurde ein einzelner Seiten-Viewer implementiert. Es wäre schön, ein Komponentenbeispiel im Ordner examples , das die Verwendung dieses Viewers demonstriert.

1-other 5-good-beginner-bug

Hilfreichster Kommentar

Im Komponentenordner ist pageviewer.js ein Beispiel, das pdf_page_view.js verwendet, um PDF-Dateien normal anzuzeigen. Ich muss ein Beispiel wie singlepageviewer.js erstellen, das pdf_single_page_viewer.js verwendet.

In Anbetracht dessen, dass PDFSinglePageViewer dieselbe Schnittstelle wie PDFViewer PDFSinglePageViewer implementiert, basiert das neue Beispiel auf https://github.com/mozilla/pdf.js/blob/master/examples/components/simpleviewer.js wäre ein viel geeigneterer Ausgangspunkt.

Alle 8 Kommentare

Hallo! Ich möchte dieses Problem ansprechen. Dies ist mein erstes Mal, dass ich ein Problem mit Github löse. Ich würde es lieben, wenn Sie mir helfen könnten, herauszufinden, wie ich anfangen soll.
Ich habe bereits eine lokale Kopie mit dem Gulp-Server ausgeführt.

Im Ordner https://github.com/mozilla/pdf.js/tree/master/examples/components befinden sich Komponentenbeispiele. Das Ziel dieses Patches ist es, ein Beispiel hinzuzufügen, das PDFSinglePageViewer . Wie in den anderen Beispielen kann nur die Standard-Tracemonkey-PDF-Datei geladen werden.

Vielen Dank! Ich werde versuchen, daran zu arbeiten.

Also werde ich hier ein wenig verwirrt. Das habe ich verstanden:
Im Komponentenordner ist pageviewer.js ein Beispiel, das pdf_page_view.js verwendet, um PDF-Dateien normal anzuzeigen. Ich muss ein Beispiel wie singlepageviewer.js erstellen, das pdf_single_page_viewer.js verwendet.

Bin ich bisher auf dem richtigen Weg?

Muss ich das also im Grunde genommen aus der Datei pageviewer.js bearbeiten, damit der Einzelseiten-Viewer verwendet wird?

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

Folgendes enthält singlepageviewer.js als bearbeiteten Teil:

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

Ist mein bisheriger Ansatz sinnvoll?

Vielen Dank für Ihre Zeit!

Kommentar mit korrekter Formatierung erneut veröffentlichen.

Im Komponentenordner ist pageviewer.js ein Beispiel, das pdf_page_view.js verwendet, um PDF-Dateien normal anzuzeigen. Ich muss ein Beispiel wie singlepageviewer.js erstellen, das pdf_single_page_viewer.js verwendet.

In Anbetracht dessen, dass PDFSinglePageViewer dieselbe Schnittstelle wie PDFViewer PDFSinglePageViewer implementiert, basiert das neue Beispiel auf https://github.com/mozilla/pdf.js/blob/master/examples/components/simpleviewer.js wäre ein viel geeigneterer Ausgangspunkt.

Danke für diesen Rat!
Ich habe eine Pull-Anfrage https://github.com/mozilla/pdf.js/pull/8989 eingereicht

Bearbeiten:
Ich weiß nicht, ob mir hier etwas fehlt, aber keines der Komponentenbeispiele zeigt etwas im Browser bei http://localhost:8888/examples/components/{anyfile}.html . Die Konsole zeigt die folgenden Fehler an:

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

Ich weiß nicht, ob ich hier etwas vermisse, aber keines der Komponentenbeispiele zeigt etwas im Browser unter http: // localhost : 8888 / examples / components / {anyfile} .html an. Die Konsole zeigt die folgenden Fehler an:

Wie in den *.js -Dateien der Beispiele erwähnt, siehe z. B. hier , haben Sie gulp dist-install ?

Danke, verstanden!
Hier ist die Pull-Anfrage mit all Ihren überprüften Änderungen und gemäß dem Wiki "Contributing and Squashing Commits": https://github.com/mozilla/pdf.js/pull/8990
Vielen Dank für Ihre Zeit!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

sujit-baniya picture sujit-baniya  ·  3Kommentare

anggikolo11 picture anggikolo11  ·  3Kommentare

azetutu picture azetutu  ·  4Kommentare

THausherr picture THausherr  ·  3Kommentare

timvandermeij picture timvandermeij  ·  4Kommentare