在 PDF 文件中使用 JavaScript 代码的文档

IT技术 javascript pdf documentation acrobat pdf-manipulation
2021-03-08 06:18:31

我在哪里可以找到文件上运行的PDF中的JavaScript代码?

我从未在 PDF 文档中添加过 JavaScript 操作。但是,我已经使用 JavaScript 进行了相当多的 Web 开发。我有几个问题要问任何熟悉 PDF 文档中的 JavaScript 的人。

NitroPDF 和 Adob​​e Acrobat 绝对支持 PDF 文件中的 JavaScript。是否有关于存在的各种对象以及通过 JavaScript 操作 PDF 文件的功能的标准? 到目前为止,我发现的所有内容都来自 Adob​​e。其他任何地方似乎都参考了 Adob​​e 的文档。是否有标准,或者 Adob​​e 只是“事实上的”标准?

此外,所有 PDF 查看器都支持 JavaScript 操作吗?

我能找到的关于在 PDF 文档中使用 JavaScript 的最佳文档来自 Adob​​e- Adobe::Acrobat JavaScript Scripting Guide

NitroPDF 有这个链接 - NitroPDF :: JavaScript in PDF Files,但它基本上只是说它支持 Adob​​e 所拥有的。

我还从 Scribus - Scribus :: How to Enhance your PDF forms with JavaScript 中找到了这个链接,但这仅包含一些小代码片段。没有什么超级有用的。

Adobe 有关于如何使用他们的 IDE 为 JavaScript 设置断点等的文档。是否可以使用另一个 IDE 在 PDF 文件中运行 JavaScript 并具有断点等...?找到像Firebug一样酷的东西会很棒

笔记:

请不要回答如何操作在网络浏览器中加载的 PDF。问题是关于从 PDF 文档中运行 JavaScript。我正在尝试通过在 PDF 文档中执行 JavaScript 来探索可用的可能性。具体来说,我可能会使用quickpdflibrary中的函数将 JavaScript 功能添加到现有文档中。

另一个有用的链接是使用 Acrobat JavaScript 开发显然,PDF 中的 JavaScript 代码通常称为 AcroJS 或 Acrobat JavaScript。

5个回答

您可能正在寻找JavaScript™ for Acrobat® API 参考

这个参考应该是最全的。但是,正如@Orbling 所说,并非所有 PDF 查看器都可能支持所有 API。

编辑:

事实证明,Acrobat SDK 中有更新版本的参考文献(感谢 @jss)。

Acrobat Developer Center包含指向不同版本文档的链接。从 Acrobat DC SDK 获得的 JavaScript 参考的当前版本也可以在那里获得。

就我所记得的阅读而言,一些核心 (Acrobat) JavaScript 将成为 ISO 32000 下一版本的一部分……当然,这取决于 PDF 查看器制造商是否希望符合 ISO 32000。FWIW,支持某些 JavaScript 的“更好”的 PDF 查看器制造商确实在他们的支持页面中概述了他们支持的内容,否则,您可以向他们寻求支持以获取此信息。
2021-04-25 06:18:31
请注意其他人,此参考自 2007 年以来未更新Max Wyss 的回答是 Adob​​e 提供的最新文档
2021-04-26 06:18:31
@Bobrovsky 是的。他们对 Acrobat 的每个版本都做了一个新的 Javascript 参考,最近的更新是几个月前的。我认为 8.1 版是 Adob​​e 提供的最后一个 Javascript 参考,它没有与整个 SDK 包捆绑在一起,尽管他们在 2012 年停止支持 Acrobat 8​​,但无论出于何种原因,他们都没有将其删除。
2021-04-26 06:18:31
@jss 您是否检查过 Acrobat SDK?它是否附带更现代的 JavaScript-in-PDF 参考?
2021-05-03 06:18:31
哇...那个 API 参考比我发现的要好得多。谢谢你。太糟糕了,虽然没有标准:(我可能只需要尝试一些 javascript 并查看支持 javascript 的试验/错误。
2021-05-08 06:18:31

我很确定这是一个 Adob​​e 标准,记住整个 PDF 标准是他们的;尽管现在开放。

对于所有支持它的 PDF 查看器,我的猜测是否定的,因为有些人肯定没有 JS 引擎。我怀疑您能否依赖最新版本的 Acrobat (Reader) 之外的完全支持。所以我想这取决于你如何想象它的使用方式,如果主要是通过浏览器显示,那么大部分市场都是由 Acrobat(阅读器)和 Chrome 的内置查看器来满足的——敢说有关于 Chrome 的 PDF 的文档查看器完全支持JS。

Acrobat JavaScript 文档的综合位置是 Acrobat SDK,可以从 Adob​​e 网站下载。在文档部分,您将找到使用 Acrobat JavaScript 所需的所有材料。

要完成文档,您还可以获取 JavaScript 核心的规范。我为此选择的书是 O'Reilly 出版的 David Flanagan 所著的“JavaScript,权威指南”。

包含 Javascript 参考的 SDK 下载链接adobe.com/devnet/acrobat.html
2021-04-19 06:18:31
我猜..... 让 Adob​​e 将他们所有的 JS 文档放在 Google 无法帮助您搜索的地方?......我现在很困惑......
2021-05-13 06:18:31

寻找泰德·帕多瓦( Ted Padova) 的多年来,他撰写了一系列名为The Acrobat PDF {5,6,7,8,9...} Bible的书籍它们在 PDF 文件中包含有关 JavaScript 的章节。它们不像这里列出的参考文档那么全面,但在书中有一些在上下文中讨论的实际用例。

在 2010 年的一次会议上,一位计算机科学家还进行了一次关于破解 PDF 文件 的演讲。演讲的公告页面上的幻灯片链接已失效,但 Google 是您的朋友。不过,这个演讲并不完全是关于 JavaScript 的。YouTube 视频- JavaScript 从 06:00 开始。

谢谢您的回答。我去找那本书。我认为在上下文中查看示例会很有用。
2021-04-22 06:18:31
@Sam 更新了我刚刚想起的另外 1 件事的答案。
2021-05-05 06:18:31

在这里您可以找到“Adobe Acrobat Forms JavaScript Object Specification Version 4.0”

修订日期:1999 年 1 月 27 日

它已经很旧了,但仍然很有用。