2012-08-16 128 views
0

使用说明here,我可以使用Web服务器上的命令行成功打印Word文档。例如:使用exec()打印Word文档

"C:/Program Files (x86)/Microsoft Office/Office12/WINWORD.EXE" c:\temp\test.docx /q /n /mFilePrintDefault /mFileExit 

但是我现在想用PHP来运行这个命令。例如:

echo exec('"C:/Program Files (x86)/Microsoft Office/Office12/WINWORD.EXE" c:\temp\test.docx /q /n /mFilePrintDefault /mFileExit'); 

当我通过运行在浏览器中的Web服务器的PHP文件,使用任务管理器,我可以看到WINWORD.EXE * 32个启动和运行,但它保持运行,并且不打印或自行退出。

PHP自然会返回超时错误。命令行方法在15秒内成功运行,所以我不认为时间长度是问题。

+0

使用'COM(“word.application”)',而不是,http://stackoverflow.com/questions/7144023/opening-word-document-with-read-mode-using-php/7144200#7144200 – 2012-08-16 02:33:09

回答

1

尝试

echo exec('"C:/Program Files (x86)/Microsoft Office/Office12/WINWORD.EXE" c:\\temp\\test.docx /q /n /mFilePrintDefault /mFileExit'); 

这可能是由于转义\

+0

谢谢你你的建议。我放弃了它,但没有任何区别。我同意你的看法,问题可能更多的是与没有定位文件有关。你认为路径是相对于PHP脚本或WINWORD.EXE? – Paul 2012-08-16 04:45:35