在php中如何把html中的內容生成到word文檔中
php把html中的內容生成到word文檔中時不居中顯示問題即會默認按照web視圖進行顯示
php把html中的內容生成到word文檔中時相關樣式不兼容問題
正文
echo <html xmlns:o=urn:schemasmicrosoftcom:office:office xmlns:w=urn:schemasmicrosoftcom:office:word xmlns=/TR/REChtml>
<head>
<meta httpequiv=ContentType content=text/html; charset=utf/>
<xml><w:WordDocument><w:View>Print</w:View></xml>
<script src=includes/js/ztree/js/jqueryminjs type=text/javascript></script>
</head>;
echo <body><table class=table_dayin>
<caption class=table_caption>;
echo 數字化教學系統電子備課稿<br>
<span>學科 <em >語文</em>學校 <em >實驗中學</em></span>
</caption>;
echo </table></body></html>;
ob_start(); //打開緩沖區
header(CacheControl: public);
Header(Contenttype: application/octetstream);
Header(AcceptRanges: bytes);
if (strpos($_SERVER[HTTP_USER_AGENT]MSIE)) {
header(ContentDisposition: attachment; filename=testdoc);
}else if (strpos($_SERVER[HTTP_USER_AGENT]Firefox)) {
Header(ContentDisposition: attachment; filename=testdoc);
} else {
header(ContentDisposition: attachment; filename=testdoc);
}
header(Pragma:nocache);
header(Expires:);
ob_end_flush();//輸出全部內容到浏覽器
注以上代碼部分提供了在php程序文件中生成內容到word文檔中並提供下載功能
針對第個問題下載到本地的word文檔打開後顯示默認按照web視圖進行顯示的問題如下圖
按照默認web視圖顯示
如果按照正常的頁面視圖進行顯示的話需要在頭部添加一行xml標示進行設置(藍色代碼部分)<xml><w:WordDocument><w:View>Print</w:View></xml>添加後下載到本地的word文檔打開後顯示如下圖
針對第三個問題就是有一些樣式不兼容問題比如頂部的大標題下面的相關屬性的下劃線標注顯示
我們在html中的樣式中添加了borderbottom: px solid #;這個樣式(藍色代碼部分)即<em >但是下劃線還是沒有顯示因為在word中不識別如下圖
解決方法就是按照word識別的下標樣式進行更改即<em >更改為這個樣式後即在下載到本地的word文檔打開後就有下劃線標示顯示了
授之於魚不如授之於漁我把我的關於這個解決樣式不兼容的解決方法給大家分享一下
一找個web版在線編輯器然後在裡面隨便輸入幾個文字然後添加下劃線標示
二然後點擊編輯器上面的查看源代碼按鈕可以看到剛才添加的那個下劃線標示的屬性即為textdecoration: underline;而不是html中的樣式標示borderbottom: px solid #;
好了針對以上相關問題就到這裡如有問題請大家提出來我們共同討論解決哈
From:http://tw.wingwit.com/Article/program/PHP/201311/20787.html