2011-06-01 77 views
0

我使用這段代碼來創建一個MS Word文檔;不過,我想讓它在風景中。有人知道如何去做嗎?謝謝使用PHP在橫向創建一個Word文檔

$fp = fopen('test.doc', 'w+'); 

$str = "<html><body>Content</body></html>"; 

fwrite($fp, $str); 
fclose($fp); 
+0

字真的可以使用HTML作爲內部格式? Oo我無法想象,這是創建Word文檔的正確方法。 – KingCrunch 2011-06-01 09:15:27

+1

@KingCrunch - 許多Web開發人員的工作原理是,計算機使用的每種文件格式實際上都是HTML(或偶爾是CSV),並且不理解__real__ Word .doc文檔是BIFF格式的二進制文件。除非是抱怨Microsoft使用無證的格式(現在也是錯誤的信念) – 2011-06-01 09:18:19

+1

我知道我們可以用COM對象或Open Office模板創建一個Word,但我只有一個Linux共享主機,而且我無法對服務器執行任何操作。所以我選擇這個解決方案。如果你有任何解決方案來創建一個真正的單詞,我非常感謝。 – YNhat 2011-06-02 00:47:27

回答

0

據我所知,你的代碼不應該工作。 MS Word生成二進制文件,因此您需要使用COM對象。

下面是一個例子:

<?php 
$word = new COM("word.application") or die ("Could not initialise MS Word object."); 
$word->Documents->Open(realpath("Sample.doc")); 

// Extract content. 
$content = (string) $word->ActiveDocument->Content; 

echo $content; 

$word->ActiveDocument->Close(false); 

$word->Quit(); 
$word = null; 
unset($word); 

的例子就是從這裏取:http://www.developertutorials.com/tutorials/php/extracting-text-from-word-documents-via-php-and-com-81/

+0

我的代碼不會生成真正的單詞文檔,但它可以工作。但是,我無法控制它的屬性。這是我的問題。我認爲你的代碼需要一個Windows,因爲它使用COM。如果我錯了,請糾正我。 – YNhat 2011-06-02 00:55:05

+0

是的,只在Windows上顯然。 http://www.php.net/manual/en/com.requirements.php – dierre 2011-06-02 08:27:14