This library provide programming friendly usage of mozilla/pdf.js.
- Load pdf and show page
- Display pdf as like presentation
- Provide controller interface
- Copy text from pdf
- Click-able link in pdf
npm install pdf.js-controller
Dependencies
// container element
var container = document.getElementById("pdf-container");
var PDFController = require("pdf.js-controller");
var controller = new PDFController({
container: container,
// path to dir of pdfjs-dist
pdfjsDistDir: __dirname + "/node_modules/pdfjs-dist/"
});
// path to URL of pdf.
// Apply CORS to this path. It means that the URL should be same origin.
var PDFURL = "./example.pdf";
controller.loadDocument(PDFURL)
.then(initializedEvent)
.catch(function (error) {
console.error(error);
});
container.addEventListener(PDFController.Events.before_pdf_rendering, function (event) {
// before render
});
container.addEventListener(PDFController.Events.after_pdf_rendering, function (event) {
// after render
});
function initializedEvent() {
window.addEventListener("resize", function (event) {
controller.fitItSize();
});
document.onkeydown = function (event) {
var kc = event.keyCode;
if (event.shiftKey || event.ctrlKey || event.metaKey) {
return;
}
if (kc === 37 || kc === 40 || kc === 75 || kc === 65) {
// left, down, K, A
event.preventDefault();
controller.prevPage();
} else if (kc === 38 || kc === 39 || kc === 74 || kc === 83) {
// up, right, J, S
event.preventDefault();
controller.nextPage();
}
};
}
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
MIT