En la solicitud de extracción n. ° 8724 se implementó un visor de una sola página. Sería bueno tener un ejemplo de componentes en la carpeta examples
que demuestre cómo usar este visor.
¡Hola! Me gustaría abordar este problema. Esta es la primera vez que resuelvo un problema en Github, así que me encantaría que me ayudaran a descubrir cómo empezar.
Ya tengo una copia local ejecutándose con el servidor de gulp.
Hay ejemplos de componentes en la carpeta https://github.com/mozilla/pdf.js/tree/master/examples/components . El objetivo de este parche es agregar un ejemplo que use PDFSinglePageViewer
. Al igual que los otros ejemplos allí, solo puede cargar el archivo PDF de Tracemonkey predeterminado.
¡Gracias! Intentaré trabajar en esto.
Entonces, me estoy confundiendo un poco aquí. Esto es lo que entendí:
En la carpeta de componentes, pageviewer.js es un ejemplo que usa pdf_page_view.js para mostrar archivos pdf normalmente. Necesito crear un ejemplo como singlepageviewer.js que use pdf_single_page_viewer.js.
¿Estoy por el camino correcto hasta ahora?
Entonces, ¿básicamente es esto lo que necesito editar desde el archivo pageviewer.js para que haga uso del visor de una sola página?
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();
});
Esto es lo que contiene singlepageviewer.js como la parte editada:
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();
});
¿Mi enfoque hasta ahora tiene sentido?
¡Muchas gracias por su tiempo!
Volver a publicar el comentario con el formato adecuado.
En la carpeta de componentes, pageviewer.js es un ejemplo que usa pdf_page_view.js para mostrar archivos pdf normalmente. Necesito crear un ejemplo como singlepageviewer.js que use pdf_single_page_viewer.js.
Considerando que PDFSinglePageViewer
implementa la misma interfaz que PDFViewer
, basando el nuevo ejemplo en https://github.com/mozilla/pdf.js/blob/master/examples/components/simpleviewer.js sería un punto de partida mucho más apropiado.
¡Gracias por ese consejo!
Envié una solicitud de extracción https://github.com/mozilla/pdf.js/pull/8989. Revíselo y avíseme si desea realizar algún cambio.
Editar:
No sé si me falta algo aquí, pero ninguno de los ejemplos de componentes muestra nada en el navegador en http://localhost:8888/examples/components/{anyfile}.html
. La consola muestra los siguientes errores:
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
No sé si me falta algo aquí, pero ninguno de los ejemplos de componentes muestra nada en el navegador en http: // localhost : 8888 / examples / components / {anyfile} .html. La consola muestra los siguientes errores:
Como se menciona en los archivos *.js
de los ejemplos, consulte, por ejemplo, aquí , ¿ejecutó gulp dist-install
?
¡Gracias!
Aquí está la solicitud de extracción que incluye todos los cambios revisados y de acuerdo con la wiki de Contribuciones y Compromisos de aplastamiento: https://github.com/mozilla/pdf.js/pull/8990
¡Muchas gracias por su tiempo!
Comentario más útil
Considerando que
PDFSinglePageViewer
implementa la misma interfaz quePDFViewer
, basando el nuevo ejemplo en https://github.com/mozilla/pdf.js/blob/master/examples/components/simpleviewer.js sería un punto de partida mucho más apropiado.