Annotation layer for pdf.js
- Provide a low level annotation layer for pdf.js.
- Optional high level UI for managing annotations.
- Agnostic of backend, just supply your own
StoreAdapterto fetch/store data. - Prescribe annotation format.
import __pdfjs from 'pdfjs-dist/build/pdf'; import PDFJSAnnotate from 'pdfjs-annotate'; import MyStoreAdapter from './myStoreAdapter'; const { UI } = PDFJSAnnotate; const VIEWER = document.getElementById('viewer'); const RENDER_OPTIONS = { documentId: 'MyPDF.pdf', pdfDocument: null, scale: 1, rotate: 0 }; PDFJS.workerSrc = 'pdf.worker.js'; PDFJSAnnotate.setStoreAdapter(MyStoreAdapter); PDFJS.getDocument(RENDER_OPTIONS.documentId).then((pdf) => { RENDER_OPTIONS.pdfDocument = pdf; VIEWER.appendChild(UI.createPage(1)); UI.renderPage(1, RENDER_OPTIONS); });
See more examples.
# clone the repo $ git clone https://github.com/ayanworks/pdf-annotations.js.git $ cd pdf-annotate.js # intall dependencies $ npm install # start example server $ npm start $ open http://127.0.0.1:8080 # run tests $ npm test
MIT