Dans la demande d'extraction n ° 8724, un afficheur de page unique a été implémenté. Ce serait bien d'avoir un exemple de composants dans le dossier examples
qui montre comment utiliser cette visionneuse.
Salut! J'aimerais aborder ce problème. C'est la première fois que je résolve un problème sur Github, je serais donc ravi si vous pouviez m'aider à trouver comment commencer.
J'ai déjà une copie locale en cours d'exécution avec le serveur gulp.
Il existe des exemples de composants dans le dossier https://github.com/mozilla/pdf.js/tree/master/examples/components . L'objectif de ce patch est d'ajouter un exemple qui utilise PDFSinglePageViewer
. Comme les autres exemples, il peut simplement charger le fichier PDF Tracemonkey par défaut.
Merci! J'essaierai de travailler là-dessus.
Donc, je suis un peu confus ici. Voici ce que j'ai compris:
Dans le dossier des composants, pageviewer.js est un exemple qui utilise pdf_page_view.js pour afficher normalement les fichiers pdf. J'ai besoin de créer un exemple comme singlepageviewer.js qui utilise pdf_single_page_viewer.js.
Suis-je sur la bonne voie jusqu'à présent?
Est-ce donc essentiellement ce que j'ai besoin de modifier à partir du fichier pageviewer.js pour qu'il utilise le visualiseur de page unique?
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();
});
Voici ce que singlepageviewer.js contient comme partie modifiée:
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();
});
Mon approche a-t-elle pour l'instant du sens?
Merci beaucoup pour votre temps!
Republier le commentaire avec un formatage approprié.
Dans le dossier des composants, pageviewer.js est un exemple qui utilise pdf_page_view.js pour afficher normalement les fichiers pdf. J'ai besoin de créer un exemple comme singlepageviewer.js qui utilise pdf_single_page_viewer.js.
Considérant que PDFSinglePageViewer
implémente la même interface que PDFViewer
, basant le nouvel exemple sur https://github.com/mozilla/pdf.js/blob/master/examples/components/simpleviewer.js serait un point de départ beaucoup plus approprié.
Merci pour ce conseil!
J'ai soumis une demande d'extraction https://github.com/mozilla/pdf.js/pull/8989. Veuillez l'examiner et me faire savoir si des modifications doivent être apportées.
Éditer:
Je ne sais pas s'il me manque quelque chose ici mais aucun des exemples de composants n'affiche quoi que ce soit dans le navigateur à http://localhost:8888/examples/components/{anyfile}.html
. La console affiche les erreurs suivantes:
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
Je ne sais pas s'il me manque quelque chose ici, mais aucun des exemples de composants n'affiche quoi que ce soit dans le navigateur à l' adresse http: // localhost : 8888 / examples / components / {anyfile} .html. La console affiche les erreurs suivantes:
Comme mentionné dans les fichiers *.js
des exemples, voyez par exemple ici , avez-vous exécuté gulp dist-install
?
Je l'ai Merci!
Voici la pull request incluant toutes vos modifications révisées et selon le wiki Contributing and Squashing Commits: https://github.com/mozilla/pdf.js/pull/8990
Merci beaucoup pour votre temps!
Commentaire le plus utile
Considérant que
PDFSinglePageViewer
implémente la même interface quePDFViewer
, basant le nouvel exemple sur https://github.com/mozilla/pdf.js/blob/master/examples/components/simpleviewer.js serait un point de départ beaucoup plus approprié.