初级视频编辑室|草蜢非编论坛|初级视编室|草蜢视频编辑|会声会影|威力导演|电子相册

标题: 在Director中使用pdf文档 [打印本页]

作者: 五星上将    时间: 2014-11-23 21:12
标题: 在Director中使用pdf文档

这个问题的解决方法涉及将来很多类似问题的解决,那就是如何在Director中使用activex技术。很奇怪的是这种技术在Director中的使用并不多,似乎没有受到重视。我最近在制作一张光盘中使用了这种技术。实际证明这种技术很有效,当然你得在程序的开头编写提示用户安装acrobat reader的代码。

  Director很多功能需要通过购买第三方的xtra实现,.通常这些xtra都很贵。比如使用pdf xtra。但是避开购买pdf的xtra,通过使用activex,你完全可以将acrobat reader的所有功能集成到Director中来,因为免费发放的acrobat reader中包含了一个activex控件。在安装完毕后这个控件自动注册。

activex

具体解决方法如下:

  在Director中引入acrobat reader activex控件。

  1.安装acrobat reader(为了自动注册acrobat reader activex控件)。

  2.在Director中引入acrobat reader activex控件。

  选择insert→control→activex。然后在出现的对话框中选择“acrobat control for activex"。

  单击ok按钮后会进入第二个acrobat reader activex属性对话框。

  如果你知道pdf文件的路径,可以直接在该对话框中指定。所指定的路径是绝对路径,在此控件的src属性中不能指定相对路径。

  单击ok按钮后则关闭属性对话框,这个时候你已经将activex控件插入到cast角色库中。将这个刚刚插入的activex控件从角色库中拖放到舞台上,可以尽量拉伸这个sprite直到你希望的大小。

  如果当前的Director电影处于播放状态,你就会看到所指定的pdf出现在舞台上。

  但是这种方法不实用,除非你用硬盘播放你的演示程序。通常我们希望使用相对路径(相对电影文件所在的目录下的子目录中放置pdf文档)。那么你不必在此控件的src属性中设置任何参数,可以使用lingo设置该控件的src属性。具体程序如下:

  在mouseup或enterframe等句柄中编写如下的程序:

  on mouseup me

  sprite(1).src = the moviepath&"mypdf.pdf"--假设acrobat控件放在1通道中

  end

  on exitframe me

  sprite(1).src = the moviepath&"mypdf.pdf"

  end

  将如上的句柄放在acrobat控件所在sprite的sprite脚本中即可

在客户机上可能要先进行判断客户机上有没有安装播放器:
先检测acrobat,如果没有安装就安装,如果安装通过调用打开pdf文件。
global keyList
on mouseUp me
set keyList = ActiveXControlQuery("{CA8A9780-280D-11CF-A24D-444553540000}")
if keyList <> -1 then open "s/AdbeRdr60_chs_full.exe"
else open the moviepath & "pdf\soshow.pdf" with the moviepath &"reader\Reader\AcroRd32.exe"
end if
end

  注:activex对象总是直接写屏的,它的direct to stage总是设置的,这使得它超越Director通道的安排次序,总是在最上面。



作者: gxj000    时间: 2014-11-23 21:53
谢谢楼主提供分享!!
作者: yipingzi    时间: 2015-1-21 11:42
逛一逛,看一看。




欢迎光临 初级视频编辑室|草蜢非编论坛|初级视编室|草蜢视频编辑|会声会影|威力导演|电子相册 (http://shibianshi.com/) Powered by Discuz! X3.2