【发布时间】:2011-09-08 08:02:11
【问题描述】:
我们使用 PHP 的 application.word COM 对象在后台将 Word 文件转换为 PDF。
下面的代码效果很好:
$this->com = new COM('word.application');
$this->com->Visible = false;
$this->com->DisplayAlerts = false;
$this->com->Documents->Open($from /* Filename */, false /* ConfirmConversions */,
true /* ReadOnly */, false /* AddToRecentFiles */,
'' /* PasswordDocument */, '' /* PasswordTemplate */,
false /* Revert */, '' /* WritePasswordDocument */,
'' /* WritePasswordTemplate */, 0 /* Format */,
NULL /* Encoding */, true /* Visible */,
false /* OpenAndRepair */, NULL /* DocumentDirection */,
true /* NoEncodingDialog */, '' /* XMLTransform */);
(为简洁起见,省略了异常处理)
但是,如果 word 无法识别文件类型,它会打开一个询问格式的对话框,从而阻止我们的 php 脚本。据我了解这里的文档:
设置为 false 的第二个参数应该禁止此对话框。
有没有什么办法可以抑制这个对话框并使 word 无法打开文件,例如异常?
我们在虚拟机的服务器上使用 Word 2007,脚本由 Web 应用程序触发,因此简单地手动按下对话框上的取消不是最佳选择...
编辑:按照第一个答案中的建议更改为 com call。还是不行。
【问题讨论】:
标签: php pdf com ms-word automation