红花还需绿叶衬脚本给PDF装颗智慧“芯”(3)

来源 :电脑爱好者 | 被引量 : 0次 | 上传用户:cheayu123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  Adobe的Acrobat PDF,在出版、办公、金融、建筑、创意、制造业等不同专业领域都有广泛应用,所以基于它的插件开发虽然不如Office软件那样普遍,但是却有着很高的含金量:因为它所涉及领域的人群,掏钱购买插件的意愿比较高。今天我们就来聊聊Acrobat PDF的插件开发(以下统称为PDF插件)。
  
  【芝麻开门】PDF脚本和插件
  开发PDF插件,需要从Adobe网站下载相应的开发工具箱(http://www.adobe.com/devnet/acrobat/?view=downloads),它其实就是一个压缩包,解压后会发现里面有很多模板程序及工具,而且还包含了详细的说明文档。
  PDF商业插件,简单从形式上来说,是那些安装在Acrobat或者Reader的plug_ins子目录中的API文件。这些API文件,说白了就是些Windows的动态链接库文件(DLL)。
  商业插件通过VC、VB、Delphi之类的专业开发工具来完成,技术门槛相对较高,一般读者暂时可能无法接受。所以今天我们主要介绍PDF脚本的开发(即Acrobat JavaScript),它的语法结构与应用于浏览器中的JavaScript几乎一样,只不过多了一些对PDF对象等的特殊调用,所以初学者比较容易接受。而且Acrobat JavaScript对PDF对象调用等方法,对以后学习API插件开发同样有帮助。
  
  网络大补贴:
  工欲善其事,必先利其器。开发PDF插件之前应先对Acrobat这款软件有所掌握,另外对它的对象模型等与开发相关的知识也要有了解。
  ★Acrobat9试用版下载:http://www.adobe.com/cn/products/acrobatpro/tryout.html
  ★Acrobat9标准版中文帮助:http://tinyurl.com/y8kcs7f
  ★Acrobat9中文帮助PDF版:http://tinyurl.com/y8rbktr
  ★Acrobat开发中心:http://www.adobe.com/devnet/acrobat
  
  人物专访
  有些程序员对插件开发不以为然,不过我个人对它情有独钟,因为我编程生涯的第一桶金,与插件开发颇有关联。
  我刚参加工作时,曾私下接过一个外单,是为某家杂志制作全年的全文检索电子书。这家杂志原来用的是专业的数据库检索系统,制作成本很高,一张600MB的全文检索光盘,制作公司要价3万多元。我只要8000元就拿下了这个项目,主要因为我是个人业余制作,没有什么硬成本,另外Acrobat PDF自身的全文检索功能已经很强大,我只是通过它内嵌的Acrobat JavaScript支持开发出一些小插件,让它自身的PDF全文检索更方便调用而已,开发成本也就低了很多。
  也是因为这一成功案例,我一直关注着PDF插件开发的发展。其实PDF相关的开发,有着巨大的商机,比如基于Foxit Reader(一款第三方PDF阅读器:http://www.fuxinsoftware.com.cn/)延伸出的一系列产品,可以支撑起一家软件公司;再比如国外许多PDF插件产品,售价都近百甚至好几百美元,比一般的软件都贵。
  项目简介
  本例主要为让大家熟悉Acrobat JavaScript的开发流程,所以实现的功能相对简单:为已经制作好的静态PDF相册添加动态效果,PDF相册一打开就自动全屏显示,翻页时显示不同的动态效果(如马赛克、百叶窗效果等)。本例在Acrobat CS3下实现。
  
  编写代码
  在Acrobat中制作好PDF静态相册后,点击菜单“高级→文档处理→文档级JavaScript”,打开脚本编辑器,输入脚本名称(需用英文),然后点击“添加”,在弹出的窗口中,清除原有内容后填写如下代码(见图2):
  this.setPageTransitions({ aTrans: [-1, "Random", 1] } );
  app.fs.isFullScreen=true;
  点击“确定→关闭”返回,按Ctrl+S键保存文档。上面代码中,第一行设置文档翻页特效,第二行设置文档打开后自动全屏,使得相册看起来更专业。
  
  给自己的脚本加把锁
  上面的代码比较简单,没有保护的必要,可一旦你写出了具有商业价值的脚本代码时,肯定不想随便让别人看到,那不妨将它们“锁”起来(此方法仅适用文档内脚本)。
  在Acrobat中,点击菜单“文件→属性”,在属性窗口中切换到“安全性”选项卡,安全性方法选择“口令安全性”,又会弹出如图3所示窗口。勾选“限制文档编辑和打印。改变这些许可设置需要口令”,再设置许可口令,确定后保存文档即可。
  使用Reader的用户是无法查看到PDF中的密码的,其他人即使也有Acrobat,如果你经过了以上加密处理,他们打开PDF文档后,会发现“编辑全部JavaScript”、“文档级JavaScript”、“设置文档动作”等命令是灰色不可用状态的,也就无法查看代码了。
  
  【任务实战二】智能编制PDF网址簿
  
  给PDF插入脚本,如同添加了智慧“芯”,更智能地处理任务。比如网上不少的PDF电子书中,包含大量网址资源,如果想提取出来收藏,手工操作未免太麻烦,通过脚本则可以一键完成。
  启动Acrobat,点击菜单“高级→文档处理→批处理”打开批处理序列窗口,单击“新建序列”按钮,为序列取一个名称,如“提取网址”,确定后打开如图4所示窗口。单击“选择命令”,然后选中“执行JavaScript”,将其添加到右侧窗格,再点击“编辑”,在打开的编辑器中输入脚本代码,连续“确定”返回即可。
  详细脚本代码参见http://work.newhua.com/cfan/201009/ExtraURL.zip,值得说明的是,其中:
  var reMatch=/((((ht|f)tp(s?))\:\/\/)|(www.))([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?/g;
  是通过正则表达式定义要从文档中提取的内容,这里为带http、https、ftp、www等特征的网址字符串。修改此变量,可达到提取文档中其他任意字符串的目的。接下来的ExtractFromDocument()函数是提取网址的具体实现,有兴趣的朋友可以参考源代码(内附注释)。
  它的使用很简单:同上打开批处理序列窗口,选中刚刚创建的脚本,单击“运行序列”,按提示选择要提取网址的PDF文档,确定即可。很快会在源文件同目录下生成一个类似“CFan_中提取出的网址.pdf”文件,效果如图5示。
  【高手进阶】
  下面给大家推荐一些不错的PDF插件资源网站。因为PDF插件开发在国内还没形成很大规模,而在国外市场就成熟多了,相应的国外资源也就多一些。
  ★Acrobat脚本实例教程:http://tinyurl.com/y7ew9mq
  ★Acrobat脚本讨论:http://tinyurl.com/2ua94r
  ★中文PDF交流社区:http://www.chinapdf.com
  ★PDF插件开发的新闻、文章等资源网站:http://www.pdfzone.com
  ★PDF新闻、事件、软件等资源的网站:http://www.planetpdf.com
其他文献
摘 要:自我国施行了新教改,社会大众愈发看重幼儿园学前教育的挫折教育,因为此类教育模式不仅可以大幅度提高幼儿的心理健康与身心发展,而且还可以让幼儿在挫折之中掌握解决困难的有效手段。不过,对于幼儿园小班幼儿挫折教育中的工作尺度,则需要幼教从业者用心进行把控。因此缘故,笔者根据自身多年相关的幼教工作实践,就幼儿园对小班幼儿实施挫折教育的优化策略展开深入的分析与探讨。  关键词:幼儿园小班;学前教育;挫
期刊
Q我的电脑采用了Intel酷睿2四核Q6600处理器,华硕Blitz Extreme的主板,使用Windows XP操作系统,重新启动计算机后停止响应,不能重新启动,请问这是什么问题造成的?    A这是由于Windows XP操作系统发送了错误屏蔽中断造成的,建议你安装微软提供的针对该故障的补丁程序,一般问题可以解决。下载地址http://support.microsoft.com/kb/958
期刊
摘 要:小学音乐是学生们综合能力得以培养的重要途径之一。音乐可以让学生们的艺术审美以及相关的音乐技能被激发出来。教师在进行小学音乐知识教学的过程中可以采取创新的教学方法,对相关的教学理念、专业技能以及观摩实践和教学反思进行优化整合。这是小学音乐在进行课程体系建立之前的重要前提,教师应认真对待这项工作。小学音乐的主要教学方法需要教师进行充分的研究,对于基础知识的教学方法可以适当借鉴但是也应该有适度的
期刊
近期安全综述  据瑞星“云安全”系统统计,2010年3月下半月瑞星共截获了183万个挂马网址。瑞星反病毒专家介绍,近期瑞星公司截获了一个首页劫持木马病毒“Trojan.Win32.StartPage.pgg”,这是一个恶意修改IE主页的病毒,病毒将图标和文件名修改为搜索引擎图标,放在色情视频网站中引诱用户点击。当病毒运行后,会在桌面产生大量指向恶意网址的快捷方式,并创建虚假的IE图标,使用户直接访
期刊
摘 要:随着新课程教育标准的颁布和实行,几年来各个课程的教育慢慢开始向着更加注重实践教学的方向前进。初中社会包括历史和政治两大课系,这两个既有联系又有区别的课程如何能够使学生将知识点熟记的情况下,丰富课堂气氛和加强学生融会贯通能力的双管齐下,是我们有待去探索的问题。本文就是针对初中社会教学在新课程背景下的概述。  关键词:新课程;社会;教学;历史与政治  新课程改革的颁布已经经历了若干年,各个学校
期刊
摘 要:初中历史与社会是初中教育课程体系的重要组成部分,对初中学生正确历史观的确立,有着重要的意义;对学生正确看待历史发展和变迁,也有着重要的帮助。历史教师应该立足于学生发展能力的出发点,从学生未来成长和发展的角度出发,在教学中制定各种有效的教学策略,帮助学生在获取历史和社会知识的同时,其他综合能力也得到相应的提高。  1 专题教学,培养学生整合能力  1.1 现行初中历史与社会教材的编排的优势与
期刊
摘 要:阅读是学习的基础,课外阅读是基于课堂之外的阅读形式,是语文教学中的重要组成部分,是课内阅读的拓展与延伸。对于生活经验比较少的小学生而言,课外阅读是丰富其阅历,积累素材,提升其写作水平的良方。那么如何进行课外阅读指导,提升小学语文课外阅读效率呢?  关键词:小学语文;课外阅读;教学  课外阅读是指学生在课外的各种独立的阅读活动,它是课堂阅读的继续与扩展。小学语文课外阅读教学中,我们教师应注重
期刊
摘 要:20世纪初,中国教育体制向德智体美劳五个方向全面发展。体育教育作为新时代教育中不可缺少的一环,在我们的学习和生活中扮演着极其重要的角色。众所周知,体育课是唯一一门无差别的从小学一路陪伴我们进入大学的科目,他对我们的意义不再仅仅只是成绩单上的数字,而是成为了一种精神文化,一种力量源泉。  小学的体育教育主要培养孩子的体育热情和参与度,各种体育活动都相对灵活,氛围轻松,考核的要求也不是很高。到
期刊
要问好吃不贵的美食在何方?必然是大学食堂。再问哪个食堂的饭菜最香?网络点评帮你忙,吃遍全城美食不是梦想!Ready?Go!    最有人气点评:大众点评网  登录http://dianping.com,首先选择城市,然后输入关键字“食堂”,高关注度食堂呈现眼前。特点:口味、环境、服务分别有得分,旁边还有电子地图。人均消费多为“个位数”,诱人!  *清华大学第十四学生食堂(丁香园):因为是圆形构造,
期刊
摘 要:人在面对某些事物时,兴趣会激发人产生进行探究的意识,兴趣会促使人对这些事物引起更多的注意,并且产生追求的心理,进而领会它、研究它,希望掌握它,这就能够给人未来进行这个工作打下比较坚实的基础。初中学生如果能对语文学科产生比较大的兴趣,就能针对语文学习进行注意与探究,对接触到的语文知识产生深刻的印象,进而能够使学生的语文学习效率得到提高。  关键词:初中语文;兴趣;培养  学习兴趣是推动学生学
期刊