diff --git a/jspdf.js b/jspdf.js index a1a9cab29..8fc0cac02 100644 --- a/jspdf.js +++ b/jspdf.js @@ -982,6 +982,47 @@ var jsPDF = (function(global) { _setPage.apply(this, arguments); return this; }; + API.insertPage = function(beforePage) { + this.addPage(); + this.movePage(currentPage, beforePage); + return this; + }; + API.movePage = function(targetPage, beforePage) { + if (targetPage > beforePage){ + var tmpPages = pages[targetPage]; + var tmpPagedim = pagedim[targetPage]; + for (var i=targetPage; i>beforePage; i--){ + pages[i] = pages[i-1]; + pagedim[i] = pagedim[i-1]; + } + pages[beforePage] = tmpPages; + pagedim[beforePage] = tmpPagedim; + this.setPage(beforePage); + }else if (targetPage < beforePage){ + var tmpPages = pages[targetPage]; + var tmpPagedim = pagedim[targetPage]; + for (var i=targetPage; i page){ + currentPage = page; + } + this.setPage(currentPage); + return this; + }; API.setDisplayMode = function(zoom, layout, pmode) { zoomMode = zoom; layoutMode = layout; diff --git a/test/test_insert_page.html b/test/test_insert_page.html new file mode 100644 index 000000000..85ea675fd --- /dev/null +++ b/test/test_insert_page.html @@ -0,0 +1,107 @@ + + + + + + + +Insert/Move/Delete Page Test + + + + + + + + +

+	
+
+