2011-02-11 40 views
5

我需要將html文件轉換爲doc。 我正在使用html2pdf進行pdf轉換。如何將html轉換爲php中的doc

html2doc有沒有相同類型的庫?

(PS必須是自由/開源)

編輯

馬克愛立許評論後..

這裏有兩個屏幕截圖。 Word文檔不正確對齊。檢查Word文檔中的Y軸滾動。 WORD document, check y scroll..

html file, on browser..

體標籤是: -

<body style="margin-left:350px; margin-right:350px;"> 

我試圖調整,但沒有效果..

EDIT 2

後,馬克·愛立許第二評論我來認識單詞是在像素而不是我n%年齡..我有最後一期的背景..任何幫助..請檢查兩個屏幕截圖。不同的是外框。這是HTML生成的文檔看起來很奇怪。

Original word file

html generated doc file

+0

Microsoft Word可以在不進行任何轉換的情況下閱讀HTML。只需用.doc結束文件名並完成即可。 –

+0

@Mark Eirich它沒有以正確的方式工作..檢查編輯部分... –

+0

@piemesons:悲傷。我沒有太多的Word經驗。但是,試試這個(1)在身體上設置一個寬度,(2)以英寸「in」或釐米「cm」爲單位設置邊距,或者(3)在體內添加一個附加包裝,並在其上設置邊距/寬度;也許Word會忽略身體標記。您也可以嘗試在Word中生成HTML,然後查看它以查看Word在設置頁邊距時所做的操作。 –

回答

1

,以轉化爲Microsoft Word,你需要一個COM啓用服務器(在其上運行Windows和Office)。如果你有這樣的服務器

$word = new COM("word.application") or die ("couldnt create an instance of word"); 

應該工作!詳情請閱讀http://php.net/manual/en/book.com.php

否則您在html2doc中的最佳拍攝地點是html2rtf,可通過庫如http://paggard.com/projects/rtf.generator/http://sourceforge.net/projects/phprtf/來實現。

然後創建RTF後你把它投放到瀏覽器與一個文檔標題

header("Content-type: application/vnd.ms-word"); 
header("Content-Disposition: attachment;Filename=document_name.doc"); 

如果用戶有話那麼這將是開放式處理文件。

還保存一個rtf作爲文檔是好的,單詞將在佈局視圖中打開,沒有任何投訴。 您也可以提供HTML與上面的頭,但問題是,Word將在網頁視圖中打開,這是不好的:)

+4

他要求提供免費/開源的解決方案! –

+0

什麼是「網絡視圖」,爲什麼它不好? (我對Word不太熟悉。) –

+1

phprtf是開源的,既有GPL也有LGPL,它實際上放在了一起,它的天堂與其他php html2rtf庫相比,那些技術上只是html2rtf的名字而已。 – asnyder

5

答案IMO將是否定的,原因有以下幾點:

的Microsoft Office文檔它們的設計方式非常複雜,不僅有格式化文件以及對圖像等對象的引用,它內部還有一個類型的od文件系統來管理這些對象的二進制數據。

讓我報價帶來從我們自己的喬爾:

如果你開始閱讀這些文件與花一個週末寫一個導入Word文件到您的博客系統的一些漂亮的代碼的希望,或者創建Excel格式的電子表格包含了您的個人財務數據,規格的複雜性和長度,可能很快就爲您解決了這個渴望。一個普通程序員可以得出結論,辦公室的二進制文件格式:

  • 是故意混淆
  • 被瘋狂的壞程序員
  • 且無法讀取創建了一個瘋狂的博格心靈的產物或正確創建。

你就錯了所有四項罪名....

閱讀進一步下跌的可能解決方案:

如果你真的想產生奇特的Word格式文件,你最好的選擇是創建一個RTF文件。 Word可以做的所有事情都可以用RTF表示,但它是一種文本格式,而不是二進制文件,所以你可以改變RTF文件中的內容,它仍然可以工作。您可以使用Word中的佔位符創建格式良好的文檔,另存爲RTF,然後使用簡單的文本替換,即時替換佔位符。現在你有一個RTF文檔,每個版本的Word將會快樂地打開。

@source:http://www.joelonsoftware.com/items/2008/02/19.html

您可能會感興趣沿着你的旅程有些鏈接:

雖然,嘗試打開一個Word文件,用WinRAR),可能產生一定的頭一個存檔,然後改變擴展就足夠了,從未嘗試過

+0

爲什麼選擇投票? – RobertPitt

+2

我的想法是因爲有人給出了一個工作解決方案的鏈接,你說這是不可能的。儘管你給了一個很好的討論,但我還是喜歡閱讀喬爾關於此事的意見,所以不值得讚賞。 – ajacian81