【问题标题】:Embed javascript to existing pdf将 javascript 嵌入到现有的 pdf
【发布时间】:2010-12-08 16:23:27
【问题描述】:


我正在像这样将 pdf 文件嵌入到我的 asp.net 页面中

<object data="..." type="application/pdf" width="300" height="200">
</object>

问题是我已经为 pdf 创建了自己的工具栏,并且想要从我的工具栏图像按钮放大、缩小文档。我知道我可以在从头开始创建文档时将 JavaScript 嵌入到 pdf 文档中,但是如何在只有该文档的路径的 html 中将 javascript 嵌入到 pdf 中?

【问题讨论】:

  • 您无法从封闭的 HTML 页面中的脚本访问 PDF 的内部对象模型。它们是完全不同的环境,与 Flash 不同,Adobe 没有构建类似 ExternalInterface 的 API 来桥接它们。就其价值而言,IMO 嵌入式 PDF 是卑鄙的,是一个安全和可用性灾难区。

标签: c# asp.net html pdf acrobat


【解决方案1】:

让 pdf 文档加载。文档准备好后,注入 Javascript。

但是,请注意,您的浏览器执行的 Javascript 与您的浏览器的 Adob​​e 阅读器插件执行的 Javascript 不同。结构相似,但 DOM 完全不同。

此外,您的 HTML 文档中的 Javascript 不能直接访问/修改加载的 pdf 文档的 DOM。为此,您将需要通过阅读器插件。很抱歉我没有以这种方式使用阅读器插件。看看 API:

http://www.adobe.com/devnet/acrobat/pdfs/js_api_reference.pdf

并阅读本指南:

http://www.adobe.com/devnet/acrobat/pdfs/Acro6JSGuide.pdf

这些可能是您最好的选择,因为 SO 上似乎很少有人在为 pdf 编写 Javascript。我之前问了几个问题,但没有得到任何答复:(

【讨论】:

  • 感谢重播,但是有没有办法直接从html注入?如何知道文件是否加载?我的 html 对象标签是动态生成的
  • 非常感谢@Crimson,我在pdf文件中手动添加了js,效果很好
猜你喜欢
  • 2011-01-21
  • 1970-01-01
  • 2017-08-13
  • 2010-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-29
相关资源
最近更新 更多