在告诉你这个问题之前,我将向你介绍我的解决方案:
在Windows上,我有一个php服务器(Wamp服务器),它根据用户条目满足.rtf模板。基本上这是关于一家工业公司的质量,用户描述他自己,然后描述问题。我用一个特殊名称保存这个新的.rtf文件:基本上是遇到问题的类型,然后是一个id。 此.rtf文件在服务器端用于生成pdf文件(始终是服务器端)。我找到了一个用pdf转换我的.rtf文件的java代码,因为我打印了.rtf文件,就像服务器上的默认打印机是虚拟打印机,pdfCreator,pdf是在特定文件夹上创建的。服务器将使用pdf将自动电子邮件发送回客户端,另一个用于发送质量信息。
我有一个名为Printer.java的java类,它包含在主
上 Desktop.getDesktop().print(new File(args[0]));
被try catch包围。
这个java代码在命令行上运行得很好,但是当我试图通过我的php服务器运行它时:
exec("java -cp C:\\wamp\\www\\retour\\printer\\printer\\build\\classes Printer C:\\wamp\\www\\retour\\reparation_TB2015000001.doc");
它不起作用,因为窗口提示和在php服务器(显然)你无法打开一个窗口。当你用一个rtf文件调用Desktop.getDesktop()。print()时,就像Microsoft Words定义默认打开这种文件一样,java会尝试打开Words。在通过命令行调用时,单词打开,打印文件然后自动关闭但是当我通过php调用它时,服务器神经停止(无限旋转)在我的页面上,wamp会在90秒后停止该过程。
有什么想法吗?
感谢您的帮助。