anhalten pdf.js Seite-rendering
Habe ich verwendet pdf.js erstellen einer einfachen pdf-viewer, der hat 2 Seiten nebeneinander mit weiter,zurück-buttons und einige andere features. Verwendet habe ich das helloworld-Beispiel mit der pdf.js repo als viewer.js Datei war zu kompliziert für einen noob wie mich. Allerdings, wenn ich auf der vorherigen/nächsten Taste mehrmals pdf.js rendert alle Seiten statt des erwarteten letzten Seite. Es schafft ein Chaos. Das folgende Beispiel von pdf.js habe das gleiche problem.
http://jsbin.com/pdfjs-prevnext-v2/1/edit (link scheint zu funktionieren, im firefox nur.)
Ich will wissen, was sind die Möglichkeiten, Sie zu machen pdf.js render wird nur die Letzte Seite erreicht für die nächsten/vorherigen Tasten. pdf.js api hat mir nicht geholfen viel. Hoffe, dass ich einige Anleitungen hier. Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich verstehe gut dein problem, ich könnte eine Lösung haben.
Wenn ich klickte zu schnell auf den Tasten previous oder next, die Leinwand hatte nicht die Zeit zu aktualisieren, und zwei (oder mehr) Seiten, auf denen gezeichnet, es war nicht lesbar.
Das problem zu lösen, ich verwende den folgenden code :
Habe ich auch geändert die render-Funktion in der pdf.js Datei :
(in meinem pdf.js Datei, diese ist zwischen den Zeilen 2563 und 2596).
Als ein Ergebnis, keine neue Seite, die gezogen werden, bis die Vorherige Seite war komplett angezogen, auch wenn Sie auf sehr sehr schnell auf den vorherigen/nächsten Tasten !
Eine andere Lösung könnte sein, die Abbrechen die Vorherige Zeichnung :
Ich hoffe, es wird dir helfen, und sorry für mein Englisch 😉
Habt einen schönen Tag
Ich habe das gleiche problem und lösen es einfacher.
Die
render()
Methode gibt einerenderTask
Objekt, das wie folgt Aussehen:Den Prototyp
renderTask.internalRenderTask
hatcancel()
Methode, die können halt Rendern.So nur daran erinnern
renderTask.internalRenderTask
- Objekt, und rufencancel()
wenn nötig:page.render(...)
ist nun die Rückkehr einerrenderTask
hatcancel
Methode. -->this.renderTask = page.render(...);
.page.render(..)
und wie Sie auf dierenderTask
.Bezüglich der zweiten Lösung, die Sie haben, um die variable zu erstellen
timestamp
außerhalb der Funktion, zum Beispiel am Anfang der Datei. Wenn Sie erklärentimestamp
innerhalb der Funktion, die variable existiert nur während der Ausführung der Funktion wird und kann nicht funktionieren. S können Sie Folgendes tun :Mir sagen, ob es ok ist, jetzt