pdf - teclas - google docs excel
cómo abrir una página específica en el visor de documentos de Google (5)
Encontré estos dos:
1) solo una captura de pantalla (imagen) de una página específica ( sin navegación):
https://docs.google.com/viewer?url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true&a=bi&pagenumber=12
2) un enlace a una página específica de PDF en IFRAME ( con navegación):
<script>
var docURL=''https://docs.google.com/viewer?url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true'';
var startPAGE=7;
document.write(''<iframe id="iframe1" onload="javascript:go_to_page(''+ startPAGE +'')" src="https://docs.google.com/viewer?url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true"width="600" height="400" ></iframe>'');
function go_to_page(varr) { document.getElementById("iframe1").setAttribute("src", docURL + ''#:0.page.''+ (varr-1) );}
</script>
ps, entonces puedes tener en tu sitio web <a href="javascript:go_to_page(''3'');">go to page 3</a>
Estoy usando el visor de documentos de Google para mostrar un documento pdf en una página html y me gustaría abrir el documento que comienza en la página 20 en lugar de 1, por ejemplo.
No hay casi ninguna documentación sobre el servicio de visor de documentos de Google. Dicen en su página web https://docs.google.com/viewer que el servicio solo acepta dos parámetros (url e incrustado) pero he visto otros parámetros buscando en la web, como "a", "pagenumber", "v "y" attid ", ninguno de ellos me hizo nada. He intentado agregar #: 0.page.19 al final de mi url (ese es el id del div que contiene la página número 20 dentro del cuerpo que crea google) pero simplemente lo ignora o funciona de manera aleatoria.
¿Saben cómo decirle al visor de Google Docs que muestre el documento comenzando en una página específica?
Encontré una solución que publicaré aquí en caso de que alguien se encuentre en la misma situación.
Cada página dentro del visor de documentos de google, iframe, tiene una identificación como :0.page.X
, siendo X el número de la página. Llamando así al servicio.
<iframe id="iframe1" src="http://docs.google.com/gview?url=http://yourpdf&embedded=true#:0.page.20">
no funcionará (tal vez porque los identificadores de las páginas aún no se han creado cuando se representa la página)
Así que solo tienes que agregar un atributo onload al iframe:
<iframe id="iframe1" src="http://docs.google.com/gview?url=http://yourpdf&embedded=true" onload="javascript:this.contentWindow.location.hash='':0.page.20'';">
y voilà, el iframe se desplazará automáticamente hacia abajo después de la carga.
Tenga en cuenta que los índices de página están basados en cero. Si desea ver la vigésima página de un documento en el visor, necesitará utilizar el parámetro :0.page.19
Lo tengo funcionando en el visor incrustado.
Al cambiar la URL con una función de tiempo de espera, esto se debe a que el pdf no se muestra directamente
$(window).load(function() { setTimeout(function() { $(''.gde-frame'').attr(''src'', '' https://docs.google.com/viewer?url=http://yourdomain.com/yourpdf.pdf&hl=nl&embedded=true#:0.page.15 ''); }, 1000);
});
Simplemente copie la URL incorporada y agregue su hash para la página (#: 0.página.15> irá a la página 15)
Es posible que desee cambiar el idioma a su propio & hl = nl
y para la gente ¿cómo tienen que apoyar ie8
Si usas un repetitivo como este:
<!--[if IE 8 ]> <html class="no-js ie8" lang="en"> <![endif]-->
Puedes cambiar la salida del enlace directamente al pdf como este,
if( $("html").hasClass("ie8") ) {
$(''#linkID'').attr(''href'', ''http://yourdomai.com/yourpdf.pdf'');
};
El pdf se mostrará en el lector de pdf de IE.
Mi PDF tiene 13 páginas, pero cuando usé hash: 0.page.13
, solo salté a la página 10. Tuve que configurar Timeout y volver a llamar a la misma función:
Solo se necesita hacer eso una vez por carga de página, luego parece estar sincronizado correctamente. Estoy seguro de que hay una solución más elegante:
var is_caught_up = false;
function pdf_go(page){
$(''pdf_frame'').contentWindow.location.hash='':0.page.''+page;
if (!is_caught_up){
setTimeout(''pdf_catchup(''+page+'')'', 500);
}
}
function pdf_catchup(page){
$(''pdf_frame'').contentWindow.location.hash='':0.page.''+page;
is_caught_up = true;
}
Para mí, esta solución no funcionó con la versión actual de google viewer. El enlace a una página específica en Google Document Viewer en iPad me ayudó. Use & a = bi & pagenumber = xx como parámetro de URL adicional.