我想要一个带有PDF文档的框架。主文档将使用javascript来告诉PDF文档要显示的页面和缩放级别。这可以做到吗?如果是这样,你如何或可以指向我的文档。谢谢。在网络浏览器中使用javascript控制PDF
回答
您不能/不应该在框架中执行此操作,但您可以在页面上创建一个<object>
,该页面可以使用JavaScript API进行控制。
http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/js_api_reference.pdf
不容易。这完全取决于在浏览器中显示PDF的用途。并非所有浏览器都有内置的PDF查看器,然后还有许多不同的外部查看器(例如Acrobat,Fox-It等)。据我所知,有
你可以尝试破解了这样的网址:
http://example.com/somedocument.pdf#page=5
但这可能仅Acrobat工作,如记录在这里:http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf
至少'page'参数适用于目前为止我所见过的大多数PDF插件。 – Michael
看一看jsPDF - 由于datauri的限制,它可能不会在IE6和IE7屏幕上输出.pdf,但它是一个很好的开始。我不明白为什么这不能建立在iframe中。
您是否需要PDF阅读器才能加载并运行?如果没有,您可以编写一个后端脚本/程序,以特定缩放级别将指定页面呈现为图像(GIF,PNG等)。然后你的主页可以用像加载图像:
<img src="render_pdf?page=4&zoom=150">
的src
值可以用JavaScript来使其动态控制。
要从PDF转换为render_pdf脚本中的图像,可以使用ghostscript或图像特定的库,如ImageMagick或GD,具体取决于您使用的后端技术。
正如Jordan指出的,您应该使用<object>
标签来嵌入PDF。然后,在PDF本身,你需要嵌入Javascript功能来处理你传递的消息,如:
if(!this.hostContainer.messageHandler) this.hostContainer.messageHandler = new Object();
this.hostContainer.messageHandler.onMessage = handleMessage;
function handleMessage(msg) {
// do stuff here
}
最后,在你的HTML JS,你传递消息在:
document.getElementById('yourpdfobject').postMessage('some message or array');
- 1. 在网络浏览器控制中使用代理服务器
- 2. 网络浏览器控制版本
- 3. 网络浏览器控制SPDY
- 4. 在wpf网络浏览器控件中浏览安全网页
- 5. 想要使用网络浏览器控制保存网页
- 6. 使用iText在网络浏览器中显示PDF文件
- 7. 在网络浏览器控件中使用变量
- 8. 脚本不能在网络浏览器控制中工作
- 9. 如何使用网络浏览器控件从流中显示PDF文档
- 10. Amazon DynamoDB在浏览器JavaScript中使用的网络错误
- 11. 如何在浏览器中使用网页浏览器控件?
- 12. JavaScript控制台在浏览器中
- 13. 从网络浏览器运行的JavaScript
- 14. 检查用户登录或网络浏览器控制也不
- 15. Windows Phone 7网络浏览器控制用户代理
- 16. 用任何语言控制“虚拟网络浏览器”
- 17. 如何在网络浏览器中打开pdf文件?
- 18. 使用JavaScript创建文件而不使用网络浏览器
- 19. 禁用用户在网络浏览器中调用控制台的功能
- 20. 使用网络浏览器的P2P
- 21. 使用网络浏览器控件隐藏来自WP8中Javascript的警告框
- 22. 如何使用网络浏览器访问网站资源文件控制台
- 23. Web浏览器中的Javascript控制台
- 24. Javascript console.log在浏览器控制台
- 25. 如何在网络浏览器中保存PDF文件 - 使用小书签?
- 26. 在网络浏览器中嵌入unity3d网络播放器
- 27. Android:在网络浏览器中的GPS
- 28. 网络要点在浏览器中
- 29. 如何通过浏览器使用javascript访问和浏览网络共享?
- 30. 自动网络浏览器?
这看起来不仅是我需要的东西,还有更多。谢谢!一个问题 - 我在具有该对象的网页中如何从脚本引用文档,然后使用adobe的api中描述的javascript来处理它。你能举一个简单的例子吗? – thf
我真的想检查这个答案,但我仍然需要如何控制它的答案。 – thf