在 PDF 文件中使用 JavaScript 代码的文档 [关闭]

Posted

技术标签:

【中文标题】在 PDF 文件中使用 JavaScript 代码的文档 [关闭]【英文标题】:Documentation for using JavaScript code inside a PDF file [closed] 【发布时间】:2012-03-02 10:50:24 【问题描述】:

在哪里可以找到关于在 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,但这仅包含一些小的 sn-ps 代码。没有什么超级有用的。

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

注意:

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

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

【问题讨论】:

This can be used for tracking! 【参考方案1】:

您可能正在寻找JavaScript™ for Acrobat® API Reference。

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

编辑:

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

Acrobat Developer Center 包含指向不同版本文档的链接。来自 Acrobat DC SDK 的Current version of JavaScript reference 也可以在此处获得。

【讨论】:

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

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

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

【讨论】:

【参考方案3】:

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

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

【讨论】:

链接到 SDK 下载,包括 Javascript 参考 adobe.com/devnet/acrobat.html 我猜.....让 Adob​​e 将他们所有的 JS 文档放在 Google 无法帮助您搜索的地方? ...我现在很困惑...【参考方案4】:

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

还有一位计算机科学家在 2010 年的一次会议上发表了关于破解 PDF 文件的演讲。 link on the talk's announcement-page to the slides 已死,但谷歌是你的朋友-。不过,谈话不仅仅针对 JavaScript。 YouTube video - JavaScript 从 06:00 开始。

【讨论】:

感谢您的回答。我去找书。我认为在上下文中查看示例会很有用。 @Sam 更新了我刚刚记得的另外 1 件事的答案。【参考方案5】:

Here你可以找到“Adobe Acrobat Forms JavaScript Object Specification Version 4.0”

修订日期:1999 年 1 月 27 日

已经很老了,但还是有用的。

【讨论】:

以上是关于在 PDF 文件中使用 JavaScript 代码的文档 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用javascript下载时PDF为空白

使用javascript下载时PDF为空白

如何使用js自动下载PDF?

是否可以在python中将包含JavaScript图表的html文件转换为PDF?

使用ABAP和JavaScript代码生成PDF文件的几种方式

将 Acrobat JavaScript 代码添加到 pdf 导出