hmcts/pdf-annotate.js (forked from instructure/pdf-annotate.js)
A fork of pdf-annotate.js to fix issues with rotations
Objectives
- Provide a low level annotation layer for pdf.js.
- Optional high level UI for managing annotations.
- Agnostic of backend, just supply your own
StoreAdapter
to fetch/store data. - Prescribe annotation format.
Example
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.
Documentation
View the docs.
Developing
$ git clone https://github.com/hmcts/pdf-annotate.js.git
$ cd pdf-annotate.js
$ npm install
$ npm start
$ open http://127.0.0.1:8080
$ npm test
License
MIT