- Julian Viereck | @jviereck | +Juilan Viereck -
//
// Fetch the PDF document from the URL using promices
//
PDFJS.getDocument('helloworld.pdf').then(function(pdf) {
// Using promise to fetch the page
pdf.getPage(1).then(function(page) {
var scale = 1.5;
var viewport = page.getViewport(scale);
//
// Prepare canvas using PDF page dimensions
//
var canvas = document.getElementById('the-canvas');
var context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
//
// Render PDF page into canvas context
//
var renderContext = {
canvasContext: context,
viewport: viewport
};
page.render(renderContext);
});
});
@font-face {
font-family:'font0'; src:url(data:font/opentype;base64, ...)
}
var DOMImg = document.createElement('img');
var byteStr = bytesToString(bytes);
var data = window.btoa(byteStr);
DOMImg.src = 'data:image/jpeg;base64,' + data;
var canvas = new ScratchCanvas(width, height);
var imgData = canvas.getImageData(0, 0, width, height);
var jpegBytes = jpeg2000Stream.getBytes();
fillWithPixelData(jpegBytes, imgData);
canvas.putImageData(imgData, 0, 0);
Performance is not the only measure
// Called when the canvas gets printed.
canvas.mozPrintCallback = function(obj) {
// Get the rendering context from the print object
var ctx = obj.context;
ctx.fillStyle = 'red';
ctx.fillRect(10, 10, 100, 100);
(function renderFunc() {
someRendering(ctx);
// If someting went wrong, then abort(), which aborts printing.
if (errorHappend) {
obj.abort();
}
// Once everything is rendered, tell the backend things are done().
else if (finishedRendering) {
obj.done();
}
// Otherwise, continue rendering after some timeout.
else {
setTimeout(renderFunc, 10);
}
})();
};
GitHub: | https://github.com/mozilla/pdf.js |
Look at readme, wiki | |
Twitter: | @pdfjs |
Mailing List: | https://groups.google.com/group/... |
IRC: | irc.mozilla.org #pdfjs |
Engineering Weekly Call: | Thursday - 10:00am PDT |