Acrobat JavaScript简介

作为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,并带有您习惯于使用DateRegExp所有顶级对象。 您可以使用闭包,并且函数可以作为对象传递。 可以通过名称或点符号来访问对象属性。 app.languageapp["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/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值