Version Description
Internal code refactoring. Added note that 'page turning arrows' are now available in the premium versions.
Download this release
Release Info
Developer | danlester |
Plugin | PDF Embedder |
Version | 2.8 |
Comparing to | |
See all releases |
Code changes from version 2.7.5 to 2.8
- core/core_pdf_embedder.php +11 -6
- css/pdfemb-embed-pdf.css +52 -0
- img/ptleftarrow.png +0 -0
- img/ptrightarrow.png +0 -0
- img/toolbarButton-pageDown.png +0 -0
- img/toolbarButton-pageUp.png +0 -0
- js/all-pdfemb-basic.min.js +13 -12
- js/pdfemb-embed-pdf.js +10 -2
- pdf_embedder.php +20 -11
- readme.txt +12 -4
core/core_pdf_embedder.php
CHANGED
@@ -26,7 +26,7 @@ class core_pdf_embedder {
|
|
26 |
|
27 |
wp_enqueue_script( 'pdfemb_pdf_js' );
|
28 |
|
29 |
-
wp_enqueue_style( 'pdfemb_embed_pdf_css', $this->my_plugin_url().'css/pdfemb-embed-pdf.css' );
|
30 |
}
|
31 |
}
|
32 |
|
@@ -140,8 +140,8 @@ class core_pdf_embedder {
|
|
140 |
$height = 'max';
|
141 |
}
|
142 |
|
143 |
-
$toolbar = isset($atts['toolbar']) && in_array($atts['toolbar'], array('top', 'bottom', 'both')) ? $atts['toolbar'] : $options['pdfemb_toolbar'];
|
144 |
-
if (!in_array($toolbar, array('top', 'bottom', 'both'))) {
|
145 |
$toolbar = 'bottom';
|
146 |
}
|
147 |
|
@@ -212,7 +212,7 @@ class core_pdf_embedder {
|
|
212 |
public function pdfemb_options_do_page() {
|
213 |
|
214 |
wp_enqueue_script( 'pdfemb_admin_js', $this->my_plugin_url().'js/admin/pdfemb-admin.js', array('jquery') );
|
215 |
-
wp_enqueue_style( 'pdfemb_admin_css', $this->my_plugin_url().'css/pdfemb-admin.css' );
|
216 |
|
217 |
$submit_page = is_multisite() ? 'edit.php?action='.$this->get_options_menuname() : 'options.php';
|
218 |
|
@@ -311,6 +311,7 @@ class core_pdf_embedder {
|
|
311 |
<option value="top" <?php echo $options['pdfemb_toolbar'] == 'top' ? 'selected' : ''; ?>><?php esc_html_e('Top', 'pdf-embedder'); ?></option>
|
312 |
<option value="bottom" <?php echo $options['pdfemb_toolbar'] == 'bottom' ? 'selected' : ''; ?>><?php esc_html_e('Bottom', 'pdf-embedder'); ?></option>
|
313 |
<option value="both" <?php echo $options['pdfemb_toolbar'] == 'both' ? 'selected' : ''; ?>><?php esc_html_e('Both', 'pdf-embedder'); ?></option>
|
|
|
314 |
</select>
|
315 |
<br class="clear" />
|
316 |
<br class="clear" />
|
@@ -340,6 +341,10 @@ class core_pdf_embedder {
|
|
340 |
<?php
|
341 |
}
|
342 |
|
|
|
|
|
|
|
|
|
343 |
protected function pdfemb_mainsection_extra() {
|
344 |
// Override in Basic and Commercial
|
345 |
}
|
@@ -392,7 +397,7 @@ class core_pdf_embedder {
|
|
392 |
);
|
393 |
}
|
394 |
|
395 |
-
if (isset($input['pdfemb_toolbar']) && in_array($input['pdfemb_toolbar'], array('top', 'bottom', 'both'))) {
|
396 |
$newinput['pdfemb_toolbar'] = $input['pdfemb_toolbar'];
|
397 |
}
|
398 |
else {
|
@@ -537,7 +542,7 @@ class core_pdf_embedder {
|
|
537 |
|
538 |
add_filter( 'attachment_fields_to_edit', array($this, 'pdfemb_attachment_fields_to_edit'), 10, 2 );
|
539 |
|
540 |
-
wp_enqueue_style( 'pdfemb_admin_other_css', $this->my_plugin_url().'css/pdfemb-admin-other.css' );
|
541 |
}
|
542 |
|
543 |
// Override in Basic and Commercial
|
26 |
|
27 |
wp_enqueue_script( 'pdfemb_pdf_js' );
|
28 |
|
29 |
+
wp_enqueue_style( 'pdfemb_embed_pdf_css', $this->my_plugin_url().'css/pdfemb-embed-pdf.css', array(), $this->PLUGIN_VERSION );
|
30 |
}
|
31 |
}
|
32 |
|
140 |
$height = 'max';
|
141 |
}
|
142 |
|
143 |
+
$toolbar = isset($atts['toolbar']) && in_array($atts['toolbar'], array('top', 'bottom', 'both', 'none')) ? $atts['toolbar'] : $options['pdfemb_toolbar'];
|
144 |
+
if (!in_array($toolbar, array('top', 'bottom', 'both', 'none'))) {
|
145 |
$toolbar = 'bottom';
|
146 |
}
|
147 |
|
212 |
public function pdfemb_options_do_page() {
|
213 |
|
214 |
wp_enqueue_script( 'pdfemb_admin_js', $this->my_plugin_url().'js/admin/pdfemb-admin.js', array('jquery') );
|
215 |
+
wp_enqueue_style( 'pdfemb_admin_css', $this->my_plugin_url().'css/pdfemb-admin.css', array(), $this->PLUGIN_VERSION );
|
216 |
|
217 |
$submit_page = is_multisite() ? 'edit.php?action='.$this->get_options_menuname() : 'options.php';
|
218 |
|
311 |
<option value="top" <?php echo $options['pdfemb_toolbar'] == 'top' ? 'selected' : ''; ?>><?php esc_html_e('Top', 'pdf-embedder'); ?></option>
|
312 |
<option value="bottom" <?php echo $options['pdfemb_toolbar'] == 'bottom' ? 'selected' : ''; ?>><?php esc_html_e('Bottom', 'pdf-embedder'); ?></option>
|
313 |
<option value="both" <?php echo $options['pdfemb_toolbar'] == 'both' ? 'selected' : ''; ?>><?php esc_html_e('Both', 'pdf-embedder'); ?></option>
|
314 |
+
<?php $this->no_toolbar_option($options); ?>
|
315 |
</select>
|
316 |
<br class="clear" />
|
317 |
<br class="clear" />
|
341 |
<?php
|
342 |
}
|
343 |
|
344 |
+
protected function no_toolbar_option($options) {
|
345 |
+
// Override in commercial
|
346 |
+
}
|
347 |
+
|
348 |
protected function pdfemb_mainsection_extra() {
|
349 |
// Override in Basic and Commercial
|
350 |
}
|
397 |
);
|
398 |
}
|
399 |
|
400 |
+
if (isset($input['pdfemb_toolbar']) && in_array($input['pdfemb_toolbar'], array('top', 'bottom', 'both', 'none'))) {
|
401 |
$newinput['pdfemb_toolbar'] = $input['pdfemb_toolbar'];
|
402 |
}
|
403 |
else {
|
542 |
|
543 |
add_filter( 'attachment_fields_to_edit', array($this, 'pdfemb_attachment_fields_to_edit'), 10, 2 );
|
544 |
|
545 |
+
wp_enqueue_style( 'pdfemb_admin_other_css', $this->my_plugin_url().'css/pdfemb-admin-other.css', array(), $this->PLUGIN_VERSION );
|
546 |
}
|
547 |
|
548 |
// Override in Basic and Commercial
|
css/pdfemb-embed-pdf.css
CHANGED
@@ -376,3 +376,55 @@ input.pdfemb-page-num {
|
|
376 |
.pdfembAnnotationLayer .strikeoutAnnotation {
|
377 |
cursor: pointer;
|
378 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
376 |
.pdfembAnnotationLayer .strikeoutAnnotation {
|
377 |
cursor: pointer;
|
378 |
}
|
379 |
+
|
380 |
+
.pdfemb-pageturner {
|
381 |
+
padding: 0px;
|
382 |
+
margin: 0px;
|
383 |
+
border: none;
|
384 |
+
z-index: 8;
|
385 |
+
position: absolute;
|
386 |
+
|
387 |
+
width: 64px;
|
388 |
+
min-height: 96px;
|
389 |
+
height: 100%;
|
390 |
+
|
391 |
+
opacity: 0;
|
392 |
+
background-color: lightgray;
|
393 |
+
}
|
394 |
+
|
395 |
+
.pdfemb-pageturner-bottomright {
|
396 |
+
bottom: 0px;
|
397 |
+
right: 0px;
|
398 |
+
}
|
399 |
+
|
400 |
+
.pdfemb-pageturner-bottomright.pdfemb-pageturner-arrow {
|
401 |
+
background-image: url('../img/ptrightarrow.png');
|
402 |
+
background-position: right center;
|
403 |
+
background-repeat: no-repeat;
|
404 |
+
|
405 |
+
cursor: pointer;
|
406 |
+
opacity: 0.6;
|
407 |
+
|
408 |
+
transition: opacity 0.45s ease-in-out;
|
409 |
+
-moz-transition: opacity 0.45s ease-in-out;
|
410 |
+
-webkit-transition: opacity 0.45s ease-in-out;
|
411 |
+
}
|
412 |
+
|
413 |
+
.pdfemb-pageturner-bottomleft {
|
414 |
+
bottom: 0px;
|
415 |
+
left: 0px;
|
416 |
+
}
|
417 |
+
|
418 |
+
.pdfemb-pageturner-bottomleft.pdfemb-pageturner-arrow {
|
419 |
+
background-image: url('../img/ptleftarrow.png');
|
420 |
+
background-position: left center;
|
421 |
+
background-repeat: no-repeat;
|
422 |
+
|
423 |
+
opacity: 0.6;
|
424 |
+
|
425 |
+
cursor: pointer;
|
426 |
+
|
427 |
+
transition: opacity 0.45s ease-in-out;
|
428 |
+
-moz-transition: opacity 0.45s ease-in-out;
|
429 |
+
-webkit-transition: opacity 0.45s ease-in-out;
|
430 |
+
}
|
img/ptleftarrow.png
ADDED
Binary file
|
img/ptrightarrow.png
ADDED
Binary file
|
img/toolbarButton-pageDown.png
CHANGED
Binary file
|
img/toolbarButton-pageUp.png
CHANGED
Binary file
|
js/all-pdfemb-basic.min.js
CHANGED
@@ -6,18 +6,19 @@ this.element.scrollTop;this.clientXStart=a.clientX;this.clientYStart=a.clientY;t
|
|
6 |
this.element.scrollTop;this.element.scrollTop=this.scrollTopStart-40*a;this.overlay.parentNode||document.body.appendChild(this.overlay)},_endPan:function(){this.element.removeEventListener("scroll",this._endPan,!0);this.document.removeEventListener("mousemove",this._onmousemove,!0);this.document.removeEventListener("mouseup",this._endPan,!0);this.overlay.parentNode&&this.overlay.parentNode.removeChild(this.overlay)}};var h;["webkitM","mozM","msM","oM","m"].some(function(a){a+="atches";a in document.documentElement&&
|
7 |
(h=a);a+="Selector";a in document.documentElement&&(h=a);return h});var a=!document.documentMode||9<document.documentMode,d=window.chrome,b=d&&(d.webstore||d.app),e=/Apple/.test(navigator.vendor)&&/Version\/([6-9]\d*|[1-5]\d+)/.test(navigator.userAgent);return c}();function pdfembGetPDF(c,h){h(c,!1)}function pdfembWantMobile(c,h,a,d){return!1}function pdfembMakeMobile(c,h,a){}function pdfembAddMoreToolbar(c,h,a){}function pdfembPremiumJumpToTop(c){};jQuery(document).ready(function(c){var h=function(){var a=document.createElement("canvas").getContext("2d");return(window.devicePixelRatio||1)/(a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||a.backingStorePixelRatio||1)}();createHiDPICanvas=function(a,c,b){b||(b=h);var e=document.createElement("canvas");e.width=a*b;e.height=c*b;e.style.width=a+"px";e.style.height=c+"px";e.getContext("2d").setTransform(b,0,0,b,0,0);return e};c.fn.pdfEmbedder=
|
8 |
function(){this.each(function(a,d){var b,e=c(d);if(e.is("a")){var f=e.data();b=c("<div></div>",{"class":e.attr("class"),style:e.attr("style")});b.data(c.extend({"pdf-url":e.attr("href")},f));e.replaceWith(b)}else b=e;b.append(c("<div></div>",{"class":"pdfemb-loadingmsg"}).append(document.createTextNode(pdfemb_trans.objectL10n.loading)));"on"==b.data("disablerightclick")&&b.bind("contextmenu",function(a){a.preventDefault()});var h=function(a,e){b.empty().append(c("<div></div>",{"class":"pdfemb-inner-div"}).append(c("<canvas></canvas>",
|
9 |
-
{"class":"pdfemb-the-canvas"})));b.data("pdfDoc",a);var d=b.data("toolbar");"
|
10 |
-
dest,e=b.data("pdfDoc").getDestination(dest)):e=Promise.resolve(dest);e.then(function(a){a instanceof Array&&!(1>a.length)&&b.data("pdfDoc").getPageIndex(a[0]).then(function(a){a+=1;a>b.data("pdfDoc").numPages||0>=a||b.data("pagenum")==a||(b.data("pagenum",a),c.fn.pdfEmbedder.queueRenderPage(b,a),pdfembPremiumJumpToTop(b))})})}});b.on("pdfembGotoAction",function(a,d){var e=b.data("pagenum"),f=e;switch(d){case "GoBack":--f;break;case "GoForward":++f;break;case "NextPage":++f;
|
11 |
-
break;case "LastPage":f=b.data("pdfDoc").numPages;break;case "FirstPage":f=1}f==e||f>b.data("pdfDoc").numPages||0>=f||(b.data("pagenum",f),c.fn.pdfEmbedder.queueRenderPage(b,f))});b.data("pageCount",a.numPages);(!b.data("pagenum")||1>b.data("pagenum")||b.data("pagenum")>a.numPages)&&b.data("pagenum",1);b.data("showIsSecure",e);b.data("pageNumPending",null);d="on"==b.data("fullScreen")?
|
12 |
-
d&&b.find("span.pdfemb-zoom").text(d+"%");c.fn.pdfEmbedder.renderPage(b,b.data("pagenum"));b.find("span.pdfemb-page-count").text(a.numPages);d=new pdfembGrabToPan({element:b.find("div.pdfemb-inner-div")[0]});b.data("grabtopan",d);c(window).resize(function(){setTimeout(function(){c.fn.pdfEmbedder.queueRenderPage(b,b.data("pagenum"))},100)})},e=function(a,d){null===a?b.empty().append(c("<div></div>",
|
13 |
-
PDFJS.getDocument(a).then(function(a){h(a,d)},function(a){var d=document.createTextNode(a.message);"UnexpectedResponseException"==a.name&&0==a.status&&(d=c("<span></span>").append(document.createTextNode(pdfemb_trans.objectL10n.domainerror+" ")).append(c('<a href="https://wp-pdf.com/troubleshooting/#unexpected" target="_blank">'+pdfemb_trans.objectL10n.clickhereinfo+"</a>")));
|
14 |
-
(f=b.data("pdf-url"),pdfembGetPDF(f,e))});return this};c.fn.pdfEmbedder.annotationsLayerFactory="undefined"!=typeof pdfembPremiumAnnotationsLayerFactory?new pdfembPremiumAnnotationsLayerFactory:{createAnnotationsLayerBuilder:function(a,c){return null}};c.fn.pdfEmbedder.checkForResize=function(a){var d=c(window).height(),b=c(window).width(),e=a.data("checked-window-height"),
|
15 |
-
b)c.fn.pdfEmbedder.queueRenderPage(a,a.data("pagenum")),a.data("checked-window-height",d),a.data("checked-window-width",b);"true"!=a.data("fullScreenClosed")&&setTimeout(function(){c.fn.pdfEmbedder.checkForResize(a)},1E3)};c.fn.pdfEmbedder.renderPage=function(a,d,b){a.data("pageRendering",!0);a.data("pdfDoc").getPage(d).then(function(e){var f=a.find(".pdfemb-the-canvas"),
|
16 |
-
l=g.width,m=g.height;if(0>=l||0>=m)a.empty().append(document.createTextNode(pdfemb_trans.objectL10n.widthheightinvalid));else{var q=a.parent().width(),g=l,p=m;if("max"==a.data("width"))g=q;else if("auto"==a.data("width"))g=l;else if(g=parseInt(a.data("width"),10),isNaN(g)||0>=g)g=q;0>=g&&(g=l);g>q&&0<q&&(g=q);n=g/l;var p=m*n,w=a.find("div.pdfemb-toolbar-fixed"),
|
17 |
-
t*w.height():p;var g=Math.floor(g),p=Math.floor(p),x=100,l=g,m=p,A=0,B=0;q||(x=a.data("zoom"),l=g*x/100,m=p*x/100,l<g&&(A=(g-l)/2),m<k&&(B=(k-m)/2));var C=e.getViewport(n*x/100);g!=a.width()&&a.width(g);a.height()!=k&&a.height(k+t*w.height());n=a.find("div.pdfemb-inner-div");var E=n[0].scrollLeft,z=n[0].scrollTop;n.width(g);n.height(k);w=w.filter(".pdfemb-toolbar-top");
|
18 |
-
m>p||m>k)&&!q?(k=a.data("fromZoom"),t=a.data("toZoom"),0<k&&0<t&&(z+=p/2,n.scrollLeft((E+g/2)*t/k-g/2),n.scrollTop(z*t/k-p/2)),a.data("grabtopan").activate()):("on"==a.data("fullScreen")?a.data("grabtopan").activate():a.data("grabtopan").deactivate(),a.find("div.pdfemb-inner-div").scrollLeft(0).scrollTop(0));a.data("fromZoom",0).data("toZoom",0);pdfembMakeMobile(c,q,a);
|
19 |
-
0,0),r.scale(l/u,m/v),r.drawImage(f,0,0);else{var D=f[0].getContext("2d");e.render({canvasContext:D,viewport:C,transform:[h,0,0,h,0,0]}).promise.then(function(){"function"==typeof pdfembPremiumPreRenderCanvas&&c.isArray(pdfemb_trans.watermark_map)&&0<pdfemb_trans.watermark_map.length&&(-1==a.data("pdf-url").search("/?pdfemb-serveurl=")||"undefined"!=
|
20 |
-
x));a.data("pagenum",d);a.data("pageRendering",!1);a.find("div.pdfemb-toolbar .pdfemb-page-num").each(function(a,b){var e=c(b);e.is("span")?e.text(d):e.val(d)});d<a.data("pageCount")?a.find(".pdfemb-next").removeAttr("disabled").removeClass("pdfemb-btndisabled")
|
|
|
21 |
var b=c.fn.pdfEmbedder.annotationsLayerFactory.createAnnotationsLayerBuilder(a.find("div.pdfemb-inner-div")[0],e);null!=b&&(a.find("div.pdfembAnnotationLayer").remove(),b.setupAnnotations(C,a.data("newwindow")));null!==a.data("pageNumPending")&&(c.fn.pdfEmbedder.renderPage(a,a.data("pageNumPending")),a.data("pageNumPending",null))})}}})};c.fn.pdfEmbedder.queueRenderPage=function(a,d,b){a.data("pageRendering")?a.data("pageNumPending",d):c.fn.pdfEmbedder.renderPage(a,d,b)};c.fn.pdfEmbedder.goFullScreen=
|
22 |
function(a){a=c('<div class="pdfemb-fs-window"></div>');c(document.body).append(a)};c.fn.pdfEmbedder.changeZoom=function(a,d){var b=a.data("zoom"),e=b+d;a.data("zoom",e);a.find("span.pdfemb-zoom").text(e+"%");c.fn.pdfEmbedder.queueRenderPage(a,a.data("pagenum"));a.data("fromZoom",b).data("toZoom",e)};c.fn.pdfEmbedder.magnifyZoom=function(a,d){var b=a.data("zoom"),e=Math.floor(b*d);20>e&&(e=20);500<e&&(e=500);a.data("zoom",e);a.find("span.pdfemb-zoom").text(e+"%");c.fn.pdfEmbedder.queueRenderPage(a,
|
23 |
a.data("pagenum"),!0);a.data("fromZoom",b).data("toZoom",e)};c.fn.pdfEmbedder.addToolbar=function(a,d,b,e){var f=c("<div></div>",{"class":"pdfemb-toolbar pdfemb-toolbar"+(b?"-fixed":"-hover")+" "+(d?" pdfemb-toolbar-top":"pdfemb-toolbar-bottom")}),h=c('<button class="pdfemb-prev" title="'+pdfemb_trans.objectL10n.prev+'" type="button"></button>');f.append(h);var r=c('<button class="pdfemb-next" title="'+pdfemb_trans.objectL10n.next+'" type="button"></button>');f.append(r);f.append(c('<div class="pdfemb-page-area">'+
|
6 |
this.element.scrollTop;this.element.scrollTop=this.scrollTopStart-40*a;this.overlay.parentNode||document.body.appendChild(this.overlay)},_endPan:function(){this.element.removeEventListener("scroll",this._endPan,!0);this.document.removeEventListener("mousemove",this._onmousemove,!0);this.document.removeEventListener("mouseup",this._endPan,!0);this.overlay.parentNode&&this.overlay.parentNode.removeChild(this.overlay)}};var h;["webkitM","mozM","msM","oM","m"].some(function(a){a+="atches";a in document.documentElement&&
|
7 |
(h=a);a+="Selector";a in document.documentElement&&(h=a);return h});var a=!document.documentMode||9<document.documentMode,d=window.chrome,b=d&&(d.webstore||d.app),e=/Apple/.test(navigator.vendor)&&/Version\/([6-9]\d*|[1-5]\d+)/.test(navigator.userAgent);return c}();function pdfembGetPDF(c,h){h(c,!1)}function pdfembWantMobile(c,h,a,d){return!1}function pdfembMakeMobile(c,h,a){}function pdfembAddMoreToolbar(c,h,a){}function pdfembPremiumJumpToTop(c){};jQuery(document).ready(function(c){var h=function(){var a=document.createElement("canvas").getContext("2d");return(window.devicePixelRatio||1)/(a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||a.backingStorePixelRatio||1)}();createHiDPICanvas=function(a,c,b){b||(b=h);var e=document.createElement("canvas");e.width=a*b;e.height=c*b;e.style.width=a+"px";e.style.height=c+"px";e.getContext("2d").setTransform(b,0,0,b,0,0);return e};c.fn.pdfEmbedder=
|
8 |
function(){this.each(function(a,d){var b,e=c(d);if(e.is("a")){var f=e.data();b=c("<div></div>",{"class":e.attr("class"),style:e.attr("style")});b.data(c.extend({"pdf-url":e.attr("href")},f));e.replaceWith(b)}else b=e;b.append(c("<div></div>",{"class":"pdfemb-loadingmsg"}).append(document.createTextNode(pdfemb_trans.objectL10n.loading)));"on"==b.data("disablerightclick")&&b.bind("contextmenu",function(a){a.preventDefault()});var h=function(a,e){b.empty().append(c("<div></div>",{"class":"pdfemb-inner-div"}).append(c("<canvas></canvas>",
|
9 |
+
{"class":"pdfemb-the-canvas"})));b.data("pdfDoc",a);var d=b.data("toolbar");"top"!=d&&"both"!=d||c.fn.pdfEmbedder.addToolbar(b,!0,"on"==b.data("toolbar-fixed"),e);"bottom"!=d&&"both"!=d||c.fn.pdfEmbedder.addToolbar(b,!1,"on"==b.data("toolbar-fixed"),e);b.on("pdfembGotopage",function(a,d){d>b.data("pdfDoc").numPages||0>=d||b.data("pagenum")==d||(b.data("pagenum",d),c.fn.pdfEmbedder.queueRenderPage(b,d),pdfembPremiumJumpToTop(b))});b.on("pdfembGotoHash",function(a,d){if(d.dest){dest=d.dest;var e;"string"===
|
10 |
+
typeof dest?(destString=dest,e=b.data("pdfDoc").getDestination(dest)):e=Promise.resolve(dest);e.then(function(a){a instanceof Array&&!(1>a.length)&&b.data("pdfDoc").getPageIndex(a[0]).then(function(a){a+=1;a>b.data("pdfDoc").numPages||0>=a||b.data("pagenum")==a||(b.data("pagenum",a),c.fn.pdfEmbedder.queueRenderPage(b,a),pdfembPremiumJumpToTop(b))})})}});b.on("pdfembGotoAction",function(a,d){var e=b.data("pagenum"),f=e;switch(d){case "GoBack":--f;break;case "GoForward":++f;break;case "NextPage":++f;
|
11 |
+
break;case "PrevPage":--f;break;case "LastPage":f=b.data("pdfDoc").numPages;break;case "FirstPage":f=1}f==e||f>b.data("pdfDoc").numPages||0>=f||(b.data("pagenum",f),c.fn.pdfEmbedder.queueRenderPage(b,f))});"function"==typeof pdfembAddPageTurners&&"on"==b.data("pageturners")&&pdfembAddPageTurners(b);b.data("pageCount",a.numPages);(!b.data("pagenum")||1>b.data("pagenum")||b.data("pagenum")>a.numPages)&&b.data("pagenum",1);b.data("showIsSecure",e);b.data("pageNumPending",null);d="on"==b.data("fullScreen")?
|
12 |
+
parseInt(b.data("startfpzoom")):parseInt(b.data("startzoom"));if(isNaN(d)||20>d||500<d)d=100;b.data("zoom",d);100!=d&&b.find("span.pdfemb-zoom").text(d+"%");c.fn.pdfEmbedder.renderPage(b,b.data("pagenum"));b.find("span.pdfemb-page-count").text(a.numPages);d=new pdfembGrabToPan({element:b.find("div.pdfemb-inner-div")[0]});b.data("grabtopan",d);c(window).resize(function(){setTimeout(function(){c.fn.pdfEmbedder.queueRenderPage(b,b.data("pagenum"))},100)})},e=function(a,d){null===a?b.empty().append(c("<div></div>",
|
13 |
+
{"class":"pdfemb-errormsg"}).append(msgnode=c("<span></span>").append(document.createTextNode("Failed to load and decrypt PDF")))):PDFJS.getDocument(a).then(function(a){h(a,d)},function(a){var d=document.createTextNode(a.message);"UnexpectedResponseException"==a.name&&0==a.status&&(d=c("<span></span>").append(document.createTextNode(pdfemb_trans.objectL10n.domainerror+" ")).append(c('<a href="https://wp-pdf.com/troubleshooting/#unexpected" target="_blank">'+pdfemb_trans.objectL10n.clickhereinfo+"</a>")));
|
14 |
+
b.empty().append(c("<div></div>",{"class":"pdfemb-errormsg"}).append(d))})};b.data("pdfDoc")?h(b.data("pdfDoc"),b.data("showIsSecure")):(f=b.data("pdf-url"),pdfembGetPDF(f,e))});return this};c.fn.pdfEmbedder.annotationsLayerFactory="undefined"!=typeof pdfembPremiumAnnotationsLayerFactory?new pdfembPremiumAnnotationsLayerFactory:{createAnnotationsLayerBuilder:function(a,c){return null}};c.fn.pdfEmbedder.checkForResize=function(a){var d=c(window).height(),b=c(window).width(),e=a.data("checked-window-height"),
|
15 |
+
f=a.data("checked-window-width");if(!e||!f)a.data("checked-window-height",d),a.data("checked-window-width",b);else if(e!=d||f!=b)c.fn.pdfEmbedder.queueRenderPage(a,a.data("pagenum")),a.data("checked-window-height",d),a.data("checked-window-width",b);"true"!=a.data("fullScreenClosed")&&setTimeout(function(){c.fn.pdfEmbedder.checkForResize(a)},1E3)};c.fn.pdfEmbedder.renderPage=function(a,d,b){a.data("pageRendering",!0);a.data("pdfDoc").getPage(d).then(function(e){var f=a.find(".pdfemb-the-canvas"),
|
16 |
+
y=null,r=null,u=null,v=null;b&&(u=f.width(),v=f.height(),r=f[0].getContext("2d"),y=r.getImageData(0,0,u*h,v*h));var n,g=e.getViewport(1),l=g.width,m=g.height;if(0>=l||0>=m)a.empty().append(document.createTextNode(pdfemb_trans.objectL10n.widthheightinvalid));else{var q=a.parent().width(),g=l,p=m;if("max"==a.data("width"))g=q;else if("auto"==a.data("width"))g=l;else if(g=parseInt(a.data("width"),10),isNaN(g)||0>=g)g=q;0>=g&&(g=l);g>q&&0<q&&(g=q);n=g/l;var p=m*n,w=a.find("div.pdfemb-toolbar-fixed"),
|
17 |
+
t=(q=pdfembWantMobile(c,a,g,k))?0:w.length,k=parseInt(a.data("height"),10);if(isNaN(k)||0>=k||k>p)k="auto"==a.data("height")?a.parent().height()-t*w.height():p;var g=Math.floor(g),p=Math.floor(p),x=100,l=g,m=p,A=0,B=0;q||(x=a.data("zoom"),l=g*x/100,m=p*x/100,l<g&&(A=(g-l)/2),m<k&&(B=(k-m)/2));var C=e.getViewport(n*x/100);g!=a.width()&&a.width(g);a.height()!=k&&a.height(k+t*w.height());n=a.find("div.pdfemb-inner-div");var E=n[0].scrollLeft,z=n[0].scrollTop;n.width(g);n.height(k);w=w.filter(".pdfemb-toolbar-top");
|
18 |
+
0<t&&n.css("top",w.height());f[0].width=l*h;f[0].height=m*h;f.css("width",l);f.css("height",m);f.css("left",A).css("top",B);(l>g||m>p||m>k)&&!q?(k=a.data("fromZoom"),t=a.data("toZoom"),0<k&&0<t&&(z+=p/2,n.scrollLeft((E+g/2)*t/k-g/2),n.scrollTop(z*t/k-p/2)),a.data("grabtopan").activate()):("on"==a.data("fullScreen")?a.data("grabtopan").activate():a.data("grabtopan").deactivate(),a.find("div.pdfemb-inner-div").scrollLeft(0).scrollTop(0));a.data("fromZoom",0).data("toZoom",0);pdfembMakeMobile(c,q,a);
|
19 |
+
if(b)a.data("pagenum",d),a.data("pageRendering",!1),f=c("<canvas>").attr("width",y.width).attr("height",y.height)[0],f.getContext("2d").putImageData(y,0,0),r.scale(l/u,m/v),r.drawImage(f,0,0);else{var D=f[0].getContext("2d");e.render({canvasContext:D,viewport:C,transform:[h,0,0,h,0,0]}).promise.then(function(){"function"==typeof pdfembPremiumPreRenderCanvas&&c.isArray(pdfemb_trans.watermark_map)&&0<pdfemb_trans.watermark_map.length&&(-1==a.data("pdf-url").search("/?pdfemb-serveurl=")||"undefined"!=
|
20 |
+
typeof pdfemb_trans.watermark_evenpagesonly&&pdfemb_trans.watermark_evenpagesonly&&0!=d%2||pdfembPremiumPreRenderCanvas(c,D,pdfemb_trans.watermark_map,x));a.data("pagenum",d);a.data("pageRendering",!1);a.find("div.pdfemb-toolbar .pdfemb-page-num").each(function(a,b){var e=c(b);e.is("span")?e.text(d):e.val(d)});d<a.data("pageCount")?(a.find(".pdfemb-next").removeAttr("disabled").removeClass("pdfemb-btndisabled"),a.find(".pdfemb-pageturner-bottomright").removeClass("pdfemb-pageturner-disabled")):(a.find(".pdfemb-next").attr("disabled",
|
21 |
+
"disabled").addClass("pdfemb-btndisabled"),a.find(".pdfemb-pageturner-bottomright").addClass("pdfemb-pageturner-disabled").removeClass("pdfemb-pageturner-arrow"));1<d?(a.find(".pdfemb-prev").removeAttr("disabled").removeClass("pdfemb-btndisabled"),a.find(".pdfemb-pageturner-bottomleft").removeClass("pdfemb-pageturner-disabled")):(a.find(".pdfemb-prev").attr("disabled","disabled").addClass("pdfemb-btndisabled"),a.find(".pdfemb-pageturner-bottomleft").addClass("pdfemb-pageturner-disabled").removeClass("pdfemb-pageturner-arrow"));
|
22 |
var b=c.fn.pdfEmbedder.annotationsLayerFactory.createAnnotationsLayerBuilder(a.find("div.pdfemb-inner-div")[0],e);null!=b&&(a.find("div.pdfembAnnotationLayer").remove(),b.setupAnnotations(C,a.data("newwindow")));null!==a.data("pageNumPending")&&(c.fn.pdfEmbedder.renderPage(a,a.data("pageNumPending")),a.data("pageNumPending",null))})}}})};c.fn.pdfEmbedder.queueRenderPage=function(a,d,b){a.data("pageRendering")?a.data("pageNumPending",d):c.fn.pdfEmbedder.renderPage(a,d,b)};c.fn.pdfEmbedder.goFullScreen=
|
23 |
function(a){a=c('<div class="pdfemb-fs-window"></div>');c(document.body).append(a)};c.fn.pdfEmbedder.changeZoom=function(a,d){var b=a.data("zoom"),e=b+d;a.data("zoom",e);a.find("span.pdfemb-zoom").text(e+"%");c.fn.pdfEmbedder.queueRenderPage(a,a.data("pagenum"));a.data("fromZoom",b).data("toZoom",e)};c.fn.pdfEmbedder.magnifyZoom=function(a,d){var b=a.data("zoom"),e=Math.floor(b*d);20>e&&(e=20);500<e&&(e=500);a.data("zoom",e);a.find("span.pdfemb-zoom").text(e+"%");c.fn.pdfEmbedder.queueRenderPage(a,
|
24 |
a.data("pagenum"),!0);a.data("fromZoom",b).data("toZoom",e)};c.fn.pdfEmbedder.addToolbar=function(a,d,b,e){var f=c("<div></div>",{"class":"pdfemb-toolbar pdfemb-toolbar"+(b?"-fixed":"-hover")+" "+(d?" pdfemb-toolbar-top":"pdfemb-toolbar-bottom")}),h=c('<button class="pdfemb-prev" title="'+pdfemb_trans.objectL10n.prev+'" type="button"></button>');f.append(h);var r=c('<button class="pdfemb-next" title="'+pdfemb_trans.objectL10n.next+'" type="button"></button>');f.append(r);f.append(c('<div class="pdfemb-page-area">'+
|
js/pdfemb-embed-pdf.js
CHANGED
@@ -72,11 +72,11 @@ jQuery(document).ready(function ($) {
|
|
72 |
|
73 |
var toolbar_location = divContainer.data('toolbar');
|
74 |
|
75 |
-
if (toolbar_location
|
76 |
$.fn.pdfEmbedder.addToolbar(divContainer, true, divContainer.data('toolbar-fixed') == 'on', showIsSecure);
|
77 |
}
|
78 |
|
79 |
-
if (toolbar_location
|
80 |
$.fn.pdfEmbedder.addToolbar(divContainer, false, divContainer.data('toolbar-fixed') == 'on', showIsSecure);
|
81 |
}
|
82 |
|
@@ -168,6 +168,10 @@ jQuery(document).ready(function ($) {
|
|
168 |
|
169 |
});
|
170 |
|
|
|
|
|
|
|
|
|
171 |
// Initial/first page rendering
|
172 |
|
173 |
divContainer.data('pageCount', pdfDoc_.numPages);
|
@@ -520,16 +524,20 @@ jQuery(document).ready(function ($) {
|
|
520 |
|
521 |
if (pageNum < divContainer.data("pageCount")) {
|
522 |
divContainer.find('.pdfemb-next').removeAttr('disabled').removeClass('pdfemb-btndisabled');
|
|
|
523 |
}
|
524 |
else {
|
525 |
divContainer.find('.pdfemb-next').attr('disabled','disabled').addClass('pdfemb-btndisabled');
|
|
|
526 |
}
|
527 |
|
528 |
if (pageNum > 1) {
|
529 |
divContainer.find('.pdfemb-prev').removeAttr('disabled').removeClass('pdfemb-btndisabled');
|
|
|
530 |
}
|
531 |
else {
|
532 |
divContainer.find('.pdfemb-prev').attr('disabled','disabled').addClass('pdfemb-btndisabled');
|
|
|
533 |
}
|
534 |
|
535 |
// Do annotations layer
|
72 |
|
73 |
var toolbar_location = divContainer.data('toolbar');
|
74 |
|
75 |
+
if (toolbar_location == 'top' || toolbar_location == 'both') {
|
76 |
$.fn.pdfEmbedder.addToolbar(divContainer, true, divContainer.data('toolbar-fixed') == 'on', showIsSecure);
|
77 |
}
|
78 |
|
79 |
+
if (toolbar_location == 'bottom' || toolbar_location == 'both') {
|
80 |
$.fn.pdfEmbedder.addToolbar(divContainer, false, divContainer.data('toolbar-fixed') == 'on', showIsSecure);
|
81 |
}
|
82 |
|
168 |
|
169 |
});
|
170 |
|
171 |
+
if (typeof(pdfembAddPageTurners) == 'function' && divContainer.data('pageturners') == 'on') {
|
172 |
+
pdfembAddPageTurners(divContainer);
|
173 |
+
}
|
174 |
+
|
175 |
// Initial/first page rendering
|
176 |
|
177 |
divContainer.data('pageCount', pdfDoc_.numPages);
|
524 |
|
525 |
if (pageNum < divContainer.data("pageCount")) {
|
526 |
divContainer.find('.pdfemb-next').removeAttr('disabled').removeClass('pdfemb-btndisabled');
|
527 |
+
divContainer.find('.pdfemb-pageturner-bottomright').removeClass('pdfemb-pageturner-disabled');
|
528 |
}
|
529 |
else {
|
530 |
divContainer.find('.pdfemb-next').attr('disabled','disabled').addClass('pdfemb-btndisabled');
|
531 |
+
divContainer.find('.pdfemb-pageturner-bottomright').addClass('pdfemb-pageturner-disabled').removeClass('pdfemb-pageturner-arrow');
|
532 |
}
|
533 |
|
534 |
if (pageNum > 1) {
|
535 |
divContainer.find('.pdfemb-prev').removeAttr('disabled').removeClass('pdfemb-btndisabled');
|
536 |
+
divContainer.find('.pdfemb-pageturner-bottomleft').removeClass('pdfemb-pageturner-disabled');
|
537 |
}
|
538 |
else {
|
539 |
divContainer.find('.pdfemb-prev').attr('disabled','disabled').addClass('pdfemb-btndisabled');
|
540 |
+
divContainer.find('.pdfemb-pageturner-bottomleft').addClass('pdfemb-pageturner-disabled').removeClass('pdfemb-pageturner-arrow');
|
541 |
}
|
542 |
|
543 |
// Do annotations layer
|
pdf_embedder.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin Name: PDF Embedder
|
5 |
* Plugin URI: http://wp-pdf.com/
|
6 |
* Description: Embed PDFs straight into your posts and pages, with flexible width and height. No third-party services required.
|
7 |
-
* Version: 2.
|
8 |
* Author: Dan Lester
|
9 |
* Author URI: http://wp-pdf.com/
|
10 |
* License: GPL3
|
@@ -15,7 +15,7 @@ require_once( plugin_dir_path(__FILE__).'/core/core_pdf_embedder.php' );
|
|
15 |
|
16 |
class pdfemb_basic_pdf_embedder extends core_pdf_embedder {
|
17 |
|
18 |
-
protected $PLUGIN_VERSION = '2.
|
19 |
|
20 |
protected function useminified() {
|
21 |
/* using-minified */ return true;
|
@@ -48,18 +48,18 @@ class pdfemb_basic_pdf_embedder extends core_pdf_embedder {
|
|
48 |
|
49 |
public function pdfemb_wp_enqueue_scripts() {
|
50 |
if (!$this->useminified()) {
|
51 |
-
wp_register_script( 'pdfemb_versionspecific_pdf_js', $this->my_plugin_url().'js/pdfemb-basic.js', array('jquery'));
|
52 |
-
wp_register_script( 'pdfemb_grabtopan_js', $this->my_plugin_url().'js/grabtopan-basic.js', array('jquery'));
|
53 |
-
wp_register_script( 'pdfemb_embed_pdf_js', $this->my_plugin_url().'js/pdfemb-embed-pdf.js', array('pdfemb_versionspecific_pdf_js', 'pdfemb_grabtopan_js', 'jquery') );
|
54 |
}
|
55 |
else {
|
56 |
-
wp_register_script( 'pdfemb_embed_pdf_js', $this->my_plugin_url().'js/all-pdfemb-basic.min.js', array('jquery') );
|
57 |
}
|
58 |
|
59 |
wp_localize_script( 'pdfemb_embed_pdf_js', 'pdfemb_trans', $this->get_translation_array() );
|
60 |
|
61 |
-
wp_register_script( 'pdfemb_compat_js', $this->my_plugin_url().'js/pdfjs/compatibility'.($this->useminified() ? '.min' : '').'.js');
|
62 |
-
wp_register_script( 'pdfemb_pdf_js', $this->my_plugin_url().'js/pdfjs/pdf'.($this->useminified() ? '.min' : '').'.js', array('pdfemb_compat_js'));
|
63 |
}
|
64 |
|
65 |
protected function get_extra_js_name() {
|
@@ -82,9 +82,9 @@ class pdfemb_basic_pdf_embedder extends core_pdf_embedder {
|
|
82 |
|
83 |
<br class="clear" />
|
84 |
|
85 |
-
<label for="
|
86 |
<span>
|
87 |
-
<label for="
|
88 |
</span>
|
89 |
|
90 |
<br class="clear" />
|
@@ -94,6 +94,14 @@ class pdfemb_basic_pdf_embedder extends core_pdf_embedder {
|
|
94 |
<label for="pdfemb_newwindow" class="checkbox plain"><?php esc_html_e('Open links in a new browser tab/window', 'pdf-embedder'); ?></label>
|
95 |
</span>
|
96 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
<br class="clear" />
|
98 |
|
99 |
<label for="pdfemb_scrolltotop" class="textinput"><?php esc_html_e('Scroll to Top', 'pdf-embedder'); ?></label>
|
@@ -141,7 +149,8 @@ class pdfemb_basic_pdf_embedder extends core_pdf_embedder {
|
|
141 |
<li>Mobile Friendly</li>
|
142 |
<li>Download Button</li>
|
143 |
<li>Full screen button</li>
|
144 |
-
|
|
|
145 |
<li>Jump to page number</li>
|
146 |
<li>Track views and downloads</li>
|
147 |
<li>Remove link to wp-pdf.com</li>
|
4 |
* Plugin Name: PDF Embedder
|
5 |
* Plugin URI: http://wp-pdf.com/
|
6 |
* Description: Embed PDFs straight into your posts and pages, with flexible width and height. No third-party services required.
|
7 |
+
* Version: 2.8
|
8 |
* Author: Dan Lester
|
9 |
* Author URI: http://wp-pdf.com/
|
10 |
* License: GPL3
|
15 |
|
16 |
class pdfemb_basic_pdf_embedder extends core_pdf_embedder {
|
17 |
|
18 |
+
protected $PLUGIN_VERSION = '2.8';
|
19 |
|
20 |
protected function useminified() {
|
21 |
/* using-minified */ return true;
|
48 |
|
49 |
public function pdfemb_wp_enqueue_scripts() {
|
50 |
if (!$this->useminified()) {
|
51 |
+
wp_register_script( 'pdfemb_versionspecific_pdf_js', $this->my_plugin_url().'js/pdfemb-basic.js', array('jquery'), $this->PLUGIN_VERSION);
|
52 |
+
wp_register_script( 'pdfemb_grabtopan_js', $this->my_plugin_url().'js/grabtopan-basic.js', array('jquery'), $this->PLUGIN_VERSION);
|
53 |
+
wp_register_script( 'pdfemb_embed_pdf_js', $this->my_plugin_url().'js/pdfemb-embed-pdf.js', array('pdfemb_versionspecific_pdf_js', 'pdfemb_grabtopan_js', 'jquery'), $this->PLUGIN_VERSION );
|
54 |
}
|
55 |
else {
|
56 |
+
wp_register_script( 'pdfemb_embed_pdf_js', $this->my_plugin_url().'js/all-pdfemb-basic.min.js', array('jquery'), $this->PLUGIN_VERSION );
|
57 |
}
|
58 |
|
59 |
wp_localize_script( 'pdfemb_embed_pdf_js', 'pdfemb_trans', $this->get_translation_array() );
|
60 |
|
61 |
+
wp_register_script( 'pdfemb_compat_js', $this->my_plugin_url().'js/pdfjs/compatibility'.($this->useminified() ? '.min' : '').'.js', array(), $this->PLUGIN_VERSION);
|
62 |
+
wp_register_script( 'pdfemb_pdf_js', $this->my_plugin_url().'js/pdfjs/pdf'.($this->useminified() ? '.min' : '').'.js', array('pdfemb_compat_js'), $this->PLUGIN_VERSION);
|
63 |
}
|
64 |
|
65 |
protected function get_extra_js_name() {
|
82 |
|
83 |
<br class="clear" />
|
84 |
|
85 |
+
<label for="pdfemb_pageturners" class="textinput"><?php esc_html_e('Page Turners', 'pdf-embedder'); ?></label>
|
86 |
<span>
|
87 |
+
<label for="pdfemb_pageturners" class="checkbox plain"><?php esc_html_e('Page turner arrows when hovering over edges of PDF', 'pdf-embedder'); ?></label>
|
88 |
</span>
|
89 |
|
90 |
<br class="clear" />
|
94 |
<label for="pdfemb_newwindow" class="checkbox plain"><?php esc_html_e('Open links in a new browser tab/window', 'pdf-embedder'); ?></label>
|
95 |
</span>
|
96 |
|
97 |
+
|
98 |
+
<br class="clear" />
|
99 |
+
|
100 |
+
<label for="pdfemb_tracking" class="textinput"><?php esc_html_e('Track Views/Downloads', 'pdf-embedder'); ?></label>
|
101 |
+
<span>
|
102 |
+
<label for="pdfemb_tracking" class="checkbox plain"><?php esc_html_e('Count number of views and downloads', 'pdf-embedder'); ?></label>
|
103 |
+
</span>
|
104 |
+
|
105 |
<br class="clear" />
|
106 |
|
107 |
<label for="pdfemb_scrolltotop" class="textinput"><?php esc_html_e('Scroll to Top', 'pdf-embedder'); ?></label>
|
149 |
<li>Mobile Friendly</li>
|
150 |
<li>Download Button</li>
|
151 |
<li>Full screen button</li>
|
152 |
+
<li>Working Hyperlinks</li>
|
153 |
+
<li>Page Turners</li>
|
154 |
<li>Jump to page number</li>
|
155 |
<li>Track views and downloads</li>
|
156 |
<li>Remove link to wp-pdf.com</li>
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: danlester
|
3 |
Tags: doc, docx, pdf, office, powerpoint, google, document, embed, intranet
|
4 |
Requires at least: 3.5
|
5 |
-
Tested up to: 4.
|
6 |
-
Stable tag: 2.
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
@@ -26,8 +26,11 @@ Hyperlinks in your PDF will only be clickable in the Premium versions.
|
|
26 |
|
27 |
**Now translation-ready!** Please contribute your translations.
|
28 |
|
29 |
-
|
30 |
-
|
|
|
|
|
|
|
31 |
|
32 |
|
33 |
= Usage =
|
@@ -45,6 +48,7 @@ To override your site-wide defaults on an individual embed, see the [Plugin Inst
|
|
45 |
> **Extra Premium Features**
|
46 |
>
|
47 |
> * Download button in the toolbar.
|
|
|
48 |
> * Hyperlinks are fully functional.
|
49 |
> * Full screen mode.
|
50 |
> * Edit page number to jump straight to page.
|
@@ -171,6 +175,10 @@ the Plugins section of your Wordpress admin
|
|
171 |
|
172 |
== Changelog ==
|
173 |
|
|
|
|
|
|
|
|
|
174 |
= 2.7.5 =
|
175 |
|
176 |
Fix for a small number of PDFs rendering as smaller than expected on some high resolution screens.
|
2 |
Contributors: danlester
|
3 |
Tags: doc, docx, pdf, office, powerpoint, google, document, embed, intranet
|
4 |
Requires at least: 3.5
|
5 |
+
Tested up to: 4.7
|
6 |
+
Stable tag: 2.8
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
26 |
|
27 |
**Now translation-ready!** Please contribute your translations.
|
28 |
|
29 |
+
Persian translation by Mostafa Safarian of [سئو](http://www.greenseo.ir/)
|
30 |
+
|
31 |
+
French translation by Thierry Gaillou of [JDFitForme](http://www.jdfitforme.fr/)
|
32 |
+
|
33 |
+
Spanish translation by Armando Landois of [LANDOIS Diseño](https://landois.com/)
|
34 |
|
35 |
|
36 |
= Usage =
|
48 |
> **Extra Premium Features**
|
49 |
>
|
50 |
> * Download button in the toolbar.
|
51 |
+
> * Continuous scroll between pages.
|
52 |
> * Hyperlinks are fully functional.
|
53 |
> * Full screen mode.
|
54 |
> * Edit page number to jump straight to page.
|
175 |
|
176 |
== Changelog ==
|
177 |
|
178 |
+
= 2.8 =
|
179 |
+
|
180 |
+
Internal code refactoring. Added note that 'page turning arrows' are now available in the premium versions.
|
181 |
+
|
182 |
= 2.7.5 =
|
183 |
|
184 |
Fix for a small number of PDFs rendering as smaller than expected on some high resolution screens.
|