2011-06-04 17 views
1

我們使用來自PHP的application.word COM對象在後臺將Word文件轉換爲PDF。Doc to PDF轉換使用php和Word。如何處理未知文件?

這工作得很好用下面的代碼:

$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 */); 

(異常處理冷落爲了簡潔)

但是,如果詞不承認它會打開一個對話框的文件類型詢問格式,阻止我們的PHP腳本。據我瞭解這裏的文檔:

http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.documents.open%28v=Office.11%29.aspx

第二個參數,該參數設置爲false,應取消此對話框。

有沒有什麼辦法可以壓制這個對話框,並且讓單詞無法用例如打開文件失敗。例外?

我們在虛擬機在服務器上使用Word 2007和腳本是由Web應用程序觸發的,所以只需手動按下取消該對話框上是不是最好的選擇...

編輯:改變com呼叫,如第一個答案中的建議。雖然不起作用。

回答

0

我認爲你需要在該頁面上進一步閱讀。您可能需要NoEncodingDialog參數。在你抑制對話之後,我不確定Open是否引發異常。可能是它返回null,所以一定要測試它是哪一個。

+0

不幸的是,它不起作用。我們改變了命令(參見編輯的問題)仍然是同樣的問題... – kbeyer 2011-06-04 11:34:23

相關問題