diff --git a/dist/angular-pdf.js b/dist/angular-pdf.js index 21203dc..0d3a5ce 100644 --- a/dist/angular-pdf.js +++ b/dist/angular-pdf.js @@ -1,4 +1,4 @@ -/*! Angular-PDF Version: 1.1.0 | (C) Sayanee Basu 2014, released under an MIT license */ +/*! Angular-PDF Version: 1.1.0 | (C) Sayanee Basu 2015, released under an MIT license */ (function() { 'use strict'; diff --git a/dist/angular-pdf.min.js b/dist/angular-pdf.min.js index 5a5408f..19dd0bd 100644 --- a/dist/angular-pdf.min.js +++ b/dist/angular-pdf.min.js @@ -1,2 +1,2 @@ -/*! Angular-PDF Version: 1.1.0 | (C) Sayanee Basu 2014, released under an MIT license */ +/*! Angular-PDF Version: 1.1.0 | (C) Sayanee Basu 2015, released under an MIT license */ !function(){"use strict";angular.module("pdf",[]).directive("ngPdf",["$window",function($window){var backingScale=function(canvas){var ctx=canvas.getContext("2d"),dpr=window.devicePixelRatio||1,bsr=ctx.webkitBackingStorePixelRatio||ctx.mozBackingStorePixelRatio||ctx.msBackingStorePixelRatio||ctx.oBackingStorePixelRatio||ctx.backingStorePixelRatio||1;return dpr/bsr},setCanvasDimensions=function(canvas,w,h){var ratio=backingScale(canvas);return canvas.width=w*ratio,canvas.height=h*ratio,canvas.style.width=w+"px",canvas.style.height=h+"px",canvas.getContext("2d").setTransform(ratio,0,0,ratio,0,0),canvas};return{restrict:"E",templateUrl:function(element,attr){return attr.templateUrl?attr.templateUrl:"partials/viewer.html"},link:function(scope,element,attrs){function renderPDF(){url&&url.length&&PDFJS.getDocument(url,null,null,scope.onProgress).then(function(_pdfDoc){"function"==typeof scope.onLoad&&scope.onLoad(),pdfDoc=_pdfDoc,scope.renderPage(scope.pageToDisplay),scope.$apply(function(){scope.pageCount=_pdfDoc.numPages})},function(error){error&&"function"==typeof scope.onError&&scope.onError(error)})}var url=scope.pdfUrl,pdfDoc=null,pageNum=attrs.page?attrs.page:1,scale=attrs.scale>0?attrs.scale:1,canvas=document.getElementById(attrs.canvasid?attrs.canvasid:"pdf-canvas"),ctx=canvas.getContext("2d"),windowEl=angular.element($window);windowEl.on("scroll",function(){scope.$apply(function(){scope.scroll=windowEl[0].scrollY})}),PDFJS.disableWorker=!0,scope.pageNum=pageNum,scope.renderPage=function(num){pdfDoc.getPage(num).then(function(page){var viewport,pageWidthScale,pageHeightScale,renderContext={};"page-fit"!==attrs.scale||scale?viewport=page.getViewport(scale):(viewport=page.getViewport(1),pageWidthScale=element[0].clientWidth/viewport.width,pageHeightScale=element[0].clientHeight/viewport.height,scale=Math.min(pageWidthScale,pageHeightScale)),setCanvasDimensions(canvas,viewport.width,viewport.height),renderContext={canvasContext:ctx,viewport:viewport},page.render(renderContext).promise.then(function(){"function"==typeof scope.onPageRender&&scope.onPageRender()})})},scope.goPrevious=function(){scope.pageToDisplay<=1||(scope.pageNum=parseInt(scope.pageNum)-1)},scope.goNext=function(){scope.pageToDisplay>=pdfDoc.numPages||(scope.pageNum=parseInt(scope.pageNum)+1)},scope.zoomIn=function(){return scale=parseFloat(scale)+.2,scope.renderPage(scope.pageToDisplay),scale},scope.zoomOut=function(){return scale=parseFloat(scale)-.2,scope.renderPage(scope.pageToDisplay),scale},scope.changePage=function(){scope.renderPage(scope.pageToDisplay)},scope.rotate=function(){"rotate0"===canvas.getAttribute("class")?canvas.setAttribute("class","rotate90"):"rotate90"===canvas.getAttribute("class")?canvas.setAttribute("class","rotate180"):"rotate180"===canvas.getAttribute("class")?canvas.setAttribute("class","rotate270"):canvas.setAttribute("class","rotate0")},scope.$watch("pageNum",function(newVal){scope.pageToDisplay=parseInt(newVal),null!==pdfDoc&&scope.renderPage(scope.pageToDisplay)}),scope.$watch("pdfUrl",function(newVal){""!==newVal&&(console.log("pdfUrl value change detected: ",scope.pdfUrl),url=newVal,scope.pageToDisplay=1,renderPDF())})}}}])}(); \ No newline at end of file diff --git a/example/js/directives/angular-pdf.js b/example/js/directives/angular-pdf.js index 21203dc..0d3a5ce 100644 --- a/example/js/directives/angular-pdf.js +++ b/example/js/directives/angular-pdf.js @@ -1,4 +1,4 @@ -/*! Angular-PDF Version: 1.1.0 | (C) Sayanee Basu 2014, released under an MIT license */ +/*! Angular-PDF Version: 1.1.0 | (C) Sayanee Basu 2015, released under an MIT license */ (function() { 'use strict';