如何在Google的文档查看器上打开特定页面

Jua*_*uan 19 pdf google-docs

我正在使用谷歌的文档查看器在html页面中显示pdf文档,我想打开从第20页开始的文档,而不是例如1.

几乎没有关于Google的文档查看器服务的文档.他们在其网页https://docs.google.com/viewer中说该服务只接受两个参数(网址和嵌入式),但我看到其他参数在网上搜索,例如"a","pagenumber","v "和"attid",他们都没有对我做任何事.我试图在我的网址末尾添加#:0.page.19(这是包含谷歌内部页面编号为20的div的ID)但它只是忽略它或以随机方式工作.

你们知道如何告诉谷歌文档查看器在特定页面上显示文档吗?

Jua*_*uan 16

我找到了一个解决方案,我会在这里发布,以防有​​人处于同样的情况.

google的docs viewer iframe中的每个页面都有一个id :0.page.X,例如X是页面的编号.像这样调用服务

<iframe id="iframe1" src="http://docs.google.com/gview?url=http://yourpdf&embedded=true#:0.page.20">
Run Code Online (Sandbox Code Playgroud)

将无法工作(可能是因为在呈现页面时尚未创建页面ID?)

所以你只需要向iframe添加一个onload属性:

<iframe id="iframe1" src="http://docs.google.com/gview?url=http://yourpdf&embedded=true" onload="javascript:this.contentWindow.location.hash=':0.page.20';">
Run Code Online (Sandbox Code Playgroud)

并且,iframe将在加载后自动向下滚动.

请注意,页面索引从零开始.如果要在查看器中查看文档的第20页,则需要使用该参数:0.page.19

  • 如果你拥有的文件有不同的协议(http vs https),它对我不起作用.我一直在寻求不安全的JavaScript尝试访问框架......有没有解决方案 (2认同)