Esta respuesta es totalmente teorica no he podido comprobarlo, estoy fuera de mi casa por unos días y no traje mi pc respondo full celular, haré mi mejor intento:
Se supone que si usas en html un elemento iframe, object o embed para pdf, y a este le das la url:
esquema://url/dir/file.pdf#page=×
Te mostrará la página x del pdf en cuestión
Si es así sería trabajo de js y no php, solo usaría php para el control de la cantidad de pags que tiene el pdf, ojo que como es js este control es solo para una mejor experiencia para el usuario, nada más. Digo esto, ya que entiendo que no se puede obtener este dato mediante js por motivos de seguridad, cabe destacar que usare la clase
Imagick que no la he probado, dicho esto vamos.
php:
Código PHP:
Ver original<?php
$file = "somePDF.pdf"; //pdf file
$wid = "pdf-view"; //embed id 4 js work
$wcid = "pdf-view-control"; //pagin sign control id 4 js work
$pdf = new Imagick($file);
$pages = $pdf->getNumberImages();
echo "<embed src=\"$file#page=1\" id=\"$wid\" ptotal=\"$pages\" />
<div>Page <b id=\"$wcid\">1</b> of <b>$pages</b>
<input type=\"button\" value=\"-\" onclick=\"pdfChangePag('$wid', '$wcid', 'down');\" />
<input type=\"button\" value=\"+\" onclick=\"pdfChangePag('$wid', '$wcid', 'up');\" />
</div>";
?>
JS:
Código Javascript
:
Ver originalfunction pdfChangePag(f, fc, a){
var frame = document.getElementById(f);
var control = document.getElementById(fc);
var max = parseInt(frame.getAttribute("ptotal"));
var spl = frame.src.split("#");
var pag = parseInt(spl[spl.length-1].replace("page=", ""));
if(a == "up" && pag+1 <= max){ pag++; } else if(a == "down" && pag-1 >= 1){ pag--; }else{ return 0; }
frame.src = spl[0]+"#page="+pag;
control.innerHTML = pag;
}
Eso sería, nuevamente no se si es correcto, pero no tengo como comprobar, ese sería mi aporte
P.S: que incomodo escribir codigo con celular jajaja
Saludos