使用FlashPaper将Office文档转换为SWF
研究了好长一段时间,还是没有研究透:FlashPrinter.Exe的退出代码
3表示成功,但返回3时文件保存不一定成功,至于为什么不能成功保存还不知道,然而重试说不定又好了。反正退出代码为3的文档肯定能转换
1表示文件无法转换(如PPS ppsx) ,2是什么呢,忘记了
259:文档打印时有对话框,或打开时有对话框之类(如有密码、页面尺寸、边距等问题),但259不能转换的文档手工是可以转换的。
由于服务器上文件为压缩文件,还要解决权限问题和不登录运行问题,所以我使用Windows服务 的办法来解决。
思路为:
根据压缩类型(RAR、ZIP)进行解压到临时目录
从临时目录中选择合适格式 、合适大小的文件进行转换
转换时需要注意:
1、文件名中可能有空格,解决办法:加引号
2、文件名中可能有·●等这样的符号,解决办法,文件名使用WCHAR*
3、文档不能解压的情况(如文档不正确、有密码)
4、Office文档不能打开的情况(如有密码,有VBA错误等)
5、FlashPrinter的临时目录的清空。FlashPrinter临时文件可能会很快吃掉一块硬盘,我在测试时一个晚上被吃掉10多个G的硬盘。临时目录位置为:
%sysdrv%\Documents and Settings\Default User\Local Settings\Application Data\Macromedia\Macromedia FlashPaper\Spool