作为JavaScript的爱好者,我总是很感兴趣地了解JavaScript在非浏览器平台上的工作方式。 您可能没有意识到这一点,但是Adobe Acrobat具有完整的JavaScript API,您可以使用它向PDF文件添加交互性。 因此,我认为应该从Web开发人员的角度研究Acrobat中提供的JavaScript支持。

PDF文件中的JavaScript用于与书签,注释,链接,按钮,自定义对话框,嵌入式媒体,表单,搜索等进行交互。 它可以在应用程序级别和批处理操作中使用,但也可以与PDF文件一起保存。 将其保存在PDF文件中后,兼容的查看器应用程序便可以运行JavaScript。

真的是JavaScript吗?

在Web开发中,我们对JavaScript的使用与浏览器的DOM API交织在一起,我们通常不将两者分开。 Acrobat 9 是最近发布的 Adobe Creative Suite 4 的大多数版本的组件,它支持JavaScript 1.7,并带有您习惯于使用 Date RegExp 所有顶级对象。 您可以使用闭包,并且函数可以作为对象传递。 可以通过名称或点符号来访问对象属性。 app.language app["language"] 都引用相同的属性。

Acrobat拥有自己的文档API和各种支持对象。 我发现的第一个奇怪之处是 this 关键字始终引用一个 Doc 对象,该对象是对当前PDF文档的引用。 类似于浏览器中的 window 对象。 即使在 button 对象的 MouseUp 事件的上下文中, this 仍然是对当前文档的引用。 虽然, Function 对象的 apply 方法仍然可以用来更改 this 关键字所指的内容。

Acrobat JavaScript API

API使用将参数传递给JavaScript库中流行的函数的命名参数样式。 每个API函数都可以将键/值对的数组作为单个参数。 例如,我们调用 app.alert 函数(与浏览器 alert 功能大致相同),如下所示:

var result = app.alert({
  cMsg: "Are you going to click it again?",
  cTitle: "You've clicked the Big Red Button!",
  nIcon: 2,
  nType: 2
 

cMsgcTitle设置警报对话框消息和标题。 显示的图标和按钮由最后两个值指定。 指定的按钮还确定可能的返回值。 我们将nType指定为2 ,因此对话框将显示“是”和“否”按钮,如果单击“否”,则返回3如果单击“是”,则返回4

事件处理是使用操作实现的。 例如,如果将上述对app.alert调用app.alert在名为getChoice的函数中,则可以将其设置为单击按钮时被调用:

button.setAction("MouseUp", "getChoice()");

程序员功能

Acrobat有一个带有交互式控制台的JavaScript调试器,但是JavaScript编辑器有很多不足之处。 您会在其中输入文本的纯文本框。 没有语法突出显示,没有代码提示,没有代码完成-就像使用Windows记事本进行编辑一样,由于没有撤消操作,操作变得更糟。 幸好您可以使用外部编辑器。 它确实具有一个赎回功能,即语法检查器。 如果JavaScript包含语法错误,则将无法保存。 我希望更多的文本编辑器具有此功能。

进阶JavaScript

Acrobat中的JavaScript具有许多您无法在浏览器中找到的功能。 ADBC对象提供对数据库的直接访问,SOAP对象允许使用SOAP协议访问Web服务。 用于Acrobat的JavaScript具有读取和写入文件和数据流以及JavaScript XML处理扩展E4X的功能。 但是,这些功能大多数是供企业使用,而不是一般的Web使用,因为某些功能需要Acrobat Professional,而某些功能则需要在Adobe Reader中提高安全级别。

兼容的查看应用程序包括Adobe Acrobat和Adobe Reader。 API的一些更高级的部分仅适用于Acrobat Professional。 兼容的创作应用程序包括Adobe Acrobat Professional和开源桌面发布应用程序Scribus 。 可以在其他PDF开发人员库中找到JavaScript支持,例如.NET的PDFDoc Scout和Java的JPedaliText

没有这些基本文档,您将一无所获: Acrobat API参考JavaScript使用JavaScript开发Acrobat应用程序 。 这些文档和其他资源都可以在JavaScript for Acrobat网页上找到。 不幸的是,您可能会在这里发现一些过时的信息。 您还可以在Acrobat 9 SDK联机帮助站点中找到相同的信息。

From: https://www.sitepoint.com/an-introduction-to-javascript-for-acrobat/

作为一个JavaScript的球迷,我一直有兴趣看到的JavaScript是如何工作的非浏览器平台。 你可能不知道这一点,但使用Adobe Acrobat有一个完整的JavaScript API,使用它可以添加交互式PDF文件。 所以,我想我会调查在Acrobat提供的JavaScript支持从一个web开发人员的角度。 JavaScript的PDF文件中是用来使用书签,注释,链接按钮,自定义...
Take your PDF forms to the next level. In this book, you’ll learn various ways to further improve your PDF Forms using simple JavaScript coding. You’ll also discover how a few lines of code can speed up your workflow when working with multiple PDFs in Action Wizard. Enhancing Adobe Acrobat DC Forms with JavaScript covers up-to-date, real working examples that you can easily download, practice with, and edit to suit your own projects. Using screenshots from Adobe Acrobat DC, users or previous versions will also be able to utilize these techniques. This book also shows workarounds and solutions to various form issues you might encounter. Feel empowered by it and improve your PDF documents! JavaScript has been a part of Adobe Acrobat for many versions. However, few people use its features and focus mainly on using the basic form properties, never delving deeper into Acrobat’s full capabilities. While information on the web can be helpful, if you don’t know enough about how to use JavaScript in Acrobat you will be left with poor results. JavaScript can be difficult to learn, but it does not need to be scary. This book explains it in simple steps at a beginner to intermediate level so you can take full advantage of Acrobat’s capabilities in your own projects. What You’ll Learn • Create calculations, rating forms, and QR code stamps using the form elements • Explore simplified field notation and basic JavaScript for Acrobat • Work with buttons that can be used for navigation • Utilize complex forms that include drop down and list boxes in combination with other form fields • Work with Action Wizard and JavaScript • Improve form navigation and printing of forms • Add various types of alerts and custom validations to improve client-entered-data
JavaScript(JS)是一种具有一流功能的轻量级,解释性或即时编译的编程语言。 尽管它是最著名的网页脚本语言,但许多非浏览器环境也使用它,例如Node.js,Apache CouchDB和Adobe AcrobatJavaScript是基于原型的,多范式,单线程的动态语言,支持面向对象,命令式和声明式(例如,函数式编程)样式。 了解有关JavaScript的更多信息。 本节专门讨论JavaScript语言本身,而不是特定于网页或其他宿主环境的部分。 有关网页的API特定信息,请参阅Web API和DOM。 JavaScript的标准是ECMAScript。 截至2012年,所有现代浏览器均完全支持ECMAScript 5.1。 较旧的浏览器至少支持ECMAScript3。2015年6月17日,ECMA International发布了ECMAScript的第六个主要版本,正式
出处:www.xgpdf.com       我们来看一下Acrobat Javascript,作为Acrobat开发世界中所熟知的,AcroJS 是一种精选的脚本语言(实际上只有这样一个脚本语言,所谓选择也就不是选择了)。     更精确一点说,Acrobat Javascript是一种包含在Acrobat标准版和专业版内部的一种程序语言,其在生命中独
https://blog.csdn.net/fujiang3673/article/details/80065862 1. 下载adobe reader 软件,并在 IE 浏览器中启用 设置 -> 管理加载项 -> 启用 Adobe PDF Reader 2. Jsp 文件中 HTML 代码如下 <input type="button" value="打...