2011-05-19 17 views
0

我嘗試使用TBS庫合併文檔,但是當我嘗試使用$tbs->LoadTemplate($path_file)加載MS Word 2007文檔時。它不起作用,我沒有錯誤,但生成的文件已損壞。使用TinyButStrong類加載MS Word 2007文檔並且沒有文件擴展名.docx

我知道問題來自哪裏:$path_file沒有擴展.docx,因爲如果我嘗試使用.docx擴展名加載文件,所有工作都正常。但是我不能用這種方式,我必須使用文件而不擴展(文件被服務器上的用戶上傳並且沒有擴展名存儲,並且我不能改變上傳文件的功能)。

所以我想知道的是我怎樣才能打開.docx而不擴展與TBS?

+0

如果所有文件的.docx然後使用$ TBS-> LoadTemplate或文件存儲與擴展 – 2011-05-19 14:45:29

+0

我($ path_file。 'DOCX'。)無法在.docx文件中存儲文件,如果我使用'$ path_file。'。docx'文件,它將不起作用,因爲這個文件不存在(文件存在是'$ path_file' – Elorfin 2011-05-19 14:49:09

回答

0

問題通過創建帶擴展名文件的臨時文件解決(擴展名存儲在數據庫中)。我使用temp加載模板,並在之後刪除它。

0

這很可能不是一個擴展問題,而是一個格式問題。

.docx是基於XML的文件格式。 TBS可以處理XML文檔中的佔位符,所以一切都很好 - 簡單的搜索和替換就可以工作。

舊的.doc文件格式是專有的。其結構不爲公衆所知,並不基於XML。您不能在XML文檔中搜索和替換內容。

您想要做的事可能不適用於舊的.doc文件。

+0

我試圖打開XML內容明確地使用'$ path_file。'#word/document.xml'',但同樣的問題:它不起作用 – Elorfin 2011-05-19 14:50:20

+0

@Corum好吧,它是一個.docx文件還是不是?如果不是,這沒有任何工作的機會。 – 2011-05-19 14:52:44

+0

是的,但它沒有.docx擴展名 – Elorfin 2011-05-19 14:56:14

相關問題