使用Print2Flash做文档转换[仿百度文库]出现1155错误的解决方法

这篇日志发布时间已经超过一年,许多内容可能已经失效,请读者酌情参考。

前一阵子做了一个学校实验室的选课系统。

提到选课系统就感觉像是学生阶段的练手作品。

确实如此,因为有学生已经做过了,我的学弟做的,使用TP2框架,结果1秒钟被我黑了(哈哈,TP的那个RCE你懂的)。

后来由我接手做这个东西,当然是公司工作交接之前的。

要求除了常规的发布课程,学生选课,课程安排,名单统计等功能外,还要有些额外的特色功能,比如这个要求:教师上传文档(Word、Excel、TXT、PDF)等要求学生可以查看,但是不能下载(按权限可下载),最好能做成百度文库的样子。

其实解决方法比较多,在Linux下面做最稳定,如果时间允许的话甚至可以自己写个转换工具。但是需求方(实验室)要求2周内拿出demo,就比较着急了。 

最终决定使用Print2Flash来做这个转换。当时想法比较多,还想用java写个队列什么的,用来解决大文件上传和文件转换,防止php上传响应时间过长等导致的体验问题,不过时间确实不允许。 

关于Print2Flash,这里是官方网站:http://print2flash.com/,里面有samples以及文档,甚至有SDK,资料相对比较多。所以使用方面我也就不多说了。 

后来在生产环境部署后,上传转换过程中出现了Code: 1155. No application is associated with the specified file for this operation.错误,其论坛也有描述:http://print2flash.com/forum/viewtopic.php?f=6&t=185&p=407&hilit=1155#p407 ,不过08年的事情了而且并没有提出解决方法。Code1155是微软的错误代码,其内容就是文件关联错误,与描述一致。 

百度到一个百度空间,提供了一个修复注册表解决这个问题的方法。我仔细看了下其实是修复了pdf的文件关联到adobe reader上。但经过我的测试并不起作用。 

pdf的文件关联使用的是百度阅读器(其实后来发现不需要pdf关联),doc的文件关联使用的是wps。 

修复了能想到的文件关联还是不行。 

几近崩溃的时候想起来当时用的windows的com接口,之前有方法是直接用ms word的com接口,我猜测p2f也是这样,于是乎装了个ms office 2010,问题解决。 

最后提下使用中需要注意的问题: 

1、官方的samples中已经非常详细,完全可以学会使用,一点英文不是问题。 

2、在使用php创建p2f对象时候,可以使用try...catch来避免致命错误,并可以提供exception详细的错误信息。 

3、Print2Flash本身可以选择模板样式,可以选择性显示logo、搜索等按钮。同时如果使用的是注册版,可以在接口中直接重新定义,更加灵活(貌似1K多一个license)。当到期后可以选择重新安装来续期。。。。 


4、Print2Flash要使用server模式。填写域或计算机/用户名,密码来确认服务启动身份。

(图片丢失。。。)

(图片丢失。。。)

当红色的“Not installed”变成绿色的“Installed”就说明安装完毕了。 


6、附上使用之后的效果。

(图片丢失。。。)

点击查看大图:)

留言交流

没有评论
点击换图