posts - 495,comments - 227,trackbacks - 0
http://yanghack.javaeye.com/blog/480516
最近用FlashPaper2.2与java 的做了个web程序,
功能就是,用户上传的office文档PDF文档,上传后转换成swf在网页上显示
DOS命令很好执行
FlashPrinter.exe "C:\aa.DOC" -o "C:\aa.DOC.swf"
java里就用
Process process = Runtime.getRuntime().exec(cmd)
但是用process.waitFor();容易造成锁死,不建议使用
经过分析,可能是由于office版本过高
用office2007,能正常转换doc,ppt,pptx这几个.
如果在程序里,转换其他个比如docx,xls..就造成锁死了
所以还是不让它转吧,建议试试office2003.
pdf文件,由于装的是Adobe Reader 9,
服务器必须打开一个Adobe Reader 9的空窗口然后程序才能正常运转
建议试试低版本的Adobe Reader.
服务器Tomcat上如果总是转换失败,应该检查这些地方
FlashPrinter打印机"打印测试页"一下,不行就重装这个
Runtime.getRuntime().exec(cmd)
cmd命令前面不要加 "cmd /c ",
路径:URL的是/,DOS命令是\,这两斜杠千万别搞错
Tomcat编码,可能中文文件名的文件不能转换.
不行就把打印机的权限什么用户都钩上,我就这么干的
有什么更好的解决办法告我说啊...


--------------------------------------

2010.03.22 补充:
以前写的东西不详细,想再补充一点.

在web中想要用FlashPrinter转换文档的话,用cmd这种方式简单.
但是,如果2条命令同时执行就会卡死了,建议写一个打印任务列队,新任务不直接打印.
想要打印机正常,就要让FlashPrinter打印机成为默认打印机,并且不受远程桌面会话影响.
连接远程桌面,会产生一个打印机会话,并自动设置成默认.
此时将失去打印功能,需要保持Macromedia FlashPaper为默认打印机,并不收会话影响.
如此一来,可正常打印所有office文档

导入注册表重启生效:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"fForceClientLptDef"=dword:00000001
"fInheritAutoClient"=dword:00000000
"fDisableCpm"=dword:00000001
"fAutoClientLpts"=dword:00000001




谷歌的开源项目
http://code.google.com/p/masterlrg/source/browse/ComponentsLearning/src/PaperLoad/FlashPaperLoader.as?r=44
posted on 2010-04-03 23:16 SIMONE 阅读(2682) 评论(2)  编辑  收藏 所属分类: flash

FeedBack:
# re: FlashPaper2.2在jsp里
2011-07-30 21:51 | 李彬
你写的东西我能看懂,但是出的错误是这样的
他总是执行很慢,而且一直处于打印状态,就是不出来结果
平常把 txt 文件直接倒进去 ,在flashpaper 中就能直接显示的
现在用程序 就搞不出来,也没错
你要有空的话 帮我看看阿 ,我想把那个 我写的例子 发给你,帮我改改错误
这是我的 电话 15225016027 ,你给我发个短信,我给你回电话,然后
把项目通过 QQ 邮箱 发给你 好不好?  回复  更多评论
  
# re: FlashPaper2.2在jsp里
2012-06-01 12:21 | Clement
我也遇到相同的问题。在服务器上的MyEclipse发布项目,打印正常。换成自动启动服务的tomcat下,就不能打印了。用的是同一个tomcat, 环境一模一样。@李彬
  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: