本文目錄一覽:
如何用 PHP 生成 Word 文檔
PHP 生成 word 文檔,可以考慮以下兩類辦法:
1. 利用 windows 系統提供的 com組件。
這種方法的原理,是使用 php 的調用 com 組件功能函數,如果系統里安裝過 office 的伺服器,就可以調用 word.application 。
2. 利用PHP將內容寫入doc文件之中。
這種方法,難分為兩種,一種是生成mht格式寫入word,另一種是編寫純 HTML 格式寫入word。這種方法是基於 word 對 html 的良好支持。
使用PHPWord導出Word
首先使用composer安裝PHPWord
composer require phpoffice/phpword
創建一個公共方法
function exportWorld()
{
$phpWord = new PhpWord();//實例化對象
$section = $phpWord-addSection();//新增一個空白頁
$section-addText(‘hello’);//添加一個段落文字
$textrun = $section-addTextRun();//普通文字,一個段落,可以在後面追加文字
$textrun-addText(‘world’);//在上面的文字後面添加文字
$textrun-addTextBreak(1);//文字換行,參數表示幾行
$section-addTextBreak(1);//段落直接換行
$section-addPageBreak();//添加換行符
//字體樣式
$fstyle = [
‘name’ =’宋體’, //字體
‘size’ = 12, //大小
‘color’= ‘red’, //顏色
‘bold’ = true’ //加粗
];
//段落樣式
$pstyle = [
‘align’ =’center’, //對齊方式
‘inden’ = 2, //縮進
];
$section-addText(‘how are you!’,$fstyle,$pstyle);//添加自定義文字樣式和段落樣式的
$objWriter = IOFactory::createWriter($phpWord, ‘Word2007’);
header(‘pragma:public’);
header(“Content-Disposition:attachmeng;filename=hello.doc”);//設置導出保存的文件名
$objWriter-save(‘php://output’);
}
以下舉例一些常用的參數配置
設置文檔屬性
$pro = $PHPWord-getProperties();
$pro-setCreator(‘Jankin’); //創建者
$pro-setCompany(‘apple’); //公司
$pro-setTitle(‘computer science’); //標題
$pro-setDescription(‘this is computer science document.’);//描述
$pro-setCategory(‘computer’); //分類
$pro-setLastModifiedBy(‘Jankin’); //最後修改者
$pro-setCreated( mktime(0, 0, 0, 8, 12, 2019) );//創建時間
$pro-setModified( mktime(0, 0, 0, 8, 12, 2010) );//修改時間
$pro-setSubject(‘computer science’);//主題
$pro-setKeywords(‘science’);//關鍵詞
設置常用頁面樣式
$pStyle = [
‘orientation’ = null,//頁面方向,默認null是豎向,landscape是橫向
‘marginTop’ = 800,//上邊距
‘marginLeft’ = 800,//左邊距
‘marginRight’ = 800,//右邊距
‘marginBottom’ = 800,//下邊距
‘borderTopSize’ = 800,//上邊框尺寸
‘borderTopColor’ = ‘red’,//上邊框顏色
‘borderLeftSize’ = 800,//左邊框尺寸
‘borderLeftColor’ = ‘red’,//左邊框顏色
‘borderRightSize’ = 800,//右邊框尺寸
‘borderRightColor’ = ‘red’,//右邊框顏色
‘borderBottomSize’ = 800,//下邊框尺寸
‘borderBottomColor’ = ‘red’,//下邊框顏色
];
設置常用文本樣式
$pStyle = [
‘size’ = 12,//文字大小
‘name’ = ‘宋體’,//字體名稱
‘bold’ = true,//加粗
‘italic’ = true,//斜體
‘Color’ = ‘red’,//顏色
];
原文鏈接 PHPWord導出Word
PHP怎麼導出WORD?
$this-assign(別名’, $this-model-getall($id));
ob_start();
//設置為一個下載類型
header(“Content-type:application/octet-steam”);
//可以請求網頁實體的一個或者多個子範圍欄位
header(“Accept-Ranges:bytes”);
//將查詢結果導出到word
header(“Content-type:application/vnd.ms-excel”);
//把請求所得的內容存為一個文件的時候提供一個默認的文件名
header(“Content-Disposition:filename=名稱-” . date(“YmdHis”) . “.doc”);
//清除緩衝區內容
ob_end_flush();
$this-display(‘路由頁面’);
原創文章,作者:UZWO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/147442.html