我正在爲需要預先存在的HTML頁面的客戶端編寫一個PHP應用程序,該頁面已經創建爲「導出」爲Word文件。簡單地說,這是它是如何做:使用HTML文件作爲Word文件時的新行格式?
if (isset($_GET["word"])) {
header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment;Filename=some_file.doc");
}
這當然會,如果一個「字」標誌位於頁面查詢字符串調用,如:
whateverpage.php?somequery=string&someother=test&word
不管怎麼說,我的問題是,儘管這個HTML頁面實際上有多複雜,但它通過改變內容類型實際上很好地轉換爲格式良好的Word文件。我遇到的唯一問題是新的換行符(HTML <br>標籤)格式不正確。例如: - 在我的HTML,如果我有東西,看起來像
Aug 01
與線之間的BR,它最終總是顯示
Aug 01在生成的Word文件
。
我已經做了一些谷歌搜索和大量的測試與其他各種東西,但似乎沒有什麼格式正確的簡單的新行。
有誰知道如何正確格式化從HTML文件創建的Word文件中的新行字符?
任何幫助是極大的讚賞。
編輯:
我已經試過包裹所述線路在P標籤,鼻翼:
<p>Aug<br>01</p>
沒有運氣。我還嘗試製作基本文檔和Word,將其保存爲HTML文件並查看生成的(即草率的)Word HTML源代碼。那裏有一些我認爲可能會給我提供線索的CSS,但我嘗試了一切,似乎沒有任何東西可以正常工作。 Word似乎添加了一個'MsoNormal'類來包裝段落,我試圖添加這個,但它只是刪除任何字體格式,我有和沒有幫助。這裏是CSS Word創建自己:
p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin-top:0cm; margin-right:0cm; margin-bottom:10.0pt; margin-left:0cm; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-fareast-language:EN-US;}
好吧,我只是試過這個,但它仍然是在Word文件中的輸出。我會編輯我的原始問題,以表明我以前嘗試過的內容。 儘管感謝您的協助。 – theotherlight
對不起,我忍不住。也許你應該嘗試研究一個Word文件的工作方式以及你的瀏覽器如何渲染Word文檔。 – Eddie
對於它的價值,Word文件不會在瀏覽器中呈現。切換內容類型會強制HTML文件在Microsoft Word中呈現(彈出「打開/另存爲」對話框),這導致我相信它不應該與瀏覽器呈現有關? – theotherlight